Compartilhar via


Como criar um instantâneo do banco de dados (Transact-SQL)

O único modo para criar um instantâneo do banco de dados é usar Transact-SQL. Qualquer usuário que possa criar um banco de dados pode criar um instantâneo do banco de dados; entretanto, para criar um instantâneo de um banco de dados espelho, você deve ser um membro da função de servidor fixa sysadmin.

ObservaçãoObservação

Para ver considerações sobre como nomear instantâneos do banco de dados, cronometrar a criação e limitar o número, consulte Criando um instantâneo do banco de dados.

Para criar um instantâneo do banco de dados

  1. Verifique se você tem espaço em disco suficiente para manter o instantâneo do banco de dados. O tamanho máximo de um instantâneo do banco de dados é o tamanho do banco de dados de origem no momento da criação do instantâneo.

  2. Emita uma instrução CREATE DATABASE nos arquivos usando a cláusula AS SNAPSHOT OF. Criar um instantâneo requer especificar o nome lógico de cada arquivo de banco de dados do banco de dados de origem. Para obter uma descrição formal da sintaxe de criação de um instantâneo do banco de dados, consulte CREATE DATABASE (Transact-SQL).

    ObservaçãoObservação

    Quando você cria um instantâneo do banco de dados, arquivos de log, arquivos offline, arquivos de restauração e arquivos excluídos não são permitidos na instrução CREATE DATABASE.

Exemplo

Esta seção contém exemplos da criação de um instantâneo do banco de dados.

A. Criação de um instantâneo no banco de dados AdventureWorks

Este exemplo cria um instantâneo do banco de dados no banco de dados AdventureWorks. O nome do instantâneo, AdventureWorks_dbss_1800 e o nome do arquivo de seu respectivo arquivo escasso, AdventureWorks_data_1800.ss, indicam a hora da criação, 18h00.

CREATE DATABASE AdventureWorks_dbss1800 ON
( NAME = AdventureWorks_Data, FILENAME = 
'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Data\AdventureWorks_data_1800.ss' )
AS SNAPSHOT OF AdventureWorks;
GO
ObservaçãoObservação

A extensão .ss usada nos exemplos é arbitrária.

B. Criar um instantâneo no banco de dados Vendas

Este exemplo cria um instantâneo do banco de dados, sales_snapshot1200, no banco de dados Sales. Este banco de dados foi criado no exemplo “Criando um banco de dados que tenha grupos de arquivos” em 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.MSSQLSERVER\MSSQL\data\SPri1dat_1200.ss'),
( NAME = SPri2_dat, FILENAME = 
'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\data\SPri2dt_1200.ss'),
( NAME = SGrp1Fi1_dat, FILENAME = 
'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\mssql\data\SG1Fi1dt_1200.ss'),
( NAME = SGrp1Fi2_dat, FILENAME = 
'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\data\SG1Fi2dt_1200.ss'),
( NAME = SGrp2Fi1_dat, FILENAME = 
'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\data\SG2Fi1dt_1200.ss'),
( NAME = SGrp2Fi2_dat, FILENAME = 
'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\data\SG2Fi2dt_1200.ss')
AS SNAPSHOT OF Sales
GO