SqlServer 資料庫完整備份及差異備份
阿新 • • 發佈:2019-01-27
View Code
--查詢檔案是否存在
CREATE TABLE #tmp ([File Exists] BIT, [File is a Directory] BIT, [Parent Directory Exists] BIT)
INSERT INTO #tmp ([File Exists], [File is a Directory], [Parent Directory Exists])
EXEC master.dbo.xp_fileexist 'D:\Test.bak'
SELECT * FROM #tmp
DROP TABLE #tmp
--完整備份資料庫
BACKUP DATABASE MyBakTest TO DISK='D:\Test.bak' WITH FORMAT
--對tb表插入第一條記錄
INSERT INTO tb_user(uname) VALUES('第一1次差異備份')
--第一次差異備份
BACKUP DATABASE MyBakTest TO DISK='D:\Test_One_Dif.bak' WITH FORMAT,DIFFERENTIAL
--對tb表插入第二條記錄
INSERT INTO tb_user(uname) VALUES('第二3次差異備份')
--第二次差異備份
BACKUP DATABASE MyBakTest TO DISK='D:\Test_Two_Dif.bak' WITH FORMAT,DIFFERENTIAL
--OK.現在直接還原.完整備份+第二次差異備份.看看第二條記錄在不在.
GO
--完整備份還原
RESTORE DATABASE MyBackTest2 FROM DISK='D:\Test.bak' WITH REPLACE,NORECOVERY
RESTORE DATABASE MyBackTest2 FROM DISK='D:\Test_one_Dif.bak' WITH RECOVERY
--第二次差異備份還原
RESTORE DATABASE MyBackTest2 FROM DISK='D:\Test_Two_Dif.bak' WITH RECOVERY