如何:建立資料庫快照集 (Transact-SQL)
使用 Transact-SQL 是建立資料庫快照集的唯一方式。能夠建立資料庫的任何使用者都可以建立資料庫快照集,不過若要建立鏡像資料庫的快照集,您必須是 sysadmin 固定伺服器角色的成員。
[!附註]
如需命名資料庫快照集、測量建立時間與限制數目的考量,請參閱<建立資料庫快照集>。
若要建立資料庫快照集
根據來源資料庫的目前大小,確定您擁有足夠的磁碟空間可存放資料庫快照集。資料庫快照集的大小上限為快照集建立時的來源資料庫大小。
在使用 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