本文给大家提供并讲解了在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