Suche…


Bemerkungen

Ein Datenbank-Snapshot ist eine schreibgeschützte, statische Ansicht einer SQL Server-Datenbank, die zum Zeitpunkt der Erstellung des Snapshots transaktionskonform mit der Quelldatenbank ist.

Ein Datenbank-Snapshot befindet sich immer in derselben Serverinstanz wie seine Quellendatenbank. Wenn die Quellendatenbank aktualisiert wird, wird der Datenbank-Snapshot aktualisiert.

Eine Momentaufnahme unterscheidet sich von einer Sicherung, da der Moment der Momentaufnahmeerstellung sofort erfolgt und die Momentaufnahme nur Speicherplatz beansprucht, wenn Änderungen in der Quellendatenbank vorgenommen werden. Eine Sicherung hingegen speichert eine vollständige Kopie der Daten zum Zeitpunkt der Sicherungserstellung.

Darüber hinaus bietet ein Snapshot eine sofortige Nur-Lese-Kopie der Datenbank, während eine Sicherung auf einem Server wiederhergestellt werden muss, damit sie lesbar ist (und nach dem Wiederherstellen auch geschrieben werden kann).

Datenbank-Momentaufnahmen sind nur in den Editionen Enterprise und Developer verfügbar.

Erstellen Sie einen Datenbank-Snapshot

Ein Datenbanksnapshot ist eine schreibgeschützte, statische Ansicht einer SQL Server-Datenbank (der Quellendatenbank). Es ist dem Backup ähnlich, aber es ist wie jede andere Datenbank verfügbar, sodass der Client die Momentaufnahmedatenbank abfragen kann.

CREATE DATABASE MyDatabase_morning -- name of the snapshot
ON (
     NAME=MyDatabase_data, -- logical name of the data file of the source database
     FILENAME='C:\SnapShots\MySnapshot_Data.ss' -- snapshot file; 
) 
AS SNAPSHOT OF MyDatabase; -- name of source database

Sie können auch eine Momentaufnahme der Datenbank mit mehreren Dateien erstellen:

CREATE DATABASE MyMultiFileDBSnapshot ON
    (NAME=MyMultiFileDb_ft, FILENAME='C:\SnapShots\MyMultiFileDb_ft.ss'),
    (NAME=MyMultiFileDb_sys, FILENAME='C:\SnapShots\MyMultiFileDb_sys.ss'),
    (NAME=MyMultiFileDb_data, FILENAME='C:\SnapShots\MyMultiFileDb_data.ss'),
    (NAME=MyMultiFileDb_indx, FILENAME='C:\SnapShots\MyMultiFileDb_indx.ss')
AS SNAPSHOT OF MultiFileDb;

Wiederherstellen eines Datenbank-Snapshots

Wenn Daten in einer Quellendatenbank beschädigt werden oder falsche Daten in die Datenbank geschrieben werden, kann in einigen Fällen die Wiederherstellung der Datenbank auf einen Datenbank-Snapshot vor dem Schaden eine geeignete Alternative zum Wiederherstellen der Datenbank aus einer Sicherung darstellen.

RESTORE DATABASE MYDATABASE FROM DATABASE_SNAPSHOT='MyDatabase_morning';

Warnung: Dadurch werden alle Änderungen gelöscht , die seit der Momentaufnahme der Quelldatenbank vorgenommen wurden.

LÖSCHEN Schnappschuss

Sie können vorhandene Momentaufnahmen der Datenbank mit der DELETE DATABASE-Anweisung löschen:

DROP DATABASE Mydatabase_morning

In dieser Anweisung sollten Sie den Namen des Datenbank-Snapshots angeben.



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow