-- 建测试库ilovemk create database ilovemk-- 打开测试库ilovemk use ilovemk-- 建测试表 create table tab1 (id int, de varchar(5))-- 插入1笔记录 insert into tab1 select 1,'a' -- 返回master库 use master-- 全备份 backup database ilovemk to disk='D:\ilovemk.bak' with format,init-- 插入第2笔记录 insert into ilovemk.dbo.tab1 select 2,'b'-- 日志备份为ilovemk1 backup log ilovemk to disk='D:\ilovemk1.log' with format,init-- 插入第3笔记录 insert into ilovemk.dbo.tab1 select 3,'c'-- 日志备份为ilovemk2 backup log ilovemk to disk='D:\ilovemk2.log' with format,init-- 查看日志备份的LSN, ilovemk1.LastLSN=ilovemk2.FirstLSN restore headeronly from disk='D:\ilovemk1.log' --> FirstLSN 29000000007400174 LastLSN 29000000015600001restore headeronly from disk='D:\ilovemk2.log' --> FirstLSN 29000000015600001 LastLSN 29000000015700001-- 恢复全备份 restore database ilovemk from disk='D:\ilovemk.bak' with replace-- 回到只有1笔记录的状态 select * from ilovemk.dbo.tab1id de ----------- ----- 1 a-- 插入第2笔记录 insert into ilovemk.dbo.tab1 select 2,'b'-- 日志备份为ilovemk11 backup log ilovemk to disk='D:\ilovemk11.log' with format,init-- 插入第3笔记录 insert into ilovemk.dbo.tab1 select 3,'c'-- 日志备份为ilovemk22 backup log ilovemk to disk='D:\ilovemk22.log' with format,init-- 查看日志备份的LSN, ilovemk11.LastLSN=ilovemk22.FirstLSN restore headeronly from disk='D:\ilovemk11.log' --> FirstLSN 29000000014800001 LastLSN 29000000018300001restore headeronly from disk='D:\ilovemk22.log' --> FirstLSN 29000000018300001 LastLSN 29000000018400001--> 结论: 全备份恢复后,日志备份日志链跟原先是不同的.
-- 全备份 backup database ilovemk to disk='D:\ilovemk.bak' with format,init这条语句中的format和init是不是矛盾了,因为format的意思是格式化介质头和覆盖备份集,而init的意思是保留介质头和覆盖备份集,这条语句的执行究竟是按format还是按init?
可以将作业导成脚本,还原后直接利用脚本新建作业!
-- 建测试库ilovemk
create database ilovemk-- 打开测试库ilovemk
use ilovemk-- 建测试表
create table tab1 (id int, de varchar(5))-- 插入1笔记录
insert into tab1 select 1,'a' -- 返回master库
use master-- 全备份
backup database ilovemk to disk='D:\ilovemk.bak' with format,init-- 插入第2笔记录
insert into ilovemk.dbo.tab1 select 2,'b'-- 日志备份为ilovemk1
backup log ilovemk to disk='D:\ilovemk1.log' with format,init-- 插入第3笔记录
insert into ilovemk.dbo.tab1 select 3,'c'-- 日志备份为ilovemk2
backup log ilovemk to disk='D:\ilovemk2.log' with format,init-- 查看日志备份的LSN, ilovemk1.LastLSN=ilovemk2.FirstLSN
restore headeronly from disk='D:\ilovemk1.log'
--> FirstLSN 29000000007400174 LastLSN 29000000015600001restore headeronly from disk='D:\ilovemk2.log'
--> FirstLSN 29000000015600001 LastLSN 29000000015700001-- 恢复全备份
restore database ilovemk from disk='D:\ilovemk.bak' with replace-- 回到只有1笔记录的状态
select * from ilovemk.dbo.tab1id de
----------- -----
1 a-- 插入第2笔记录
insert into ilovemk.dbo.tab1 select 2,'b'-- 日志备份为ilovemk11
backup log ilovemk to disk='D:\ilovemk11.log' with format,init-- 插入第3笔记录
insert into ilovemk.dbo.tab1 select 3,'c'-- 日志备份为ilovemk22
backup log ilovemk to disk='D:\ilovemk22.log' with format,init-- 查看日志备份的LSN, ilovemk11.LastLSN=ilovemk22.FirstLSN
restore headeronly from disk='D:\ilovemk11.log'
--> FirstLSN 29000000014800001 LastLSN 29000000018300001restore headeronly from disk='D:\ilovemk22.log'
--> FirstLSN 29000000018300001 LastLSN 29000000018400001--> 结论: 全备份恢复后,日志备份日志链跟原先是不同的.
-- 全备份
backup database ilovemk to disk='D:\ilovemk.bak' with format,init这条语句中的format和init是不是矛盾了,因为format的意思是格式化介质头和覆盖备份集,而init的意思是保留介质头和覆盖备份集,这条语句的执行究竟是按format还是按init?