如何:建立資料庫快照集 (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