-
恢复操作要求对源数据库具有 RESTORE DATABASE 权限。 若要恢复数据库,请使用下列 Transact-SQL 语句:
RESTORE DATABASE database_name FROM DATABASE_SNAPSHOT =database_snapshot_name
其中,database_name 是源数据库的名称,database_snapshot_name 是要将数据库恢复到的快照的名称。
示例 (Transact-SQL)
本节包含演示如何将数据库恢复到数据库快照的以下示例:
A.恢复 AdventureWorks 数据库的快照
此示例假定 AdventureWorks2012 数据库当前只存在一个快照。 有关在此创建数据库要恢复到的快照的示例,请参阅创建数据库快照 (Transact-SQL)。
USE master;
-- Reverting AdventureWorks to AdventureWorks_dbss1800
RESTORE DATABASE AdventureWorks from
DATABASE_SNAPSHOT = 'AdventureWorks_dbss1800';
GO
B.恢复 Sales 数据库的快照
此示例假定 Sales 数据库当前存在两个快照:sales_snapshot0600 和 sales_snapshot1200。 此示例删除了较旧的快照并将数据库恢复到较新的快照。
有关用于创建此示例所基于的示例数据库和快照的代码,请参阅:
-
有关 Sales 数据库和 sales_snapshot0600 快照,请参阅 CREATE DATABASE (SQL Server Transact-SQL) 中的“使用文件组创建数据库”和“创建数据库快照”。
-
有关 sales_snapshot1200 快照,请参阅创建数据库快照 (Transact-SQL) 中的“创建 Sales 数据库的快照”。
--Test to see if sales_snapshot0600 exists and if it
-- does, delete it.
IF EXISTS (SELECT dbid FROM sys.databases
WHERE NAME='sales_snapshot0600')
DROP DATABASE SalesSnapshot0600;
GO
-- Reverting Sales to sales_snapshot1200
USE master;
RESTORE DATABASE Sales FROM DATABASE_SNAPSHOT = 'sales_snapshot1200';
GO