本文给大家提供并讲解了在SQL server中用SQL语句实现数据库的备份已经还原
备份数据库
假设你已经有一个数据库Student
创建备份设备,其名称为bk_Student,保存文件为D:\ Student.bak,并对Student数据库进行完全备份,备份到备份设备bk_ Student中。
EXEC sp_addumpdevice 'disk', 'bk_Student', 'D:\Student.bak'BACKUP DATABASE Student TO DISK = 'D:\Student.bak' with format;
在Student数据库中,创建一张表temp并对Student数据库进行第一次差异备份,备份到备份设备bk_Student中//表的内容不重要
下面这段代码的意思是进行一次差异备份,并且备份到bk_Student
如果需要进行第二次差异备份,那就在你进行完对表的操作后再用一次下面的代码
backup database Studentto disk ='D:\Student.bak'with DIFFERENTIAL;
还原数据库
还原完整数据库
从备份设备bk_ Student中恢复Student数据库
RESTORE DATABASE Student FROM DISK = 'D:\Student.bak' WITH REPLACE, RECOVERY
还原差异数据库
将Student数据库恢复到第一次差异备份后的状态
RESTORE DATABASE StudentFROM DISK = 'D:\Student.bak'WITH NORECOVERY
下面FILE可以在服务器对象–备份对象–bk_Student2–介质内容中可以看到位置2是差异备份,位置1是完整备份的(如果是按照我这篇文章的顺序的话)
若在后面加入多次差异备份,可以更改file的值,当file=3时,还原的时候将会把第二次差异备份的内容还原,包括之前备份的内容
RESTORE DATABASE Student FROM DISK = 'D:\Student.bak'WITH file=2, NORECOVERY;
当你执行完还原操作后,一定要进行下面的操作,这样就可以结束当前还原操作
RESTORE DATABASE StudentWITH RECOVERY