14.3.2 产生备份集
接下来介绍如何形成备份集。
1.产生数据库
按照与前面章节同样的办法,创建新的db_test数据库。创建表t_clusterindextest,生成1001条数据。
执行dbcc log命令查询此时数据库的日志情况如图14-9所示。 — 第1条日志记录的Current LSN:0000001d:0000001a:0001。 — 最后1条日志记录的Current LSN:0000001d:00000137:00a2。
图14-9 产生数据库后的日志
2.产生完整数据库备份
(1)按照图14-10所示界面产生完整数据库备份。
图14-10 产生完整数据库备份
(2)执行dbcc log命令查询数据库的日志情况如图14-11所示。
图14-11 产生完整数据库备份后的日志
— 第1条日志记录的Current LSN:0000001d:00000166:00b3。 — 最后1条日志记录的Current LSN:0000001d:000001b5:0003。
(3)执行restore headeronly命令查询备份集中的日志情况如图14-12所示。
图14-12 产生完整数据库备份后的备份集日志
? — FirstLSN:29000000035800179。 ? — LastLSN:29000000043400001。
3.产生第1次日志备份
(1)执行下列代码删除99条记录。 Delete from db_test.dbo.t_clusterindextest Where t_t_id<=99
光盘代码:\\代码\\1402.sql。
(2)执行dbcc log命令查询数据库的日志情况,如图14-13所示。
图14-13 删除99条数据库后的数据库日志
— 第1条日志记录的Current LSN:0000001d:00000166:00b3。 — 最后1条日志记录的Current LSN:0000001d:000001ba:0067。 (3)按照图14-14所示默认设置备份数据库的日志。
也可以执行下列代码完成同样的功能,注意,这里不是完成尾日志备份,而是产生了截断。
BACKUP LOG [db_test] TO DISK = N'C:\\test2.bak' WITH NOFORMAT, NOINIT,
NAME = N'db_test-事务日志备份', SKIP, NOREWIND, NOUNLOAD, STATS = 10 GO
光盘代码:\\代码\\1403.sql。
(4)执行dbcc log命令查询备份后的数据库日志如图14-15所示。 — 第1条日志记录的Current LSN:0000001d:00000166:00b3。
— 最后1条日志记录的Current LSN:0000001d:000001ba:0067。 (5)执行restore headeronly命令查询备份集中的日志如图14-16所示。
图14-14 备份事务日志
图14-15 第1次日志备份后的数据库日志
图14-16 产生第1次日志备份后的备份集日志
4.产生第2次日志备份
(1)执行下列代码删除101条记录。 Delete from db_test.dbo.t_clusterindextest Where t_t_id>99 AND t_t_id<=200