Procédure : créer un instantané de base de données (Transact-SQL)

Pour créer une capture instantanée d'une base de données, vous devez impérativement utiliser Transact-SQL. Tout utilisateur ayant la possibilité de créer une base de données peut également créer une capture instantanée. Toutefois, pour créer une capture instantanée d'une base de données miroir, vous devez être membre du rôle serveur fixe sysadmin.

Notes

Pour des observations relatives aux noms des instantanés de base de données, à leur programmation et à la limitation de leur nombre, consultez Création d'un instantané de base de données.

Pour créer un instantané de base de données

  1. En vous basant sur la taille actuelle de la base de données source, vérifiez que votre disque dispose de suffisamment d'espace pour en accueillir un instantané. La taille maximale d'un instantané est la taille de la base de données source au moment où l'instantané est créé.

  2. Exécutez une instruction CREATE DATABASE sur les fichiers en utilisant la clause AS SNAPSHOT OF. Pour créer un instantané, vous devez spécifier le nom logique de chaque fichier de la base de données source. Pour une description formelle de la syntaxe de création d'un instantané de base de données, consultez CREATE DATABASE (Transact-SQL).

    Notes

    Lorsque vous créez un instantané de base de données, les fichiers journaux, les fichiers hors connexion, les fichiers de restauration et les anciens fichiers ne sont pas autorisés dans l'instruction CREATE DATABASE.

Exemple

Cette section comprend des exemples de création d'un instantané de base de données.

A. Création d'un instantané sur la base de données AdventureWorks2008R2

Cet exemple montre comment créer un instantané de base de données sur la base de données AdventureWorks2008R2. Le nom de l'instantané, AdventureWorks2008R2_dbss_1800, et le nom de son fichier partiellement alloué, AdventureWorks2008R2_data_1800.ss, précisent l'heure de création, 6H00 du soir (18 heures).

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

Notes

L'extension .ss utilisée dans les exemples est arbitraire.

A. Création d'un instantané sur la base de données Sales (Ventes)

Cet exemple crée un instantané de base de données, sales_snapshot1200, sur la base de données Sales. Cette base de données a été créée dans l'exemple illustrant la création d'une base de données dotée de groupes de fichiers dans la rubrique 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