sqlserver2005镜像数据库可以创建数据库快照,数据库快照可以读取,查询,做数据库报表作用,分担主数据库的压力。
CREATE DATABASE AdventureWorks_dbss1800 ON
( NAME =
AdventureWorks_Data, FILENAME =
'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Data\AdventureWorks_data_1800.ss' )
AS SNAPSHOT OF AdventureWorks;
GO
NAME=
AdventureWorks_Data 镜像数据库的数据文件名:MDF文件名
'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Data\AdventureWorks_data_1800.ss'
快照数据库文件名
快照数据库建立后,就能像其他正常数据库一样查询检索了
------------------------------------------------------------------------------------
将数据库恢复到数据库快照
USE master;
-- Reverting AdventureWorks to AdventureWorks_dbss1800
RESTORE DATABASE AdventureWorks from
DATABASE_SNAPSHOT = 'AdventureWorks_dbss1800';
GO
-- Reverting AdventureWorks to AdventureWorks_dbss1800
RESTORE DATABASE AdventureWorks from
DATABASE_SNAPSHOT = 'AdventureWorks_dbss1800';
GO
恢复 Sales 数据库的快照
此示例假定 Sales 数据库当前存在两个快照:sales_snapshot0600 和 sales_snapshot1200。 此示例删除了较旧的快照并将数据库恢复到较新的快照。
有关用于创建此示例所基于的示例数据库和快照的代码,请参阅:
有关 Sales 数据库和 sales_snapshot0600 快照,请参阅 CREATE DATABASE (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