Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:SQL Server
Der Datenbankbesitzer kann eine Datenbank-Spiegelungssitzung jederzeit anhalten und später fortsetzen. Durch Anhalten bleibt der Sitzungsstatus erhalten, während die Spiegelung unterbrochen wird. Bei Engpässen ist das Anhalten möglicherweise nützlich, um die Leistung auf dem Prinzipalserver zu verbessern.
Wenn eine Sitzung angehalten wird, bleibt die Prinzipaldatenbank weiterhin verfügbar. Durch das Pausieren wird der Zustand der Spiegelungssitzung auf SUSPENDED festgelegt, und die Spiegeldatenbank wird nicht mehr mit der Prinzipaldatenbank synchron gehalten, sodass die Prinzipaldatenbank ungeschützt ausgeführt wird.
Es empfiehlt sich, eine angehaltene Sitzung rasch fortzusetzen, weil das Transaktionsprotokoll nicht gekürzt werden kann, während eine Datenbank-Spiegelungssitzung angehalten ist. Daher gilt: Wenn eine Datenbankspiegelungssitzung zu lange angehalten wird, füllt sich das Transaktionsprotokoll, sodass die Datenbank nicht verfügbar ist. Eine Erläuterung dazu finden Sie unter "Auswirkung des Anhaltens und Fortsetzens auf die Protokollkürzung" weiter unten in diesem Thema.
Wichtig
Nach einem erzwungenen Dienst wird die Spiegelung angehalten, wenn der ursprüngliche Prinzipalserver erneut eine Verbindung herstellt. Das Fortsetzen der Spiegelung in dieser Situation könnte auf dem ursprünglichen Prinzipalserver zu Datenverlust führen. Weitere Informationen zum Verwalten des potenziellen Datenverlusts finden Sie unter Database Mirroring Operating Modes.
In diesem Thema:
Wie sich Pausieren und Fortsetzen auf die Protokollkürzung auswirken
Wenn ein automatischer Prüfpunkt für eine Datenbank ausgeführt wird, wird normalerweise das zugehörige Transaktionsprotokoll nach der nächsten Protokollsicherung auf diesen Prüfpunkt gekürzt. Während eine Datenbank-Spiegelungssitzung angehalten ist, bleiben alle aktuellen Protokolldatensätze aktiv, weil der Prinzipalserver darauf wartet, sie an den Spiegelserver zu senden. Die ungesendeten Protokolldatensätze sammeln sich im Transaktionsprotokoll der Prinzipaldatenbank an, bis die Sitzung fortgesetzt wird und der Prinzipalserver die Protokolldatensätze an den Spiegelserver gesendet hat.
Wenn die Sitzung fortgesetzt wird, beginnt der Prinzipalserver sofort damit, die akkumulierten Protokolldatensätze an den Spiegelserver zu senden. Nachdem der Spiegelserver bestätigt hat, dass der dem ältesten automatischen Prüfpunkt entsprechende Protokolldatensatz in die Warteschlange gestellt wurde, kürzt der Prinzipalserver das Protokoll der Prinzipaldatenbank auf diesen Prüfpunkt. Der Spiegelserver schneidet die Redo-Warteschlange am selben Protokolldatensatz ab. Da dieser Prozess für jeden sukzessiven Prüfpunkt wiederholt wird, wird das Protokoll schrittweise, von Prüfpunkt zu Prüfpunkt, gekürzt.
Hinweis
Weitere Informationen zu Prüfpunkten und der Protokollkürzung finden Sie unter Datenbankprüfpunkte (SQL Server).
Vermeiden eines vollen Transaktionsprotokolls
Wenn das Protokoll voll ist (weil die maximale Größe erreicht wurde oder weil für die Serverinstanz der Speicherplatz nicht ausreicht), kann die Datenbank keine Updates mehr ausführen. Es gibt zwei Möglichkeiten, um dieses Problem zu vermeiden:
Setzen Sie die Datenbank-Spiegelungssitzung fort, bevor das Protokoll voll ist, oder fügen Sie mehr Protokollspeicher hinzu. Durch das Fortsetzen der Datenbankspiegelung kann der Hauptserver sein angesammeltes aktives Transaktionsprotokoll an den Spiegelserver senden und die Spiegeldatenbank in den Status SYNCHRONIZING versetzen. Der Spiegelserver kann dann das Protokoll auf den Datenträger schreiben und damit beginnen, es zu wiederholen.
Beenden Sie die Datenbank-Spiegelungssitzung durch Entfernen der Spiegelung.
Im Gegensatz zum Anhalten einer Sitzung werden beim Entfernen der Spiegelung alle Informationen zur Spiegelungssitzung gelöscht. Jede Partnerserverinstanz behält eine eigene Kopie der Datenbank. Wenn die frühere Spiegelkopie wiederhergestellt wird, weicht sie von der früheren Prinzipalkopie ab und liegt um die Zeitspanne zurück, die seit dem Anhalten der Sitzung vergangen ist. Weitere Informationen finden Sie unter Entfernen der Datenbankspiegelung (SQL Server).
Verwandte Aufgaben
Datenbankspiegelung anhalten oder fortsetzen
So beenden Sie die Datenbankspiegelung
Siehe auch
ALTER DATABASE (Transact-SQL)
Datenbankspiegelung (SQL Server)
Entfernen der Datenbankspiegelung (SQL Server)