Datenbankspiegelung und Datenbankmomentaufnahmen
Sie können die Vorteile einer Spiegeldatenbank, die aus Gründen der Verfügbarkeit verwaltet wird, auch für die ausgelagerte Berichterstellung ausnutzen. Wenn Sie für die Berichterstellung eine Spiegeldatenbank verwenden möchten, können Sie eine Datenbankmomentaufnahme für die Spiegeldatenbank erstellen und die Clientverbindungsanforderungen an die zuletzt erstellte Momentaufnahme weiterleiten. Eine Datenbankmomentaufnahme ist eine statische, schreibgeschützte, hinsichtlich der Transaktionen konsistente Momentaufnahme des Zustands einer Quelldatenbank, in dem sich diese zum Zeitpunkt der Erstellung der Momentaufnahme befand. Zum Erstellen einer Datenbankmomentaufnahme für die Spiegeldatenbank muss sich die Datenbank im synchronisierten Spiegelungsstatus befinden.
Im Gegensatz zur eigentlichen Spiegeldatenbank ist eine Datenbankmomentaufnahme auch für Clients zugreifbar. Solange der Spiegelserver mit dem Prinzipalserver kommuniziert, können Sie Berichtsclients an eine Verbindung mit einer Momentaufnahme weiterleiten. Da Datenbankmomentaufnahmen statisch sind, sind neue Daten nicht verfügbar. Sie müssen in regelmäßigen Abständen eine neue Datenbankmomentaufnahme erstellen und sicherstellen, dass Anwendungen eingehende Clientverbindungen an die neueste Momentaufnahme weiterleiten, um den Benutzern relativ neue Daten zur Verfügung zu stellen.
Eine neue Datenbankmomentaufnahme ist fast leer. Er nimmt jedoch im Laufe der Zeit an Größe zu, wenn immer mehr Datenbankseiten zum ersten Mal aktualisiert werden. Da jede Momentaufnahme für eine Datenbank auf diese Weise schrittweise größer wird, verbraucht jede einzelne Datenbankmomentaufnahme genauso viele Ressourcen wie eine normale Datenbank. Abhängig von der Konfiguration des Spiegelservers und des Prinzipalservers kann sich bei Vorhandensein einer übermäßig hohen Anzahl von Datenbankmomentaufnahmen auf einer Spiegeldatenbank die Leistung der Prinzipaldatenbank verringern. Sie sollten daher nur einige wenige, relativ neue Momentaufnahmen auf den Spiegeldatenbanken behalten. Nachdem Sie eine Ersatzmomentaufnahme erstellt haben, sollten Sie eingehende Abfragen an die neue Momentaufnahme weiterleiten und die frühere Momentaufnahme löschen, sobald alle aktuellen Abfragen abgeschlossen sind.
Hinweis |
---|
Weitere Informationen zu Datenbankmomentaufnahmen finden Sie unter Datenbanksnapshots. |
Wenn ein Rollenwechsel stattfindet, werden die Datenbank und die zugehörigen Momentaufnahmen neu gestartet, wobei die Verbindung mit den Benutzern vorübergehend getrennt wird. Anschließend verbleiben die Datenbankmomentaufnahmen auf der Serverinstanz, auf der sie erstellt wurden und die zur neuen Prinzipaldatenbank geworden ist. Die Momentaufnahmen können nach dem Failover weiter verwendet werden. Dies bedeutet für den neuen Prinzipalserver jedoch eine zusätzliche Belastung. Falls in Ihrer Umgebung die Leistung eine wichtige Überlegung ist, sollten Sie auf der neuen Spiegeldatenbank eine Momentaufnahme erstellen, sobald diese verfügbar ist, die Clients zu der neuen Momentaufnahme umleiten und alle Datenbankmomentaufnahmen aus der früheren Spiegeldatenbank löschen.
Hinweis |
---|
Wenn Sie eine dedizierte, gut skalierte Berichterstellung bevorzugen, sollten Sie eine Replikation in Betracht ziehen. Weitere Informationen finden Sie unter Datawarehousing- und Berichtsserver. |
Beispiel
In diesem Beispiel werden Momentaufnahmen für eine gespiegelte Datenbank erstellt.
Angenommen, die AdventureWorks2008R2-Datenbank wird in einer Datenbank-Spiegelungssitzung verwendet. In diesem Beispiel werden drei Datenbankmomentaufnahmen für die Spiegelkopie der AdventureWorks2008R2-Datenbank erstellt, die sich auf Laufwerk F befindet. Die Momentaufnahmen werden mit AdventureWorks2008R2_0600, AdventureWorks2008R2_1200 und AdventureWorks2008R2_1800 bezeichnet, um den ungefähren Zeitpunkt ihrer Erstellung anzugeben.
Erstellen Sie die erste Datenbankmomentaufnahme für den Spiegel von AdventureWorks2008R2.
CREATE DATABASE AdventureWorks2008R2_0600 ON (NAME = 'datafile', FILENAME = 'F:\AdventureWorks2008R2_0600.SNP') AS SNAPSHOT OF AdventureWorks2008R2;
Erstellen Sie die zweite Datenbankmomentaufnahme für den Spiegel von AdventureWorks2008R2. Benutzer, die immer noch AdventureWorks2008R2_0600 verwenden, können diese auch weiterhin nutzen.
CREATE DATABASE AdventureWorks2008R2_1200 ON (NAME = 'datafile', FILENAME = 'F:\AdventureWork2008R2s_1200.SNP') AS SNAPSHOT OF AdventureWorks2008R2;
Die neuen Clientverbindungen können nun programmgesteuert an die zuletzt erstellte Momentaufnahme weitergeleitet werden.
Erstellen Sie die dritte Momentaufnahme für den Spiegel von AdventureWorks2008R2. Benutzer, die immer noch AdventureWorks2008R2_0600 oder AdventureWorks2008R2_1200 verwenden, können diese auch weiterhin nutzen.
CREATE DATABASE AdventureWorks2008R2_1800 ON (NAME = 'datafile', FILENAME = 'F:\AdventureWorks2008R2_1800.SNP') AS SNAPSHOT OF AdventureWorks2008R2;
Die neuen Clientverbindungen können nun programmgesteuert an die zuletzt erstellte Momentaufnahme weitergeleitet werden.
So erstellen Sie eine Datenbankmomentaufnahme
So zeigen Sie eine Datenbankmomentaufnahme an
So löschen Sie eine Datenbankmomentaufnahme
Siehe auch