如何创建数据库快照 (Transact-SQL)

如何创建数据库快照 (Transact-SQL)

创建数据库快照的唯一方式是使用 Transact-SQL。可创建数据库的任何用户都可以创建数据库快照;但是,若要创建镜像数据库的快照,您必须是 sysadmin 固定服务器角色的成员。

注意注意

有关命名数据库快照、设置创建数据库快照的时间和限制数据库快照成员的注意事项,请参阅 创建数据库快照

创建数据库快照

  1. 根据源数据库的当前大小,确保有足够的磁盘空间存放数据库快照。数据库快照的最大大小为创建快照时源数据库的大小。

  2. 使用 AS SNAPSHOT OF 子句对文件执行 CREATE DATABASE 语句。创建快照需要指定源数据库的每个数据库文件的逻辑名称。有关创建数据库快照的语法的正式说明,请参阅 CREATE DATABASE (Transact-SQL)

    注意注意

    创建数据库快照时,CREATE DATABASE 语句中不允许有日志文件、脱机文件、还原文件和不起作用的文件。

本节包含创建数据库快照的示例。

A. 对 AdventureWorks2008R2 数据库创建快照

此示例对 AdventureWorks2008R2 数据库创建数据库快照。快照名称 AdventureWorks2008R2_dbss_1800 及其稀疏文件的名称 AdventureWorks2008R2_data_1800.ss 指明了创建时间 6 P.M.(1800 小时)。

复制代码
CREATE DATABASE AdventureWorks2008R2_dbss1800 ON
( NAME = AdventureWorks2008R2_Data, FILENAME = 
'C:/Program Files/Microsoft SQL Server/MSSQL10_50.MSSQLSERVER/MSSQL/Data/AdventureWorks2008R2_data_1800.ss' )
AS SNAPSHOT OF AdventureWorks2008R2;
GO
注意注意

示例中随意使用了扩展名 .ss。

B. 对 Sales 数据库创建快照

此示例对 Sales 数据库创建数据库快照 sales_snapshot1200。此数据库是在 CREATE DATABASE (Transact-SQL) 中的“创建具有文件组的数据库”示例中创建的。

复制代码
--Creating sales_snapshot1200 as snapshot of the
--Sales database:
CREATE DATABASE sales_snapshot1200 ON
( NAME = SPri1_dat, FILENAME = 
'C:/Program Files/Microsoft SQL Server/MSSQL10_50.MSSQLSERVER/MSSQL/data/SPri1dat_1200.ss'),
( NAME = SPri2_dat, FILENAME = 
'C:/Program Files/Microsoft SQL Server/MSSQL10_50.MSSQLSERVER/MSSQL/data/SPri2dt_1200.ss'),
( NAME = SGrp1Fi1_dat, FILENAME = 
'C:/Program Files/Microsoft SQL Server/MSSQL10_50.MSSQLSERVER/mssql/data/SG1Fi1dt_1200.ss'),
( NAME = SGrp1Fi2_dat, FILENAME = 
'C:/Program Files/Microsoft SQL Server/MSSQL10_50.MSSQLSERVER/MSSQL/data/SG1Fi2dt_1200.ss'),
( NAME = SGrp2Fi1_dat, FILENAME = 
'C:/Program Files/Microsoft SQL Server/MSSQL10_50.MSSQLSERVER/MSSQL/data/SG2Fi1dt_1200.ss'),
( NAME = SGrp2Fi2_dat, FILENAME = 
'C:/Program Files/Microsoft SQL Server/MSSQL10_50.MSSQLSERVER/MSSQL/data/SG2Fi2dt_1200.ss')
AS SNAPSHOT OF Sales
GO

你可能感兴趣的:(c,数据库,服务器,database,扩展,磁盘)