Microsoft SQL Server
Datenbank-Snapshots
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.