Как создать моментальный снимок базы данных (Transact-SQL)
Единственным способом создания моментального снимка базы данных является использование инструкций Transact-SQL. Моментальный снимок базы данных может создать любой пользователь, который может создать базу данных. Однако для создания моментального снимка зеркальной базы данных нужно входить в предопределенную роль сервера sysadmin.
Примечание |
---|
Рекомендации по присвоению моментальным снимкам базы данных имен, планированию их создания и ограничению их числа см. в разделе Создание моментального снимка базы данных. |
Создание моментального снимка базы данных
На основании текущего размера базы данных-источника убедитесь, что на диске достаточно места для хранения моментального снимка базы данных. При создании моментального снимка максимальный размер моментального снимка базы данных равен размеру базы данных-источника.
Используйте инструкцию CREATE DATABASE для файлов с помощью предложения AS SNAPSHOT OF. Создание моментального снимка требует указания логического имени каждого файла базы данных-источника. Сведения о формальном описании синтаксиса создания моментального снимка базы данных см. в разделе CREATE DATABASE (Transact-SQL).
Примечание При создании моментального снимка базы данных файлы журнала файлы в режиме вне сети, восстанавливаемые из копии файлы и нефункционирующие файлы являются недопустимыми в инструкции CREATE DATABASE.
Пример
В этом разделе содержатся примеры создания моментального снимка базы данных.
А. Создание моментального снимка базы данных AdventureWorks2008R2
Этот пример создает моментальный снимок базы данных AdventureWorks2008R2. Имя моментального снимка AdventureWorks2008R2_dbss_1800 и имя его разреженного файла AdventureWorks2008R2_data_1800.ss указывают на время создания — 18:00.
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, использованное в примерах, выбрано произвольно. |
Б. Создание моментального снимка базы данных Sales
Этот пример создает моментальный снимок sales_snapshot1200 базы данных Sales. Эта база данных была создана в примере «Создание базы данных, которая содержит файловые группы» в разделе 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
См. также