sql server
进行差异备份还原时 必须先进行完整备份的还原 再进行差异备份的还原
注意:1 差异备份还原中, 如果不进行完整备份的还原 直接进行差异备份的还原会报不到能前滚的事务文件
2 差异备份还原中,如果在进行完整备份还原时 选择的恢复状态是restore with recovery 则在进行差异备份还原时选择restore with recovery 会报错
3 差异备份还原中,进行完整备份还原时 恢复状态必须选择 restore with No Recovery
GUI备份
差异备份及还原 正常流程
step 1 完整备份
常规下
右键需要备份的数据库-
选择列表中的任务-
选择任务中的备份-
在弹出的弹出框中指定需要备份的数据库-
备份类型选择完整-
备份集填写备份文件的名称-说明–
在目标中 删除原有的指向路径-
点击添加-选择磁盘中要保存文件的路径–并且设置文件名加后缀.bak
选项
在可靠性中选择 备份后验证完整性
点击确定进行备份
step 2 差异备份
常规下
右键需要备份的数据库-
选择列表中的任务-
选择任务中的备份-
在弹出的弹出框中指定需要备份的数据库-
备份类型选择差异-
备份集填写备份文件的名称-说明–
在目标中 删除原有的指向路径-
点击添加-选择磁盘中要保存文件的路径–并且设置文件名加后缀.bak
选项
在可靠性中选择 备份后验证完整性
点击确定进行备份
step 3 进行完整备份的还原
常规
右键需要还原的数据库-
选择任务-选择·还原-选择数据库-
选择要还原的目标数据库(可以自定义数据库名 则新建数据库)-
还原的源选择 设备-
备份介质选择文件-找到之前备份好的完整备份文件点击确定
勾选刚才添加进来的文件
选项
还原选项中勾选覆盖现有数据库
恢复状态勾选 restore with norecovery
点击确定回复成功
step 4 进行差异备份的还原
常规
右键需要还原的数据库-
选择任务-选择·还原-文件和文件组
选择要还原的目标数据库
还原的源选择 设备-
备份介质选择文件-找到之前备份好的差异备份文件点击确定
勾选添加进来的差异文件
选项
恢复状态
restore with recovery
点击确定
恢复成功!
完整备份加还原流程
step 1 完整备份
常规下
右键需要备份的数据库-
选择列表中的任务-
选择任务中的备份-
在弹出的弹出框中指定需要备份的数据库-
备份类型选择完整-
备份集填写备份文件的名称-说明–
在目标中 删除原有的指向路径-
点击添加-选择磁盘中要保存文件的路径–并且设置文件名加后缀.bak
选项
在可靠性中选择 备份后验证完整性
点击确定进行备份
step2 进行完整备份的还原
常规
右键需要还原的数据库-
选择任务-选择·还原-选择数据库-
选择要还原的目标数据库(可以自定义数据库名 则新建数据库)-
还原的源选择 设备-
备份介质选择文件-找到之前备份好的完整备份文件点击确定
勾选刚才添加进来的文件
选项
还原选项中勾选覆盖现有数据库
恢复状态勾选 restore with recovery
点击确定回复成功
命令行备份
完整备份
备份
USE [master];
GO
BACKUP DATABASE [SQLTestDB]
TO DISK = N'C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\Backup\SQLTestDB.bak'
WITH NOFORMAT, NOINIT,
NAME = N'SQLTestDB-Full Database Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10;
GO
还原
USE [master];
GO
RESTORE DATABASE [SQLTestDB]
FROM DISK = N'C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\Backup\SQLTestDB.bak' WITH FILE = 1, NOUNLOAD, STATS = 5;
GO