Verfügbarkeitsmodi (Always On-Verfügbarkeitsgruppen)Availability Modes (Always On Availability Groups)

Dieses Thema gilt für: JaSQL ServerkeineAzure SQL-DatenbankkeineAzure SQL Data Warehouse keine Parallel DatawarehouseTHIS TOPIC APPLIES TO: yesSQL ServernoAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

In AlwaysOn-VerfügbarkeitsgruppenAlways On availability groupsist der Verfügbarkeitsmodus eine Replikateigenschaft, die bestimmt, ob ein angegebenes Verfügbarkeitsreplikat im Modus für synchrone Commits ausgeführt werden kann.In AlwaysOn-VerfügbarkeitsgruppenAlways On availability groups, the availability mode is a replica property that determines whether a given availability replica can run in synchronous-commit mode. Für jedes Verfügbarkeitsreplikat muss für den Verfügbarkeitsmodus entweder der synchrone Commit-, der asynchroner Commit- oder der reine Konfigurationsmodus konfiguriert werden.For each availability replica, the availability mode must be configured for either synchronous-commit mode, asynchronous-commit, or configuration only mode. Wenn das primäre Replikat für den Modus für asynchrone Commitskonfiguriert wird, wartet es nicht, bis ein sekundäres Replikat eingehende Transaktionsprotokoll-Datensätze auf den Datenträger geschrieben hat ( Protokoll festschreiben).If the primary replica is configured for asynchronous-commit mode, it does not wait for any secondary replica to write incoming transaction log records to disk (to harden the log). Wenn ein bestimmtes sekundäres Replikat für den Modus für asynchrone Commits konfiguriert ist, wartet das primäre Replikat nicht, bis das betreffende sekundäre Replikat das Protokoll festgeschrieben hat.If a given secondary replica is configured for asynchronous-commit mode, the primary replica does not wait for that secondary replica to harden the log. Wenn sowohl das primäre Replikat als auch ein angegebenes sekundäres Replikat für den Modus für synchrone Commitskonfiguriert sind, wartet das primäre Replikat, bis das sekundäre Replikat bestätigt, dass es das Protokoll festgeschrieben hat (es sei denn, das sekundäre Replikat konnte innerhalb des Sitzungstimeoutsfür das primäre Replikat keinen Ping-Befehl an dieses senden).If both the primary replica and a given secondary replica are both configured for synchronous-commit mode, the primary replica waits for the secondary replica to confirm that it has hardened the log (unless the secondary replica fails to ping the primary replica within the primary's session-timeout period).

Hinweis

Wenn das Sitzungstimeout des primären Replikats von einem sekundären Replikat überschritten wird, wechselt das primäre Replikat für das betreffende sekundäre Replikat vorübergehend in den Modus für asynchrone Commits.If primary's session-timeout period is exceeded by a secondary replica, the primary replica temporarily shifts into asynchronous-commit mode for that secondary replica. Wenn das sekundäre Replikat erneut eine Verbindung mit dem primären Replikat herstellt, wird der Modus für synchrone Commits wieder aufgenommen.When the secondary replica reconnects with the primary replica, they resume synchronous-commit mode.

In diesem Thema:In this Topic:

Unterstützte VerfügbarkeitsmodiSupported Availability Modes

AlwaysOn-VerfügbarkeitsgruppenAlways On availability groups unterstützt drei Verfügbarkeitsmodi (Modus für asynchrone und synchrone Commits sowie reine Konfiguration) wie folgt: supports three availability modes—asynchronous-commit mode, synchronous-commit mode, and configuration only mode as follows:

  • Der Modus für asynchrone Commits ist eine Wiederherstellungslösung für Notfälle, die gut funktioniert, wenn die Verfügbarkeitsreplikate über weite Entfernungen verteilt sind.Asynchronous-commit mode is a disaster-recovery solution that works well when the availability replicas are distributed over considerable distances. Wenn jedes sekundäre Replikat im Modus für asynchrone Commits ausgeführt wird, wartet das primäre Replikat nicht, bis ein sekundäres Replikat das Protokoll festschreibt.If every secondary replica is running under asynchronous-commit mode, the primary replica does not wait for any of the secondary replicas to harden the log. Stattdessen sendet das primäre Replikat die Transaktionsbestätigung, unmittelbar nachdem es einen Protokolldatensatz in die lokale Protokolldatei geschrieben hat, an den Client.Rather, immediately after writing the log record to the local log file, the primary replica sends the transaction confirmation to the client. Das primäre Replikat wird mit minimaler Transaktionswartezeit bezogen auf ein sekundäres Replikat ausgeführt, das für den Modus für asynchrone Commits konfiguriert wurde.The primary replica runs with minimum transaction latency in relation to a secondary replica that is configured for asynchronous-commit mode. Wenn das aktuelle primäre Replikat für den Verfügbarkeitsmodus "Asynchroner Commit" konfiguriert ist, führt es für alle sekundären Replikate, unabhängig von deren Verfügbarkeitsmoduseinstellungen, asynchron ein Commit für Transaktionen aus.If the current primary is configured for asynchronous commit availability mode, it will commit transactions asynchronously for all secondary replicas regardless of their individual availability mode settings.

    Weitere Informationen finden Sie weiter unten in diesem Thema unter Verfügbarkeitsmodus "Asynchroner Commit".For more information, see Asynchronous-Commit Availability Mode, later in this topic.

  • ImModus für synchrone Commits hat Hochverfügbarkeit Vorrang vor Leistung, und dies hat eine größere Transaktionswartezeit zur Folge.Synchronous-commit mode emphasizes high availability over performance, at the cost of increased transaction latency. Im Modus für synchrone Commits wird mit dem Senden der Transaktionsbestätigung an den Client gewartet, bis das sekundäre Replikat das Protokoll auf dem Datenträger festgeschrieben hat.Under synchronous-commit mode, transactions wait to send the transaction confirmation to the client until the secondary replica has hardened the log to disk. Wenn die Datensynchronisierung für eine sekundäre Datenbank beginnt, fängt das sekundäre Replikat an, eingehende Protokolldatensätze von der entsprechenden primären Datenbank zu übernehmen.When data synchronization begins on a secondary database, the secondary replica begins applying incoming log records from the corresponding primary database. Sobald alle Protokolldatensätze festgeschrieben wurden, wechselt die sekundäre Datenbank in den Status SYNCHRONIZED.As soon as every log record has been hardened, the secondary database enters the SYNCHRONIZED state. Anschließend wird jede neue Transaktion vom sekundären Replikat festgeschrieben, bevor der Protokolleintrag in die lokale Protokolldatei geschrieben wird.Thereafter, every new transaction is hardened by the secondary replica before the log record is written to the local log file. Wenn alle sekundären Datenbanken eines gegebenen sekundären Replikats synchronisiert worden sind, unterstützt der Modus für synchrone Commits manuelles Failover und optional automatisches Failover.When all the secondary databases of a given secondary replica are synchronized, synchronous-commit mode supports manual failover and, optionally, automatic failover.

    Weitere Informationen finden Sie weiter unten in diesem Thema unter Verfügbarkeitsmodus "Synchroner Commit".For more information, see Synchronous-Commit Availability Mode, later in this topic.

  • Der reine Konfigurationsmodus ist für Verfügbarkeitsgruppen verfügbar, die sich nicht in einem Windows Server-Failovercluster befinden.Configuration only mode applies to availability groups that are not on a Windows Server Failover Cluster. Ein Replikat im reinen Konfigurationsmodus enthält keine Benutzerdaten.A replica in configuration only mode does not contain user data. In diesem Modus speichert die Masterdatenbank des Replikats Konfigurationsmetadaten von Verfügbarkeitsgruppen.In configuration only mode, the replica master database stores availability group configuration metadata. Weitere Informationen finden Sie unter Verfügbarkeitsgruppe mit dem reinen Konfigurationsreplikat.For more information see Availability group with configuration only replica.

    In der folgenden Abbildung wird eine Verfügbarkeitsgruppe mit fünf Verfügbarkeitsreplikaten angezeigt.The following illustration shows an availability group with five availability replicas. Das primäre Replikat und ein sekundäres Replikat sind für den Modus für synchrone Commits mit automatischem Failover konfiguriert.The primary replica and one secondary replica are configured for synchronous-commit mode with automatic failover. Ein weiteres sekundäres Replikat ist für den Modus für synchrone Commits ausschließlich mit geplantem manuellen Failover konfiguriert, und zwei sekundäre Replikate sind für den Modus für asynchrone Commits konfiguriert, der nur erzwungene manuelle Failover (normalerweise als erzwungene Failoverbezeichnet) unterstützt.Another secondary replica is configured for synchronous-commit mode with only planned manual failover, and two secondary replicas are configured for asynchronous-commit mode, which supports only forced manual failover (typically called forced failover).

    Verfügbarkeit und Failovermodi von ReplikatenAvailability and failover modes of replicas

    Das Synchronisierungs- und Failoververhalten zwischen zwei Verfügbarkeitsreplikaten hängt vom Verfügbarkeitsmodus beider Replikate ab.The synchronization and failover behavior between two availability replicas depends on the availability mode of both replicas. Beispiel: Damit ein synchroner Commit ausgeführt werden kann, muss sowohl das aktuelle primäre Replikat als auch das entsprechende sekundäre Replikat für synchrone Commits konfiguriert sein.For example, for synchronous commit to occur, both the current primary replica and the secondary replica in question must be configured for synchronous commit. Das Gleiche gilt für automatische Failover, weil beide Replikate in diesem Fall für automatische Failover konfiguriert sein müssen.Likewise, for automatic failover to occur, both replicas need to be configured for automatic failover. Das Verhalten des oben beschriebenen Bereitstellungsszenarios ist in der folgenden Tabelle zusammengefasst, die das Verhalten je nach verwendetem primären Replikat aufschlüsselt:Therefore, the behavior for the illustrated deployment scenario above can be summarized in the following table, which explores the behavior with each potential primary replica:

Aktuelles primäres ReplikatCurrent Primary Replica Automatische FailoverzieleAutomatic Failover Targets Modus für synchrone Commits beiSynchronous-Commit Mode Behavior With Modus für asynchrone Commits beiAsynchronous-Commit Mode Behavior With Automatisches Failover möglichAutomatic failover possible
0101 0202 02 und 0302 and 03 0404 jaYes
0202 0101 01 und 0301 and 03 0404 jaYes
0303 01 und 0201 and 02 0404 neinNo
0404 01, 02 und 0301, 02, and 03 neinNo

Normalerweise wird Knoten 04 als Replikat mit asynchronem Commit an einem Standort für die Notfallwiederherstellung bereitgestellt.Typically, Node 04 as an asynchronous-commit replica, is deployed in a disaster recovery site. Die Tatsache, dass die Knoten 01, 02 und 03 nach einem Failover auf Knoten 04 im Modus für asynchrone Commits verbleiben, hilft, einen Leistungsabfall in der Verfügbarkeitsgruppe zu vermeiden, der infolge einer hohen Netzwerklatenz zwischen den beiden Standorten auftritt.The fact that Nodes 01, 02, and 03 remain at asynchronous-commit mode after failing over to Node 04 helps prevent potential performance degradation in your availability group due to high network latency between the two sites.

Asynchronous-Commit Availability ModeAsynchronous-Commit Availability Mode

Im Modus für asynchrone Commitswird das sekundäre Replikat nie mit dem primären Replikat synchronisiert.Under asynchronous-commit mode, the secondary replica never becomes synchronized with the primary replica. Obwohl eine gegebene sekundäre Datenbank den gleichen Datenbestand wie eine entsprechende primäre Datenbank aufweisen kann, kann der Datenbestand jeder sekundären Datenbank jederzeit älter sein.Though a given secondary database might catch up to the corresponding primary database, any secondary database could lag behind at any point. Der Modus für asynchrone Commits kann in einem Notfallwiederherstellungsszenario nützlich sein, in dem das primäre Replikat und das sekundäre Replikat räumlich weit voneinander getrennt sind und in dem sich kleine Fehler nicht auf das primäre Replikat auswirken sollen, oder in Situationen, in denen die Leistung wichtiger als der Schutz der synchronisierten Daten ist.Asynchronous-commit mode can be useful in a disaster-recovery scenario in which the primary replica and the secondary replica are separated by a significant distance and where you do not want small errors to impact the primary replica or in or situations where performance is more important than synchronized data protection. Zudem ist vorteilhaft, dass sich Probleme mit dem sekundären Replikat nie auf das primäre Replikat auswirken, weil das primäre Replikat nicht auf die Bestätigungen des sekundären Replikats wartet.Furthermore, since the primary replica does not wait for acknowledgements from the secondary replica, problems on the secondary replica never impact the primary replica.

Das sekundäre Replikat im Modus für asynchrone Commits versucht, mit den vom primären Replikat empfangenen Protokolldatensätzen Schritt zu halten.An asynchronous-commit secondary replica attempts to keep up with the log records received from the primary replica. Im Modus für asynchrone Commits bleiben sekundäre Datenbanken jedoch stets unsynchronisiert und weisen meist einen älteren Datenbestand als die zugehörigen primären Datenbanken auf.But asynchronous-commit secondary databases always remain unsynchronized and are likely to lag somewhat behind the corresponding primary databases. In der Regel ist die Lücke zwischen einer sekundären Datenbank mit asynchronem Commit und der entsprechenden primären Datenbank klein.Typically the gap between an asynchronous-commit secondary database and the corresponding primary database is small. Doch kann sich die Lücke erheblich vergrößern, wenn der Server, der das sekundäre Replikat hostet, überlastet oder das Netzwerk langsam ist.But the gap can become substantial if the server hosting the secondary replica is over loaded or the network is slow.

Im Modus für asynchrone Commits wird lediglich ein erzwungenes manuelles Failover (mit möglichem Datenverlust) unterstützt.The only form of failover supported by asynchronous-commit mode is forced failover (with possible data loss). Das erzwungene Failover ist lediglich als letztes Mittel für Situationen vorgesehen, in denen das aktuelle primäre Replikat über einen längeren Zeitraum nicht verfügbar ist und die sofortige Verfügbarkeit der primären Datenbanken wichtiger ist als das Risiko eines möglichen Datenverlusts. Das Failoverziel muss ein Replikat sein, dessen Rolle im SECONDARY oder RESOLVING-Status ist.Forcing failover is a last resort intended only for situations in which the current primary replica will remain unavailable for an extended period and immediate availability of primary databases is more critical than the risk of possible data loss.The failover target must be a replica whose role is in the SECONDARY or RESOLVING state. Das Failoverziel wechselt in die primäre Rolle, und seine Datenbankkopien werden zur primären Datenbank.The failover target transitions to the primary role, and its copies of the databases become the primary database. Sämtliche verbleibenden sekundären Datenbanken werden zusammen mit den bisherigen primären Datenbanken, sobald diese verfügbar werden, angehalten, bis Sie sie einzeln manuell fortsetzen.Any remaining secondary databases, along with the former primary databases, once they become available, are suspended until you manually resume them individually. Unter dem Modus für asynchrone Commits gehen alle Transaktionsprotokolle verloren, die das ursprüngliche primäre Replikat noch nicht an das frühere sekundäre Replikat gesendet hatte.Under asynchronous-commit mode, any transaction logs that the original primary replica had not yet sent to the former secondary replica are lost. Dies bedeutet, dass in den neuen primären Datenbanken möglicherweise einige oder alle Transaktion fehlen, für die kürzlich ein Commit ausgeführt wurde.This means that some or all of the new primary databases might be lacking recently committed transactions. Weitere Informationen zur Funktionsweise des erzwungenen Failovers und bewährte Methoden zu dessen Verwendung finden Sie unter Failover und Failovermodi (Always On-Verfügbarkeitsgruppen).For more information on how forced failover works and on best practices for using it, see Failover and Failover Modes (Always On Availability Groups).

Synchronous-Commit Availability ModeSynchronous-Commit Availability Mode

Im Verfügbarkeitsmodus mit synchronem Commit (Modus für synchrone Commits) wird jede sekundäre Datenbank, sobald sie einer Verfügbarkeitsgruppe zugeordnet wurde, so schnell wie möglich auf den Stand der entsprechenden primären Datenbank gebracht und wechselt in den Status SYNCHRONIZED.Under synchronous-commit availability mode (synchronous-commit mode), after being joined to an availability group, a secondary database catches up to the corresponding primary database and enters the SYNCHRONIZED state. Die sekundäre Datenbank verbleibt so lange im Status SYNCHRONIZED, bis die Datensynchronisierung fortgesetzt wird.The secondary database remains SYNCHRONIZED as long as data synchronization continues. Damit wird sichergestellt, dass für jede Transaktion, für die auf einer bestimmten primären Datenbank ein Commit ausgeführt wird, auch auf der neuen sekundären Datenbank ein Commit ausgeführt wurde.This guarantees that every transaction that is committed on a given primary database has also been committed on the corresponding secondary database. Wenn jede sekundäre Datenbank für ein bestimmtes sekundäres Replikat synchronisiert wurde, wird der Synchronisierungsstatus des sekundären Replikats insgesamt auf den Status HEALTHY festgelegt.When every secondary database on a given secondary replica is synchronized, the synchronization-health state of the secondary replica as a whole is HEALTHY.

In diesem Abschnitt:In This Section:

Faktoren, die die Datensynchronisierung störenFactors That Disrupt Data Synchronization

Nachdem alle Datenbanken synchronisiert wurden, wechselt ein sekundäres Replikat in den Status HEALTHY.Once all of its databases are synchronized, a secondary replica enters the HEALTHY state. Das synchronisierte sekundäre Replikat verbleibt so lange im Status HEALTHY, bis eine der folgenden Situationen eintritt:The synchronized secondary replica will remain healthy unless one of the following occurs:

  • Eine Verzögerung oder eine Störung im Netzwerk oder auf dem Computer führt dazu, dass für die Sitzung zwischen dem sekundären und dem primären Replikat ein Timeout auftritt.A network or computer delay or glitch causes the session between the secondary replica and primary replica to timeout.

    Hinweis

    Informationen über die Sitzungstimeout-Eigenschaft von Verfügbarkeitskeplikaten finden Sie unter Übersicht über Always On-Verfügbarkeitsgruppen (SQL Server).For information about the session-time property of availability replicas, see Overview of Always On Availability Groups (SQL Server).

  • Eine sekundäre Datenbank auf dem sekundären Replikat wird angehalten.You suspend a secondary database on the secondary replica. Das sekundäre Replikat wird nicht mehr synchronisiert, und der Synchronisierungsstatus wird als NOT_HEALTHY angegeben.The secondary replica ceases to be synchronized, and its synchronization-health state is marked as NOT_HEALTHY. Das sekundäre Replikat kann erst dann wieder fehlerfrei werden, wenn die angehaltene sekundäre Datenbank entweder fortgesetzt und erneut synchronisiert bzw. aus der Verfügbarkeitsgruppe entfernt wurde.the secondary replica cannot become healthy again until the suspended secondary database is either resumed and resynchronized or removed from the availability group.

  • Sie fügen der Verfügbarkeitsgruppe eine primäre Datenbank hinzu.You add a primary database the availability group. Zuvor synchronisierte sekundäre Replikate wechseln in den Synchronisierungsstatus NOT_HEALTHY.Previously synchronized secondary replicas enter the NOT_HEALTHY synchronization-health state. Dieser Status gibt an, dass sich mindestens eine Datenbank im Synchronisierungsstatus NOT SYNCHRONIZING befindet.This state indicates that at least one database is in the NOT SYNCHRONIZING synchronization state. Ein bestimmtes sekundäres Replikat kann erst dann wieder in den Status HEALTHY wechseln, nachdem eine entsprechende sekundäre Datenbank für das Replikat vorbereitet, mit der Verfügbarkeitsgruppe verknüpft und mit der neuen primären Datenbank synchronisiert wurde.A given secondary replica cannot be HEALTHY again until a corresponding secondary database has been prepared on the replica, has been joined to the availability group, and has become synchronized with the new primary database.

  • Sie ändern das primäre Replikat oder das sekundäre Replikat in den Verfügbarkeitsmodus mit asynchronem Commit.You change the primary replica or the secondary replica to asynchronous-commit availability mode. Nachdem der Modus für asynchrone Commits aktiviert wurde, verbleibt das sekundäre Replikat so lange im Synchronisierungsstatus HEALTHY, bis die Datensynchronisierung fortgesetzt wird.After changing to asynchronous-commit mode, the secondary replica will remain in the HEALTHY synchronization-health state as long as data synchronization continues. Wenn jedoch nur das primäre Replikat in den Modus für asynchrone Commits geändert wird, wechselt das sekundäre Replikat mit synchronem Commit in den Synchronisierungsstatus PARTIALLY_HEALTHY.However, if only the primary replica is changed to asynchronous-commit mode, the synchronous-commit secondary replica will enter the PARTIALLY_HEALTHY synchronization-health state. Dieser Status zeigt an, dass sich mindestens eine Datenbank im Synchronisierungsstatus SYNCHRONIZING, jedoch keine der Datenbanken im Status NOT SYNCHRONIZING befindet.This state indicates that at least one database is in the SYNCHRONIZING synchronization state, but none of the databases are in the NOT SYNCHRONIZING state.

  • Sie ändern alle sekundäre Replikate, indem Sie sie in den Verfügbarkeitsmodus mit synchronem Commit versetzen.You change any secondary replica to synchronous-commit availability mode. Dies bewirkt, dass das sekundäre Replikat mit dem Synchronisierungsstatus PARTIALLY_HEALTHY gekennzeichnet wird.This causes that secondary replica to be marked as in the PARTIALLY_HEALTHY synchronization-health state. bis sich alle zugehörigen Datenbanken im Synchronisierungsstatus SYNCHRONIZED befinden.until all of its databases are in the SYNCHRONIZED synchronization state.

Tipp

Fragen Sie die synchronization_health - oder synchronization_health_desc -Spalte von sys.dm_hadr_availability_group_states, sys.dm_hadr_availability_replica_statesoder sys.dm_hadr_database_replica_statesab, um den Synchronisierungsstatus einer Verfügbarkeitsgruppe, eines Verfügbarkeitsreplikats oder einer Verfügbarkeitsdatenbank anzuzeigen.To view the synchronization health of an availability group, availability replica, or availability database, query the synchronization_health or synchronization_health_desc column of sys.dm_hadr_availability_group_states, sys.dm_hadr_availability_replica_states, or sys.dm_hadr_database_replica_states, respectively.

Wie die Synchronisierung bei einem sekundären Replikat funktioniertHow Synchronization Works on a Secondary Replica

Nachdem im Modus für synchrone Commits ein sekundäres Replikat mit der Verfügbarkeitsgruppe verknüpft und eine Sitzung mit dem primären Replikat eingerichtet wurde, schreibt das sekundäre Replikat eingehende Protokolldatensätze auf den Datenträger (schreibt das Protokoll fest) und sendet eine Bestätigungsmeldung an das primäre Replikat.Under the synchronous-commit mode, after a secondary replica joins the availability group and establishes a session with the primary replica, the secondary replica writes incoming log records to disk (hardens the log) and sends a confirmation message to the primary replica. Sobald das festgeschriebene Protokoll auf der sekundären Datenbank das Ende des Protokolls auf der primären Datenbank erreicht hat, wird der Status der sekundären Datenbank auf SYNCHRONIZED festgelegt.Once the hardened log on the secondary database has caught up the end of log on the primary database, the state of the secondary database is set to SYNCHRONIZED. Wie viel Zeit für die Synchronisierung benötigt wird, hängt in hohem Maße davon ab, wie weit die sekundäre Datenbank zu Beginn der Sitzung gegenüber der primären Datenbank zurücklag (gemessen an der Anzahl der Protokolldatensätze, die anfänglich vom primären Replikat empfangen wurden), sowie von der Arbeitslast der primären Datenbank und der Geschwindigkeit des Computers der Serverinstanz, die als Host für das sekundäre Replikat fungiert.The time required for synchronization depends essentially on how far the secondary database was behind the primary database at the start of the session (measured by the number of log records initially received from the primary replica), the work load on the primary database, and the speed of the computer of the server instance that hosts the secondary replica.

Die synchrone Operation wird wie folgt beibehalten:Synchronous operation is maintained in the following manner:

  1. Sobald eine Transaktion von einem Client empfangen wird, wird der Protokolleintrag für die Transaktion vom primären Replikat in das Transaktionsprotokoll geschrieben und der Protokolldatensatz gleichzeitig an die sekundären Replikate gesendet.On receiving a transaction from a client, the primary replica writes the log for the transaction to the transaction log and concurrently sends the log record to the secondary replicas.

  2. Sobald ein Protokolldatensatz in das Transaktionsprotokoll der primären Datenbank geschrieben wird, kann die Transaktion nur rückgängig gemacht werden, wenn zu diesem Zeitpunkt ein Failover für die sekundäre Datenbank ausgeführt wird, von der das Protokoll nicht empfangen wurde.Once a log record is written to the transaction log of the primary database, the transaction can be undone only if there is a failover at this point to a secondary that did not receive the log. Das primäre Replikat wartet auf die Bestätigung des sekundären Replikats mit synchronem Commit.The primary replica waits for confirmation from the synchronous-commit secondary replica.

  3. Das sekundäre Replikat schreibt das Protokoll auf den Datenträger und gibt eine Bestätigung an das primäre Replikat zurück.The secondary replica hardens the log and returns an acknowledgement to the primary replica.

  4. Sobald das primäre Replikat die Bestätigung vom sekundären Replikat empfängt, beendet es die Commitverarbeitung und sendet eine Bestätigungsmeldung an den Client.On receiving the confirmation from the secondary replica, the primary replica finishes the commit processing and sends a confirmation message to the client.

    Hinweis

    Wenn ein Timeout für ein sekundäres Replikat mit synchronem Commit auftritt, ohne dass das Festschreiben des Protokolls bestätigt wird, kennzeichnet das primäre Replikat dieses sekundäre Replikat als fehlerhaft.If a synchronous-commit secondary replica times out without confirming that it has hardened the log, the primary marks that secondary replica as failed. Der Verbindungsstatus des sekundären Replikats ändert sich in DISCONNECTED, und das primäre Replikat wartet nicht mehr auf die Bestätigung des sekundären Replikats.The connected state of the secondary replica changes to DISCONNECTED, and the primary replica stops waiting for confirmation from the secondary replica. Durch dieses Verhalten wird sichergestellt, dass das Festschreiben des Transaktionsprotokolls auf dem primären Replikat nicht vom sekundären Replikat mit fehlgeschlagenem synchronen Commit verhindert wird.This behavior ensures that a failed synchronous-commit secondary replica does not prevent hardening of the transaction log on the primary replica.

    Im Modus für synchrone Commits werden die Daten dadurch geschützt, dass die an zwei Stellen vorhandenen Daten synchronisiert werden müssen. Dies hat allerdings eine etwas höhere Wartezeit für die Transaktion zur Folge.Synchronous-commit mode protects your data by requiring the data to be synchronized between two places, at the cost of somewhat increasing the latency of the transaction.

Modus für synchrone Commits ausschließlich mit manuellem FailoverSynchronous-Commit Mode with Only Manual Failover

Wenn diese Replikate verbunden sind und die Datenbank synchronisiert ist, wird das manuelle Failover unterstützt.When these replicas are connected and the database is synchronized, manual failover is supported. Ein Ausfall des sekundären Replikats wirkt sich nicht auf das primäre Replikat aus.If the secondary replica goes down, the primary replica is unaffected. Das primäre Replikat wird ungeschützt ausgeführt, wenn keine Replikate mit dem Status SYNCHRONIZED vorhanden sind (das heißt, ohne Daten an ein sekundäres Replikat zu senden).The primary replica runs exposed if no SYNCHRONIZED replicas exist (that is, without sending data to any secondary replica). Wenn das primäre Replikat verloren geht, wechseln die sekundären Replikate in den Status RESOLVING, aber der Datenbankbesitzer kann ein Failover zum sekundären Replikat (mit möglichem Datenverlust) erzwingen.If the primary replica is lost, the secondary replicas enter the RESOLVING state, but the database owner can force a failover to the secondary replica (with possible data loss). Weitere Informationen finden Sie weiter unten in diesem Thema unter Failover und Failovermodi (Always On-Verfügbarkeitsgruppen).For more information, see Failover and Failover Modes (Always On Availability Groups).

Modus für synchrone Commits mit automatischem FailoverSynchronous-Commit Mode with Automatic Failover

Das automatische Failover bietet eine hohe Verfügbarkeit, indem sichergestellt wird, dass die Datenbank nach dem Ausfall des primären Replikats schnell wieder verfügbar gemacht wird.Automatic failover provides high availability by ensuring that the database is quickly made available again after the loss of the primary replica. Um eine Verfügbarkeitsgruppe für ein automatisches Failover zu konfigurieren, müssen Sie sowohl das aktuelle primäre Replikat als auch mindestens ein sekundäres Replikat für den Modus für synchrone Commits mit automatischem Failover festlegen.To configure an availability group for automatic failover, you need to set both the current primary replica and at least one secondary replica to synchronous-commit mode with automatic failover. Sie können bis zu drei Replikate für automatisches Failover haben.You can have up to three automatic failover replicas.

Damit ein automatisches Failover innerhalb einer bestimmten Zeit ausgeführt werden kann, muss dieses sekundäre Replikat darüber hinaus mit dem primären Replikat synchronisiert werden (Synchronisierung aller sekundären Datenbanken), und der WSFC (Windows Server Failover Clustering)-Cluster muss über ein Quorum verfügen.Furthermore, for an automatic failover to be possible at a given time, this secondary replica must be synchronized with the primary replica (that is, the secondary databases are all synchronized), and the Windows Server Failover Clustering (WSFC) cluster must have quorum. Wenn das primäre Replikat unter diesen Bedingungen ausfällt, findet ein automatisches Failover statt.If the primary replica becomes unavailable under these conditions, automatic failover occurs. Das sekundäre Replikat wechselt in die Rolle des primären Replikats und bietet seine Datenbank als primäre Datenbank an.The secondary replica switches to the role of primary, and it offers its database as the primary database. Weitere Informationen finden Sie im Abschnitt „Automatisches Failover“ des Themas Failover und Failovermodi (Always On-Verfügbarkeitsgruppen).For more information, see the "Automatic Failover " section of the Failover and Failover Modes (Always On Availability Groups) topic.

Hinweis

Informationen zu WSFC-Quorum und AlwaysOn-VerfügbarkeitsgruppenAlways On availability groups finden Sie unter WSFC-Quorummodi und Abstimmungskonfiguration (SQL Server).For information about WSFC quorum and AlwaysOn-VerfügbarkeitsgruppenAlways On availability groups, see For more information, see WSFC Quorum Modes and Voting Configuration (SQL Server).

Verwandte AufgabenRelated Tasks

So ändern Sie den Verfügbarkeitsmodus und FailovermodusTo change the availability mode and failover mode

Verwandte InhalteRelated Content

Weitere Informationen finden Sie unterSee Also

Übersicht über AlwaysOn-Verfügbarkeitsgruppen (SQL Server) Overview of Always On Availability Groups (SQL Server)
Failover und Failovermodi (Always On-Verfügbarkeitsgruppen) Failover and Failover Modes (Always On Availability Groups)
Windows Server-Failoverclustering (WSFC) mit SQL ServerWindows Server Failover Clustering (WSFC) with SQL Server