【例17.1】添加一个名为mydiskdump的磁盘备份设备,其物理名称为 d:\dump\testdump.bak,输入语句如下。
USE master;
GO
EXEC sp_addumpdevice 'disk', 'mydiskdump', ' d:\dump\testdump.bak ';
【例17.2】删除备份设备mydiskdump,输入语句如下。
EXEC sp_dropdevice mydiskdump
如果服务器创建了备份文件,要同时删除物理文件可以输入如下语句。
EXEC sp_dropdevice mydiskdump, delfile
【例17.3】创建test数据库的完整备份,备份设备为创建好的“test数据库备份”本地备份设备,输入语句如下。
BACKUP DATABASE test
TO test数据库备份
WITH INIT,
NAME='test数据库完整备份',
DESCRIPTION='该文件为test数据库的完整备份'
【例17.4】对test做一次差异数据库备份,输入语句如下。
BACKUP DATABASE test
TO test数据库备份
WITH DIFFERENTIAL,NOINIT,
NAME='test数据库差异备份',
DESCRIPTION='该文件为test数据库的差异备份'
【例17.5】将test数据库中添加的文件组SecondFileGroup备份到本地备份设备“test数据库备份”输入语句下。
BACKUP DATABASE test
FILEGROUP='SecondFileGroup'
TO test数据库备份
WITH NAME='test文件组备份', DESCRIPTION='test数据库的文件组备份'
【例17.6】对test数据库执行事务日志备份,要求追加到现有的备份设备“test数据库备份”上,输入语句如下。
BACKUP LOG test
TO test数据库备份
WITH NOINIT,NAME='test数据库事务日志备份',
DESCRIPTION='test数据库事务日志备份'
【例17.7】检查名称为“test数据库备份”的设备是否有误,输入语句如下。
RESTORE VERIFYONLY FROM test数据库备份
【例17.8】使用备份设备还原数据库,输入语句如下。
USE master;
GO
RESTORE DATABASE test FROM test数据库备份
WITH REPLACE
【例17.9】使用备份文件还原数据库,输入语句如下。
USE master
GO
RESTORE DATABASE test
FROM DISK='C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Backup\test数据库备份.bak'
WITH REPLACE
【例17.10】执行差异还原备份,输入语句如下。
USE master
GO
RESTORE DATABASE test FROM test数据库备份
WITH FILE = 1, NORECOVERY, REPLACE
GO
RESTORE DATABASE test FROM test数据库备份
WITH FILE = 2
GO
【例17.11】还原事务日志备份,输入语句如下。
USE master
GO
RESTORE DATABASE test FROM test数据库备份
WITH FILE = 1, NORECOVERY, REPLACE
GO
RESTORE DATABASE test FROM test数据库备份
WITH FILE = 4
GO
/*等效代码
USE master
GO
RESTORE DATABASE test FROM test数据库备份
WITH FILE = 1, NORECOVERY, REPLACE
GO
RESTORE LOG test FROM test数据库备份
WITH FILE = 4
GO
*/
【例17.12】使用名称为“test数据库备份”的备份设备来还原文件和文件组,同时使用第7个备份集来还原事务日志备份,输入语句如下。
USE master
GO
RESTORE DATABASE test
FILEGROUP = 'PRIMARY'
FROM test数据库备份
WITH REPLACE,NORECOVERY
GO
RESTORE LOG test
FROM test数据库备份
WITH FILE = 7
GO
【例17.13】使用名称为“test数据库备份”的备份设备的第一个完整备份集合来创建一个名称为newTest的数据库,输入语句如下。
USE master
GO
RESTORE DATABASE newTest
FROM test数据库备份
WITH FILE = 1,
MOVE 'test' TO 'D:\test.mdf',
MOVE 'test_log' TO 'D:\test_log.ldf'