Vorgehensweise: Erstellen eines Datenbanksnapshots (Transact-SQL)

Ein Datenbanksnapshot kann nur mithilfe von Transact-SQL erstellt werden. Jeder Benutzer, der eine Datenbank erstellen kann, kann auch einen Datenbanksnapshot erstellen. Ein Snapshot einer Spiegeldatenbank kann jedoch nur von Mitgliedern der festen Serverrolle sysadmin erstellt werden.

HinweisHinweis

Hinweise zum Benennen von Datenbanksnapshots, zum zeitlichen Planen der Snapshoterstellung und zum Begrenzen ihrer Anzahl finden Sie unter Erstellen eines Datenbanksnapshots.

So erstellen Sie einen Datenbanksnapshot

  1. Stellen Sie sicher, dass genügend Speicherplatz für den Datenbanksnapshot zur Verfügung steht. Die maximale Größe eines Datenbanksnapshots beläuft sich auf die Größe der Quelldatenbank zum Zeitpunkt der Snapshoterstellung.

  2. Geben Sie eine CREATE DATABASE-Anweisung für die Dateien aus, und verwenden Sie dabei die AS SNAPSHOT OF-Klausel. Bei der Erstellung eines Snapshots müssen die logischen Namen aller in der Quelldatenbank enthaltenen Datenbankdateien angegeben werden. Eine formale Beschreibung der Syntax zur Erstellung eines Datenbanksnapshots finden Sie unter CREATE DATABASE (Transact-SQL).

    HinweisHinweis

    Wenn Sie einen Datenbanksnapshot erstellen, darf die CREATE DATABASE-Anweisung weder Protokolldateien, noch Offlinedateien, Wiederherstellungsdateien oder außer Kraft gesetzte Dateien enthalten.

Beispiel

Dieser Abschnitt enthält Beispiele für das Erstellen eines Datenbanksnapshots.

A. Erstellen eines Snapshots für die AdventureWorks-Datenbank

In diesem Beispiel wird ein Datenbanksnapshot für die AdventureWorks-Datenbank erstellt. Der Snapshotname, AdventureWorks_dbss_1800, und der Dateiname der entsprechenden Datei mit geringer Dichte, AdventureWorks_data_1800.ss, geben als Erstellungszeit 18:00 Uhr an.

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
HinweisHinweis

Die in den Beispielen verwendete Erweiterung SS ist willkürlich.

B. Erstellen eines Snapshots für die Sales-Datenbank

In diesem Beispiel wird ein Datenbanksnapshot, sales_snapshot1200, für die Sales-Datenbank erstellt. Diese Datenbank wurde im Beispiel für das Erstellen einer Datenbank mit Dateigruppen unter CREATE DATABASE (Transact-SQL) erstellt.

--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