Vorgehensweise: Erstellen einer Datenbankmomentaufnahme (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 Datenbankmomentaufnahmen, zum zeitlichen Planen der Momentaufnahmeerstellung und zum Begrenzen ihrer Anzahl finden Sie unter Erstellen einer Datenbankmomentaufnahme.

So erstellen Sie eine Datenbankmomentaufnahme

  1. Prüfen Sie die aktuelle Größe der Quelldatenbank, damit Sie sicher sein können, dass der verfügbare Festplattenspeicher zum Speichern der Datenbankmomentaufnahme ausreicht. Die maximale Größe einer Datenbankmomentaufnahme beläuft sich auf die Größe der Quelldatenbank zum Zeitpunkt der Momentaufnahmeerstellung.

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

    HinweisHinweis

    Wenn Sie eine Datenbankmomentaufnahme 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 einer Datenbankmomentaufnahme.

A. Erstellen einer Momentaufnahme für die AdventureWorks2008R2-Datenbank

In diesem Beispiel wird eine Datenbankmomentaufnahme für die AdventureWorks2008R2-Datenbank erstellt. Der Name der Momentaufnahme, AdventureWorks2008R2_dbss_1800, und der Dateiname der entsprechenden Datei mit geringer Dichte, AdventureWorks2008R2_data_1800.ss, geben als Erstellungszeit 18:00 Uhr an.

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
HinweisHinweis

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

B. Erstellen einer Momentaufnahme für die Sales-Datenbank

In diesem Beispiel wird eine Datenbankmomentaufnahme, 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_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