CREATE AVAILABILITY GROUP (Transact-SQL)CREATE AVAILABILITY GROUP (Transact-SQL)

DIESES THEMA GILT FÜR: jaSQL Server (ab 2012)neinAzure SQL-DatenbankneinAzure SQL Data Warehouse neinParallel Data Warehouse THIS TOPIC APPLIES TO: yesSQL Server (starting with 2012)noAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

Erstellt eine neue Verfügbarkeitsgruppe, wenn die Instanz von SQL ServerSQL Server für die AlwaysOn-VerfügbarkeitsgruppenAlways On availability groups-Funktion aktiviert wird.Creates a new availability group, if the instance of SQL ServerSQL Server is enabled for the AlwaysOn-VerfügbarkeitsgruppenAlways On availability groups feature.

Wichtig

Führen Sie CREATE AVAILABILITY GROUP auf die Instanz von SQL ServerSQL Server aus, die als ursprüngliches primäres Replikat der neuen Verfügbarkeitsgruppe verwendet werden soll.Execute CREATE AVAILABILITY GROUP on the instance of SQL ServerSQL Server that you intend to use as the initial primary replica of your new availability group. Diese Serverinstanz muss sich in einem WSFC-Knoten (Windows Server Failover Clustering) befinden.This server instance must reside on a Windows Server Failover Clustering (WSFC) node.

Themenlinksymbol Transact-SQL Syntax Conventions (Transact-SQL-Syntaxkonventionen)Topic link icon Transact-SQL Syntax Conventions

SyntaxSyntax


CREATE AVAILABILITY GROUP group_name  
   WITH (<with_option_spec> [ ,...n ] )  
   FOR [ DATABASE database_name [ ,...n ] ]  
   REPLICA ON <add_replica_spec> [ ,...n ]  
   AVAILABILITY GROUP ON <add_availability_group_spec> [ ,...2 ]  
   [ LISTENER ‘dns_name’ ( <listener_option> ) ]  
[ ; ]  

<with_option_spec>::=   
    AUTOMATED_BACKUP_PREFERENCE = { PRIMARY | SECONDARY_ONLY| SECONDARY | NONE }  
  | FAILURE_CONDITION_LEVEL  = { 1 | 2 | 3 | 4 | 5 }   
  | HEALTH_CHECK_TIMEOUT = milliseconds  
  | DB_FAILOVER  = { ON | OFF }   
  | DTC_SUPPORT  = { PER_DB | NONE }  
  | BASIC  
  | DISTRIBUTED
  | REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT = { integer }
  | CLUSTER_TYPE = { WSFC | EXTERNAL | NONE } 

<add_replica_spec>::=  
  <server_instance> WITH  
    (  
       ENDPOINT_URL = 'TCP://system-address:port',  
       AVAILABILITY_MODE = { SYNCHRONOUS_COMMIT | ASYNCHRONOUS_COMMIT | CONFIGURATION_ONLY },  
       FAILOVER_MODE = { AUTOMATIC | MANUAL | EXTERNAL }  
       [ , <add_replica_option> [ ,...n ] ]  
    )   

  <add_replica_option>::=  
       SEEDING_MODE = { AUTOMATIC | MANUAL }  
     | BACKUP_PRIORITY = n  
     | SECONDARY_ROLE ( {   
            [ ALLOW_CONNECTIONS = { NO | READ_ONLY | ALL } ]   
        [,] [ READ_ONLY_ROUTING_URL = 'TCP://system-address:port' ]  
     } )  
     | PRIMARY_ROLE ( {   
            [ ALLOW_CONNECTIONS = { READ_WRITE | ALL } ]   
        [,] [ READ_ONLY_ROUTING_LIST = { ( ‘<server_instance>’ [ ,...n ] ) | NONE } ]  
     } )  
     | SESSION_TIMEOUT = integer  

<add_availability_group_spec>::=  
 <ag_name> WITH  
    (  
       LISTENER_URL = 'TCP://system-address:port',  
       AVAILABILITY_MODE = { SYNCHRONOUS_COMMIT | ASYNCHRONOUS_COMMIT },  
       FAILOVER_MODE = MANUAL,  
       SEEDING_MODE = { AUTOMATIC | MANUAL }  
    )  

<listener_option> ::=  
   {  
      WITH DHCP [ ON ( <network_subnet_option> ) ]  
    | WITH IP ( { ( <ip_address_option> ) } [ , ...n ] ) [ , PORT = listener_port ]  
   }  

  <network_subnet_option> ::=  
     ‘four_part_ipv4_address’, ‘four_part_ipv4_mask’    

  <ip_address_option> ::=  
     {   
        ‘four_part_ipv4_address’, ‘four_part_ipv4_mask’  
      | ‘ipv6_address’  
     }  

ArgumenteArguments

group_namegroup_name
Gibt den Namen der neuen Verfügbarkeitsgruppe an.Specifies the name of the new availability group. group_name muss ein gültiger SQL ServerSQL Server-Bezeichner und in allen Verfügbarkeitsgruppen im WSFC-Cluster eindeutig sein.group_name must be a valid SQL ServerSQL Serveridentifier, and it must be unique across all availability groups in the WSFC cluster. Die maximale Länge eines Verfügbarkeitsgruppennamens beträgt 128 Zeichen.The maximum length for an availability group name is 128 characters.

AUTOMATED_BACKUP_PREFERENCE = { PRIMARY | SECONDARY_ONLY| SECONDARY | NONE }AUTOMATED_BACKUP_PREFERENCE = { PRIMARY | SECONDARY_ONLY| SECONDARY | NONE }
Legt fest, wie ein Sicherungsauftrag das primäre Replikat auswerten soll, wenn ausgewählt wird, wo Sicherungen ausgeführt werden müssen.Specifies a preference about how a backup job should evaluate the primary replica when choosing where to perform backups. Sie können einen gegebenen Sicherungsauftrag erstellen, um die automatisierte Sicherungseinstellung zu berücksichtigen.You can script a given backup job to take the automated backup preference into account. Die Einstellung wird nicht von SQL ServerSQL Server erzwungen und weist deshalb keine Auswirkungen auf Ad-hoc-Sicherungen auf.It is important to understand that the preference is not enforced by SQL ServerSQL Server, so it has no impact on ad-hoc backups.

Die folgenden Werte werden unterstützt:The supported values are as follows:

PRIMARYPRIMARY
Gibt an, dass die Sicherungen immer auf dem primären Replikat erfolgen müssen.Specifies that the backups should always occur on the primary replica. Diese Option ist hilfreich, wenn Sie Sicherungsfunktionen benötigen, z. B. das Erstellen differenzieller Sicherungen, die nicht unterstützt werden, wenn die Sicherung auf einem sekundären Replikat ausgeführt wird.This option is useful if you need backup features, such as creating differential backups, that are not supported when backup is run on a secondary replica.

Wichtig

Wenn Sie den Protokollversand verwenden möchten, um sekundäre Datenbanken auf eine Verfügbarkeitsgruppe vorzubereiten, legen Sie die Voreinstellung für automatisierte Sicherungen auf Primär fest, bis alle sekundären Datenbanken vorbereitet und mit der Verfügbarkeitsgruppe verknüpft worden sind.If you plan to use log shipping to prepare any secondary databases for an availability group, set the automated backup preference to Primary until all the secondary databases have been prepared and joined to the availability group.

SECONDARY_ONLYSECONDARY_ONLY
Gibt an, dass Sicherungen nie auf dem primären Replikat ausgeführt werden dürfen.Specifies that backups should never be performed on the primary replica. Wenn es sich beim primären Replikat um das einzige Onlinereplikat handelt, darf keine Sicherung erfolgen.If the primary replica is the only replica online, the backup should not occur.

SECONDARYSECONDARY
Gibt an, dass Sicherungen auf einem sekundären Replikat erfolgen müssen, außer wenn es sich beim primären Replikat um das einzige Onlinereplikat handelt.Specifies that backups should occur on a secondary replica except when the primary replica is the only replica online. In diesem Fall muss die Sicherung auf dem primären Replikat erfolgen.In that case, the backup should occur on the primary replica. Dies ist das Standardverhalten.This is the default behavior.

KeineNONE
Gibt an, dass Sicherungsaufträge die Rolle der Verfügbarkeitsreplikate ignorieren sollen, wenn sie das Replikat zum Durchführen der Sicherungen auswählen.Specifies that you prefer that backup jobs ignore the role of the availability replicas when choosing the replica to perform backups. Hinweis: Sicherungsaufträge können andere Faktoren auswerten, wie z. B. die Sicherungspriorität jedes Verfügbarkeitsreplikats in Verbindung mit seinem Betriebszustand und Verbindungsstatus.Note backup jobs might evaluate other factors such as backup priority of each availability replica in combination with its operational state and connected state.

Wichtig

Die Einstellung AUTOMATED_BACKUP_PREFERENCE wird nicht erzwungen.There is no enforcement of the AUTOMATED_BACKUP_PREFERENCE setting. Die Interpretation dieser Einstellung hängt von der Logik ab, die Sie ggf. per Skript in Sicherungsaufträge für die Datenbanken in einer angegebenen Verfügbarkeitsgruppe integriert haben.The interpretation of this preference depends on the logic, if any, that you script into back jobs for the databases in a given availability group. Die Voreinstellung für die automatisierte Sicherung hat keine Auswirkungen auf Ad-hoc-Sicherungen.The automated backup preference setting has no impact on ad-hoc backups. Weitere Informationen finden Sie unter Konfigurieren der Sicherung auf Verfügbarkeitsreplikaten (SQL Server).For more information, see Configure Backup on Availability Replicas (SQL Server).

Hinweis

Um die automatisierte Sicherungseinstellung einer vorhandenen Verfügbarkeitsgruppe anzuzeigen, wählen Sie die Spalten automated_backup_preference oder automated_backup_preference_desc der Katalogsicht sys.availability_groups aus.To view the automated backup preference of an existing availability group, select the automated_backup_preference or automated_backup_preference_desc column of the sys.availability_groups catalog view. Darüber hinaus kann sys.fn_hadr_backup_is_preferred_replica (Transact-SQL) verwendet werden, um das bevorzugte Sicherungsreplikat zu bestimmen.Additionally, sys.fn_hadr_backup_is_preferred_replica (Transact-SQL) can be used to determine the preferred backup replica. Diese Funktion gibt für mindestens eines der Replikate 1 zurück, sogar wenn AUTOMATED_BACKUP_PREFERENCE = NONE ist.This function returns 1 for at least one of the replicas, even when AUTOMATED_BACKUP_PREFERENCE = NONE.

FAILURE_CONDITION_LEVEL = { 1 | 2 | 3 | 4 | 5 }FAILURE_CONDITION_LEVEL = { 1 | 2 | 3 | 4 | 5 }
Gibt an, welche Fehlerbedingungen ein automatisches Failover für diese Verfügbarkeitsgruppe auslösen.Specifies what failure conditions trigger an automatic failover for this availability group. FAILURE_CONDITION_LEVEL wird auf Gruppenebene festgelegt, ist aber nur auf Verfügbarkeitsreplikaten relevant, die für den Verfügbarkeitsmodus mit synchronen Commits (AVAILIBILITY_MODE = SYNCHRONOUS_COMMIT) konfiguriert sind.FAILURE_CONDITION_LEVEL is set at the group level but is relevant only on availability replicas that are configured for synchronous-commit availability mode (AVAILIBILITY_MODE = SYNCHRONOUS_COMMIT). Weiterhin können Fehlerbedingungen nur ein automatisches Failover auslösen, wenn das primäre und das sekundäre Replikat für den automatischen Failovermodus konfiguriert sind (FAILOVER_MODE = AUTOMATIC) und das sekundäre Replikat gerade mit dem primären Replikat synchronisiert wird.Furthermore, failure conditions can trigger an automatic failover only if both the primary and secondary replicas are configured for automatic failover mode (FAILOVER_MODE = AUTOMATIC) and the secondary replica is currently synchronized with the primary replica.

Die Fehlerbedingungsebenen (1-5) reichen von der Ebene 1 mit den wenigsten Einschränkungen bis zur Ebene 5 mit den meisten Einschränkungen.The failure-condition levels (1–5) range from the least restrictive, level 1, to the most restrictive, level 5. Jede Bedingungsebene umfasst stets auch sämtliche weniger restriktiven Ebenen.A given condition level encompasses all the less restrictive levels. Daher schließt die strengste Bedingungsebene 5 die vier Bedingungsebenen mit weniger Einschränkungen (1-4) ein, Ebene 4 schließt die Ebenen 1-3 ein usw.Thus, the strictest condition level, 5, includes the four less restrictive condition levels (1-4), level 4 includes levels 1-3, and so forth. In der folgenden Tabelle wird die Fehlerbedingung beschrieben, die der jeweiligen Ebene entspricht.The following table describes the failure-condition that corresponds to each level.

EbeneLevel FehlerbedingungFailure Condition
11 Gibt an, dass in einem der folgenden Fälle ein automatisches Failover initiiert werden muss:Specifies that an automatic failover should be initiated when any of the following occurs:

– Der SQL ServerSQL Server-Dienst ist ausgefallen.-The SQL ServerSQL Server service is down.

– Die Lesedauer der Verfügbarkeitsgruppe für die Verbindung mit dem WSFC-Cluster läuft ab, da keine ACK-Meldung von der Serverinstanz empfangen wird.-The lease of the availability group for connecting to the WSFC cluster expires because no ACK is received from the server instance. Weitere Informationen finden Sie unter How It Works: SQL Server AlwaysOn Lease Timeout.For more information, see How It Works: SQL Server Always On Lease Timeout.
22 Gibt an, dass in einem der folgenden Fälle ein automatisches Failover initiiert werden muss:Specifies that an automatic failover should be initiated when any of the following occurs:

– Die Instanz von SQL ServerSQL Server stellt keine Verbindung mit dem Cluster her, und der vom Benutzer angegebene HEALTH_CHECK_TIMEOUT-Schwellenwert der Verfügbarkeitsgruppe wurde überschritten.-The instance of SQL ServerSQL Server does not connect to cluster, and the user-specified HEALTH_CHECK_TIMEOUT threshold of the availability group is exceeded.

– Das Verfügbarkeitsreplikat weist einen fehlerhaften Status auf.-The availability replica is in failed state.
33 Gibt an, dass ein automatisches Failover bei kritischen internen SQL ServerSQL Server-Fehlern initiiert werden soll, z. B. verwaisten Spinlocks, schwerwiegenden Schreibzugriffsverletzungen oder zu vielen Sicherungen.Specifies that an automatic failover should be initiated on critical SQL ServerSQL Server internal errors, such as orphaned spinlocks, serious write-access violations, or too much dumping.

Dies ist das Standardverhalten.This is the default behavior.
44 Gibt an, dass ein automatisches Failover bei mittelschweren internen SQL ServerSQL Server-Fehlern initiiert werden soll, z. B. bei dauerhaft unzureichendem Arbeitsspeicher im internen SQL ServerSQL Server-Ressourcenpool.Specifies that an automatic failover should be initiated on moderate SQL ServerSQL Server internal errors, such as a persistent out-of-memory condition in the SQL ServerSQL Server internal resource pool.
55 Gibt an, dass ein automatisches Failover bei sämtlichen qualifizierten Fehlerbedingungen initiiert werden soll, einschließlich:Specifies that an automatic failover should be initiated on any qualified failure conditions, including:

– Erschöpfung der SQL Engine-Arbeitsthreads.-Exhaustion of SQL Engine worker-threads.

– Erkennung eines unlösbaren Deadlocks.-Detection of an unsolvable deadlock.

Hinweis

Das Fehlen einer Reaktion auf Clientanforderungen durch eine SQL ServerSQL Server-Instanz ist für Verfügbarkeitsgruppen nicht relevant.Lack of response by an instance of SQL ServerSQL Server to client requests is not relevant to availability groups.

Der FAILURE_CONDITION_LEVEL- und der HEALTH_CHECK_TIMEOUT-Wert definieren eine flexible Failoverrichtlinie für eine angegebene Gruppe.The FAILURE_CONDITION_LEVEL and HEALTH_CHECK_TIMEOUT values, define a flexible failover policy for a given group. Diese flexible Failoverrichtlinie bietet eine präzise Kontrolle der Bedingungen, die ein automatisches Failover verursachen müssen.This flexible failover policy provides you with granular control over what conditions must cause an automatic failover. Weitere Informationen finden Sie unter Flexible Failoverrichtlinie für automatisches Failover einer Verfügbarkeitsgruppe (SQL Server).For more information, see Flexible Failover Policy for Automatic Failover of an Availability Group (SQL Server).

HEALTH_CHECK_TIMEOUT = millisecondsHEALTH_CHECK_TIMEOUT = milliseconds
Gibt die Wartezeit (in Millisekunden) für die gespeicherte sp_server_diagnostics-Systemprozedur an, um Informationen über den Serverzustand zurückzugeben, ehe der WSFC-Cluster annimmt, dass die Serverinstanz langsam oder blockiert ist.Specifies the wait time (in milliseconds) for the sp_server_diagnostics system stored procedure to return server-health information before the WSFC cluster assumes that the server instance is slow or hung. HEALTH_CHECK_TIMEOUT wird auf Gruppenebene festgelegt, ist aber nur für Verfügbarkeitsreplikate relevant, die für den Verfügbarkeitsmodus für synchrone Commits mit automatischem Failover (AVAILIBILITY_MODE = SYNCHRONOUS_COMMIT) konfiguriert sind.HEALTH_CHECK_TIMEOUT is set at the group level but is relevant only on availability replicas that are configured for synchronous-commit availability mode with automatic failover (AVAILIBILITY_MODE = SYNCHRONOUS_COMMIT). Weiterhin kann ein Integritätsprüfungstimeout nur ein automatisches Failover auslösen, wenn das primäre und das sekundäre Replikat für den automatischen Failovermodus konfiguriert sind (FAILOVER_MODE = AUTOMATIC) und das sekundäre Replikat gerade mit dem primären Replikat synchronisiert wird.Furthermore, a health-check timeout can trigger an automatic failover only if both the primary and secondary replicas are configured for automatic failover mode (FAILOVER_MODE = AUTOMATIC) and the secondary replica is currently synchronized with the primary replica.

Der standardmäßige HEALTH_CHECK_TIMEOUT-Wert beträgt 30.000 Millisekunden (30 Sekunden).The default HEALTH_CHECK_TIMEOUT value is 30000 milliseconds (30 seconds). Der minimale Wert beträgt 15.000 Millisekunden (15 Sekunden) und der maximale Wert 4.294.967.295 Millisekunden.The minimum value is 15000 milliseconds (15 seconds), and the maximum value is 4294967295 milliseconds.

Wichtig

sp_server_diagnostics führt keine Integritätsprüfungen auf Datenbankebene aus.sp_server_diagnostics does not perform health checks at the database level.

DB_FAILOVER = { ON | OFF }DB_FAILOVER = { ON | OFF }
Gibt die Antwort an, die akzeptiert wird, wenn eine Datenbank auf dem primären Replikat offline ist.Specifies the response to take when a database on the primary replica is offline. Wenn diese Option auf ON festgelegt ist, löst jeder Status außer ONLINE für eine Datenbank in der Verfügbarkeitsgruppe ein automatisches Failover aus.When set to ON, any status other than ONLINE for a database in the availability group triggers an automatic failover. Wenn diese Option auf OFF festgelegt ist, wird nur die Integrität der Instanz verwendet, um ein automatisches Failover auszulösen.When this option is set to OFF, only the health of the instance is used to trigger automatic failover.

Weitere Informationen zu dieser Einstellung finden Sie unter Integritätserkennung auf Datenbankebene.For more information regarding this setting, see Database Level Health Detection Option

DTC_SUPPORT = { PER_DB | NONE }DTC_SUPPORT = { PER_DB | NONE }
Gibt an, ob datenbankübergreifende Transaktionen vom Distributed Transaction Coordinator (DTC) unterstützt werden.Specifies whether cross-database transactions are supported through the distributed transaction coordinator (DTC). Datenbankübergreifende Transaktionen werden erst ab SQL Server 2016 (13.x)SQL Server 2016 (13.x) unterstützt.Cross-database transactions are only supported beginning in SQL Server 2016 (13.x)SQL Server 2016 (13.x). PER_DB erstellt die Verfügbarkeitsgruppe mit Unterstützung für diese Transaktionen.PER_DB creates the availability group with support for these transactions. Weitere Informationen finden Sie unter Datenbankübergreifende Transaktionen und verteilte Transaktionen für Always On-Verfügbarkeitsgruppen oder Datenbankspiegelung (SQL Server).For more information, see Cross-Database Transactions and Distributed Transactions for Always On Availability Groups and Database Mirroring (SQL Server).

BASICBASIC
Dient zum Erstellen einer Basis-Verfügbarkeitsgruppe.Used to create a basic availability group. Basis-Verfügbarkeitsgruppen sind auf eine Datenbank und zwei Replikate beschränkt: ein primäres und ein sekundäres Replikat.Basic availability groups are limited to one database and two replicas: a primary replica and one secondary replica. Diese Option ist ein Ersatz für veraltete Datenbankspiegelungsfeatures in SQL Server Standard Edition.This option is a replacement for the deprecated database mirroring feature on SQL Server Standard Edition. Weitere Informationen finden Sie unter Basis-Verfügbarkeitsgruppen (Always On-Verfügbarkeitsgruppen).For more information, see Basic Availability Groups (Always On Availability Groups). Basis-Verfügbarkeitsgruppen werden ab SQL Server 2016 (13.x)SQL Server 2016 (13.x) unterstützt.Basic availability groups are supported beginning in SQL Server 2016 (13.x)SQL Server 2016 (13.x).

DISTRIBUTEDDISTRIBUTED
Dient zum Erstellen einer verteilten Verfügbarkeitsgruppe.Used to create a distributed availability group. Diese Option wird mit dem Parameter AVAILABILITY GROUP ON verwendet, um die Verbindung von zwei Verfügbarkeitsgruppen in separaten Windows Server-Failoverclustern herzustellen.This option is used with the AVAILABILITY GROUP ON parameter to connect two availability groups in separate Windows Server Failover Clusters. Weitere Informationen finden Sie unter Verteilte Verfügbarkeitsgruppen (AlwaysOn-Verfügbarkeitsgruppen).For more information, see Distributed Availability Groups (Always On Availability Groups). Verteilte Verfügbarkeitsgruppen werden ab SQL Server 2016 (13.x)SQL Server 2016 (13.x) unterstützt.Distributed availability groups are supported beginning in SQL Server 2016 (13.x)SQL Server 2016 (13.x).

REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMITREQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT
Eingeführt in SQL Server 2017.Introduced in SQL Server 2017. Dient zum Festlegen einer minimalen Anzahl synchroner sekundärer Replikate, um einen Commit auszuführen, bevor das primäre Replikat einen Commit für die Transaktion ausführt.Used to set a minimum number of synchronous secondary replicas required to commit before the primary commits a transaction. Garantiert, dass die SQL Server-Transaktion wartet, bis die Transaktionsprotokolle für die minimale Anzahl von sekundären Replikaten aktualisiert werden.Guarantees that SQL Server transaction waits until the transaction logs are updated on the minimum number of secondary replicas. Der Standardwert ist 0. Dies bietet das gleiche Verhalten wie SQL Server 2016.The default is 0 which gives the same behavior as SQL Server 2016. Der Mindestwert beträgt 0.The minimum value is 0. Der maximale Wert ist die Anzahl der Replikate minus 1.The maximum value is the number of replicas minus 1. Diese Option bezieht sich auf Replikate im synchronen Commitmodus.This option relates to replicas in synchronous commit mode. Wenn sich Replikate im synchronen Commitmodus befinden, warten Schreibvorgänge auf dem primären Replikat, bis Schreibvorgänge auf dem zweiten synchronen Replikat an das Transaktionsprotokoll der Replikatsdatenbank übergeben werden.When replicas are in synchronous commit mode, writes on the primary replica wait until writes on the secondary synchronous replicas are committed to the replica database transaction log. Wenn ein SQL Server, der ein sekundäres synchronisiertes Replikat hostet, nicht mehr reagiert, markiert der SQL Server, der das erste primäre Replikat hostet, dieses sekundäre Replikat als NOT SYNCHRONIZED und setzt den Vorgang fort.If a SQL Server that hosts a secondary synchronous replica stops responding, the SQL Server that hosts the primary replica marks that secondary replica as NOT SYNCHRONIZED and proceed. Wenn die nicht reagierende Datenbank wieder online geschaltet wird, befindet sie sich im Zustand „nicht synchronisiert“, und das Replikat wird als fehlerhaft markiert, bis das primäre Replikat den Zustand „synchron“ wiederherstellen kann.When the unresponsive database comes back online it is in a "not synced" state and the replica marked as unhealthy until the primary can make it synchronous again. Diese Einstellung stellt sicher, dass das primäre Replikat wartet, bis die minimale Anzahl der Replikate ein Commit für jede Transaktion ausgeführt hat.This setting guarantees that the primary replica waits until the minimum number of replicas have committed each transaction. Wenn die minimale Anzahl der Replikate nicht verfügbar ist, schlagen Commits auf dem primären Replikat fehl.If the minimum number of replicas is not available then commits on the primary fail. Für den Clustertyp EXTERNAL wird diese Einstellung geändert, wenn die Verfügbarkeitsgruppe der Clusterressource hinzugefügt wird.For cluster type EXTERNAL the setting is changed when the availability group is added to a cluster resource. Weitere Informationen finden Sie unter Hochverfügbarkeit und Schutz von Daten für Verfügbarkeitsgruppenkonfigurationen.See High availability and data protection for availability group configurations.

CLUSTER_TYPECLUSTER_TYPE
Eingeführt in SQL Server 2017.Introduced in SQL Server 2017. Wird verwendet, um festzustellen, ob sich die Verfügbarkeitsgruppe auf einem Windows Server-Failovercluster (WSFC) befindet.Used to identify if the availability group is on a Windows Server Failover Cluster (WSFC). Die Option ist auf „WSFC“ festgelegt, wenn sich die Verfügbarkeitsgruppe auf einer Failoverclusterinstanz befindet, die zu einem Windows-Failovercluster gehört.Set to WSFC when availability group is on a failover cluster instance on a Windows Server failover cluster. Sie ist auf EXTERNAL festgelegt, wenn der Cluster von einem Cluster-Manager verwaltet wird, bei dem es sich nicht um einen Windows Server-Failovercluster handelt, z.B. Linux Pacemaker.Set to EXTERNAL when the cluster is managed by a cluster manager that is not a Windows Server failover cluster, like Linux Pacemaker. Sie ist auf NONE festgelegt, wenn die Verfügbarkeitsgruppe für die Clusterkoordination keinen WSFC verwendet.Set to NONE when availability group not using WSFC for cluster coordination. Dies ist z.B. der Fall, wenn eine Verfügbarkeitsgruppe Linux-Server ohne Cluster-Manager enthält.For example, when an availability group includes Linux servers with no cluster manager.

DATABASE database_nameDATABASE database_name
Gibt eine Liste mit mindestens einer Benutzerdatenbank auf der lokalen SQL ServerSQL Server-Instanz an (der Serverinstanz, auf der Sie die Verfügbarkeitsgruppe erstellen).Specifies a list of one or more user databases on the local SQL ServerSQL Server instance (that is, the server instance on which you are creating the availability group). Sie können mehrere Datenbanken für eine Verfügbarkeitsgruppe angeben, aber jede Datenbank kann nur zu einer Verfügbarkeitsgruppe gehören.You can specify multiple databases for an availability group, but each database can belong to only one availability group. Informationen über die Datenbanktypen, für die eine Verfügbarkeitsgruppe Unterstützung bietet finden Sie unter Voraussetzungen, Einschränkungen und Empfehlungen für Always On-Verfügbarkeitsgruppen(SQL Server).For information about the type of databases that an availability group can support, see Prerequisites, Restrictions, and Recommendations for Always On Availability Groups (SQL Server). In der Spalte replica_id in der sys.databases-Katalogsicht können Sie überprüfen, welche lokalen Datenbanken bereits zu einer Verfügbarkeitsgruppe gehören.To find out which local databases already belong to an availability group, see the replica_id column in the sys.databases catalog view.

Die DATABASE-Klausel ist optional.The DATABASE clause is optional. Wenn sie weggelassen wird, ist die neue Verfügbarkeitsgruppe leer.If you omit it, the new availability group is empty.

Stellen Sie nach dem Erstellen der Verfügbarkeitsgruppe eine Verbindung zu jeder Serverinstanz her, die ein sekundäres Replikat hostet, und bereiten Sie anschließend alle sekundären Datenbankn vor und verknüpfen Sie sie mit der Verfügbarkeitsgruppe.After you have created the availability group, connect to each server instance that hosts a secondary replica and then prepare each secondary database and join it to the availability group. Weitere Informationen finden Sie weiter unten in diesem Thema im Abschnitt Starten der Datenverschiebung auf einer sekundären Always On-Datenbank (SQL Server).For more information, see Start Data Movement on an Always On Secondary Database (SQL Server).

Hinweis

Später können Sie berechtigte Datenbanken auf der Serverinstanz hinzufügen, die das primäre Replikat für eine Verfügbarkeitsgruppe hostet.Later, you can add eligible databases on the server instance that hosts the current primary replica to an availability group. Sie können zudem eine Datenbank aus einer Verfügbarkeitsgruppe entfernen.You can also remove a database from an availability group. Weitere Informationen finden Sie unter ALTER AVAILABILITY GROUP (Transact-SQL)hinzugefügt wird.For more information, see ALTER AVAILABILITY GROUP (Transact-SQL).

REPLICA ONREPLICA ON
Gibt eine bis fünf SQL Server-Instanzen als Hostverfügbarkeitsreplikate in der neuen Verfügbarkeitsgruppe an.Specifies from one to five SQL server instances to host availability replicas in the new availability group. Jedes Replikat wird von seiner Serverinstanzadresse gefolgt von einer WITH (…)-Klausel angegeben.Each replica is specified by its server instance address followed by a WITH (…) clause. Sie müssen mindestens die lokale Serverinstanz angeben, die als ursprüngliches primäres Replikat fungieren soll.Minimally, you must specify your local server instance, which becomes the initial primary replica. Optional können Sie auch bis zu vier sekundäre Replikate angeben.Optionally, you can also specify up to four secondary replicas.

Sie müssen jedes sekundäre Replikat mit der Verfügbarkeitsgruppe verknüpfen.You need to join every secondary replica to the availability group. Weitere Informationen finden Sie unter ALTER AVAILABILITY GROUP (Transact-SQL)hinzugefügt wird.For more information, see ALTER AVAILABILITY GROUP (Transact-SQL).

Hinweis

Wenn Sie weniger als vier sekundäre Replikate beim Erstellen einer Verfügbarkeitsgruppe angeben, können Sie jederzeit mit der ALTER AVAILABILITY GROUP Transact-SQLTransact-SQL-Anweisung ein zusätzliches sekundäres Replikat hinzufügen.If you specify less than four secondary replicas when you create an availability group, you can an additional secondary replica at any time by using the ALTER AVAILABILITY GROUP Transact-SQLTransact-SQL statement. Außerdem können Sie mit dieser Anweisung alle sekundären Replikate aus einer vorhandenen Verfügbarkeitsgruppe entfernen.You can also use this statement this remove any secondary replica from an existing availability group.

<server_instance> gibt die Adresse der Instanz von SQL ServerSQL Server an, die als Host für ein Replikat fungiert.<server_instance> Specifies the address of the instance of SQL ServerSQL Server that is the host for an replica. Das Adressformat hängt davon ab, ob die Instanz die Standardinstanz oder eine benannte Instanz ist und ob es eine eigenständige Instanz oder eine Failoverclusterinstanz (FCI) ist, wie dies im Folgenden beschrieben ist:The address format depends on whether the instance is the default instance or a named instance and whether it is a standalone instance or a failover cluster instance (FCI), as follows:

{ 'system_name[\instance_name]' | 'FCI_network_name[\instance_name]' }{ 'system_name[\instance_name]' | 'FCI_network_name[\instance_name]' }

Diese Adresse weist die folgenden Komponenten auf:The components of this address are as follows:

system_namesystem_name
Der NetBIOS-Name des Computersystems, auf dem sich eine SQL ServerSQL Server-Zielinstanz befindet.Is the NetBIOS name of the computer system on which the target instance of SQL ServerSQL Server resides. Dieser Computer muss ein WSFC-Knoten sein.This computer must be a WSFC node.

FCI_network_nameFCI_network_name
Ist der Netzwerkname, der verwendet wird, um auf einen SQL ServerSQL Server-Failovercluster zuzugreifen.Is the network name that is used to access a SQL ServerSQL Server failover cluster. Verwenden Sie diesen Namen, wenn die Serverinstanz als SQL ServerSQL Server-Failoverpartner beteiligt ist.Use this if the server instance participates as a SQL ServerSQL Server failover partner. Wenn SELECT @@SERVERNAME in einer FCI-Serverinstanz ausgeführt wird, wird die gesamte 'FCI_network_name[\instance_name]'-Zeichenfolge zurückgegeben (dabei handelt es sich um den vollständigen Replikatnamen).Executing SELECT @@SERVERNAME on an FCI server instance returns its entire 'FCI_network_name[\instance_name]' string (which is the full replica name).

instance_nameinstance_name
Der Name einer SQL ServerSQL Server-Instanz, die von system_name oder FCI_network_name gehostet wird und für die der HADR-Dienst aktiviert ist.Is the name of an instance of a SQL ServerSQL Server that is hosted by system_name or FCI_network_name and that has HADR service is enabled. Bei einer Standardserverinstanz ist instance_name optional.For a default server instance, instance_name is optional. Bei dem Instanznamen wird die Groß-/Kleinschreibung berücksichtigt.The instance name is case insensitive. In einer eigenständigen Serverinstanz stimmt der Name dieses Werts mit dem Wert überein, der beim Ausführen von SELECT @@SERVERNAME zurückgegeben wird.On a stand-alone server instance, this value name is the same as the value returned by executing SELECT @@SERVERNAME.

\
Ist eine Trennzeichen, das nur bei der Angabe von instance_name verwendet wird, um dieses Element von system_name oder FCI_network_name zu trennen.Is a separator used only when specifying instance_name, in order to separate it from system_name or FCI_network_name.

Informationen zu den Voraussetzungen für WSFC-Knoten und Serverinstanzen finden Sie unter Voraussetzungen, Einschränkungen und Empfehlungen für Always On-Verfügbarkeitsgruppen(SQL Server).For information about the prerequisites for WSFC nodes and server instances, see Prerequisites, Restrictions, and Recommendations for Always On Availability Groups (SQL Server).

ENDPOINT_URL =' TCP ://system-address:port'ENDPOINT_URL =' TCP ://system-address:port'
Gibt den URL-Pfad des Datenbankspiegelungsendpunkts in der SQL ServerSQL Server-Instanz an, die das Verfügbarkeitsreplikat hostet, das Sie in der aktuellen REPLICA ON-Klausel definieren.Specifies the URL path for the database mirroring endpoint on the instance of SQL ServerSQL Server that hosts the availability replica that you are defining in your current REPLICA ON clause.

Die ENDPOINT_URL-Klausel ist erforderlich.The ENDPOINT_URL clause is required. Weitere Informationen finden Sie unter Angeben der Endpunkt-URL beim Hinzufügen oder Ändern eines Verfügbarkeitsreplikats (SQL Server)zu unterstützen.For more information, see Specify the Endpoint URL When Adding or Modifying an Availability Replica (SQL Server).

' TCP ://system-address:port'' TCP ://system-address:port'
Gibt eine URL zum Bestimmen einer Endpunkt-URL oder einer URL für das schreibgeschützte Routing an.Specifies a URL for specifying an endpoint URL or read-only routing URL. Die URL-Parameter lauten wie folgt:The URL parameters are as follows:

system-addresssystem-address
Ist eine Zeichenfolge, beispielsweise ein Systemname, ein vollqualifizierter Domänenname oder eine IP-Adresse, die das Zielcomputersystem eindeutig identifiziert.Is a string, such as a system name, a fully qualified domain name, or an IP address, that unambiguously identifies the destination computer system.

portport
Ist eine Portnummer, die dem Spiegelungsendpunkt der Partnerserverinstanz (für die ENDPOINT_URL-Option) oder der Portnummer, die von DatenbankmodulDatabase Engine der Serverinstanz (für die READ_ONLY_ROUTING_URL-Option) verwendet wird, zugeordnet ist.Is a port number that is associated with the mirroring endpoint of the partner server instance (for the ENDPOINT_URL option) or the port number used by the DatenbankmodulDatabase Engine of the server instance (for the READ_ONLY_ROUTING_URL option).

AVAILABILITY_MODE = { {SYNCHRONOUS_COMMIT | ASYNCHRONOUS_COMMIT | CONFIGURATION_ONLY }AVAILABILITY_MODE = { {SYNCHRONOUS_COMMIT | ASYNCHRONOUS_COMMIT | CONFIGURATION_ONLY }
SYNCHRONOUS_COMMIT oder ASYNCHRONOUS_COMMIT geben an, ob das primäre Replikat auf das sekundäre Replikat warten muss, um das Verstärken (Schreiben) der Protokolldatensätze auf einem Datenträger zu bestätigen, bevor das primäre Replikat die Transaktion auf einer bestimmten primären Datenbank ausführen kann.SYNCHRONOUS_COMMIT or ASYNCHRONOUS_COMMIT specifies whether the primary replica has to wait for the secondary replica to acknowledge the hardening (writing) of the log records to disk before the primary replica can commit the transaction on a given primary database. Die Transaktionen auf anderen Datenbanken über dasselbe primäre Replikat können unabhängig einen Commit ausführen.The transactions on different databases on the same primary replica can commit independently. SQL Server 2017 CU 1 führt CONFIGURATION_ONLY ein.SQL Server 2017 CU 1 introduces CONFIGURATION_ONLY. Das CONFIGURATION_ONLY-Replikat gilt nur für Verfügbarkeitsgruppen mit CLUSTER_TYPE = EXTERNAL oder CLUSTER_TYPE = NONE.CONFIGURATION_ONLY replica only applies to availability groups with CLUSTER_TYPE = EXTERNAL or CLUSTER_TYPE = NONE.

SYNCHRONOUS_COMMITSYNCHRONOUS_COMMIT
Gibt an, dass das primäre Replikat mit der Ausführung von Transaktionen wartet, bis sie auf diesem sekundären Replikat (Modus mit synchronem Commit) verstärkt wurden.Specifies that the primary replica waits to commit transactions until they have been hardened on this secondary replica (synchronous-commit mode). Sie können SYNCHRONOUS_COMMIT für bis zu drei Replikate angeben, einschließlich des primären Replikats.You can specify SYNCHRONOUS_COMMIT for up to three replicas, including the primary replica.

ASYNCHRONOUS_COMMITASYNCHRONOUS_COMMIT
Gibt an, dass das primäre Replikat einen Commit für Transaktionen ausführt, ohne zu warten, bis dieses sekundäre Replikat das Protokoll verstärkt (Verfügbarkeitsmodus mit synchronem Commit).Specifies that the primary replica commits transactions without waiting for this secondary replica to harden the log (synchronous-commit availability mode). Sie können ASYNCHRONOUS_COMMIT für bis zu fünf Verfügbarkeitsreplikate angeben, einschließlich des primären Replikats.You can specify ASYNCHRONOUS_COMMIT for up to five availability replicas, including the primary replica.

CONFIGURATION_ONLY gibt an, dass das primäre Replikat ein synchrones Commit für Metadaten von Verfügbarkeitsgruppen an die Masterdatenbanken auf diesem Replikat durchführt.CONFIGURATION_ONLY Specifies that the primary replica synchronously commit availability group configuration metadata to the master database on this replica. Das Replikat enthält keine Benutzerdaten.The replica will not contain user data. Diese Option:This option:

  • Kann auf einer beliebigen Edition von SQL Server, darunter Express Edition gehostet werden.Can be hosted on any edition of SQL Server, including Express Edition.
  • Erfordert, dass der Datenbankspiegelungs-Endpunkt des CONFIGURATION_ONLY-Replikats vom Typ WITNESS ist.Requires the data mirroring endpoint of the CONFIGURATION_ONLY replica to be type WITNESS.
  • Kann nicht geändert werden.Can not be altered.
  • Ist nicht gültig, wenn CLUSTER_TYPE = WSFC.Is not valid when CLUSTER_TYPE = WSFC.

    Weitere Informationen finden Sie unter Configuration only replica (Configuration only-Replikat).For more information, see Configuration only replica.

    Die AVAILABILITY_MODE-Klausel ist erforderlich.The AVAILABILITY_MODE clause is required. Weitere Informationen finden Sie unter Verfügbarkeitsmodi (Always On-Verfügbarkeitsgruppen)ausgetauscht werden.For more information, see Availability Modes (Always On Availability Groups).

    FAILOVER_MODE = { AUTOMATIC | MANUAL }FAILOVER_MODE = { AUTOMATIC | MANUAL }
    Gibt den Failovermodus des Verfügbarkeitsreplikats an, das Sie definieren.Specifies the failover mode of the availability replica that you are defining.

    AUTOMATICAUTOMATIC
    Aktiviert das automatische Failover.Enables automatic failover. Diese Option wird nur unterstützt, wenn Sie auch AVAILABILITY_MODE = SYNCHRONOUS_COMMIT angeben.This option is supported only if you also specify AVAILABILITY_MODE = SYNCHRONOUS_COMMIT. Sie können AUTOMATIC für zwei Verfügbarkeitsreplikate angeben, einschließlich des primären Replikats.You can specify AUTOMATIC for two availability replicas, including the primary replica.

Hinweis

SQL Server-Failoverclusterinstanzen (FCIs) unterstützen kein automatisches Failover durch Verfügbarkeitsgruppen. Daher können die Verfügbarkeitsreplikate, die von einer FCI gehostet werden, nur für manuelles Failover konfiguriert werden.SQL Server Failover Cluster Instances (FCIs) do not support automatic failover by availability groups, so any availability replica that is hosted by an FCI can only be configured for manual failover.

MANUALMANUAL
Ermöglicht ein geplantes manuelles Failover oder ein erzwungenes manuelles Failover (üblicherweise als erzwungenes Failover bezeichnet) durch den Datenbankadministrator.Enables planned manual failover or forced manual failover (typically called forced failover) by the database administrator.

Die FAILOVER_MODE-Klausel ist erforderlich.The FAILOVER_MODE clause is required. Die beiden Typen des manuellen Failovers, manuelles Failover ohne Datenverlust und erzwungenes Failover (mit möglichem Datenverlust), werden unter unterschiedlichen Bedingungen unterstützt.The two types of manual failover, manual failover without data loss and forced failover (with possible data loss), are supported under different conditions. 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).

SEEDING_MODE = { AUTOMATIC | MANUAL }SEEDING_MODE = { AUTOMATIC | MANUAL }
Gibt an, wie für das sekundäre Replikat zuerst ein Seeding durchgeführt wird.Specifies how the secondary replica is initially seeded.

AUTOMATICAUTOMATIC
Ermöglicht direktes Seeding.Enables direct seeding. Diese Methode startet das sekundäre Replikat über das Netzwerk.This method seeds the secondary replica over the network. Mit dieser Methode ist es nicht mehr erforderlich, eine Kopie der primären Datenbank zu sichern und auf dem Replikat wiederherzustellen.This method does not require you to backup and restore a copy of the primary database on the replica.

Hinweis

Um das direkte Seeding zu ermöglichen, müssen Sie die Datenbankerstellung auf jedem sekundären Replikat zulassen, indem Sie den Befehl ALTER AVAILABILITY GROUP mit der Option GRANT CREATE ANY DATABASE aufrufen.For direct seeding, you must allow database creation on each secondary replica by calling ALTER AVAILABILITY GROUP with the GRANT CREATE ANY DATABASE option.

MANUALMANUAL
Gibt das manuelle Seeding an (Standard).Specifies manual seeding (default). Bei dieser Methode müssen Sie eine Sicherungskopie der Datenbank auf dem primären Replikat erstellen und diese manuell auf dem sekundären Replikat wiederherstellen.This method requires you to create a backup of the database on the primary replica and manually restore that backup on the secondary replica.

BACKUP_PRIORITY = nBACKUP_PRIORITY = n
Gibt die Priorität für die Ausführung von Sicherungen auf diesem Replikat in Relation zu den anderen Replikaten in derselben Verfügbarkeitsgruppe an.Specifies your priority for performing backups on this replica relative to the other replicas in the same availability group. Der Wert liegt im Bereich von 0 bis 100 und ist eine ganze Zahl.The value is an integer in the range of 0..100. Diese Werte haben die folgenden Bedeutungen:These values have the following meanings:

  • 1..100 gibt an, dass das Verfügbarkeitsreplikat zum Ausführen von Sicherungen ausgewählt werden könnte.1..100 indicates that the availability replica could be chosen for performing backups. 1 gibt die niedrigste Priorität und 100 die höchste Priorität an.1 indicates the lowest priority, and 100 indicates the highest priority. Wenn BACKUP_PRIORITY = 1, würde das Verfügbarkeitsreplikat nur zum Ausführungen von Sicherungen ausgewählt werden, wenn gerade keine höheren Prioritätsverfügbarkeitsreplikate verfügbar sind.If BACKUP_PRIORITY = 1, the availability replica would be chosen for performing backups only if no higher priority availability replicas are currently available.

  • 0 gibt an, dass dieses Verfügbarkeitsreplikat nicht für das Ausführen von Sicherungen ausgewählt ist.0 indicates that this availability replica is not for performing backups. Dies ist zum Beispiel für ein Remoteverfügbarkeitsreplikat hilfreich, für das keine Failover bei Sicherungen auftreten sollen.This is useful, for example, for a remote availability replica to which you never want backups to fail over.

    Weitere Informationen finden Sie unter Aktive sekundäre Replikate: Sicherung auf sekundären Replikaten (Always On-Verfügbarkeitsgruppen)wichtig sind.For more information, see Active Secondaries: Backup on Secondary Replicas (Always On Availability Groups).

    SECONDARY_ROLE (SECONDARY_ROLE ( ))
    Gibt rollenspezifische Einstellungen an, die wirksam werden, wenn dieses Verfügbarkeitsreplikat gerade die sekundäre Rolle besitzt (d.h. wenn es gerade ein sekundäres Replikat ist).Specifies role-specific settings that take effect if this availability replica currently owns the secondary role (that is, whenever it is a secondary replica). Geben Sie innerhalb der Klammern eine oder beide sekundäre Rollenoptionen an.Within the parentheses, specify either or both secondary-role options. Wenn Sie beide angeben, verwenden Sie eine durch Trennzeichen getrennte Liste.If you specify both, use a comma-separated list.

    Folgende Optionen stehen für die sekundäre Rolle zur Verfügung:The secondary role options are as follows:

    ALLOW_CONNECTIONS = { NO | READ_ONLY | ALL }ALLOW_CONNECTIONS = { NO | READ_ONLY | ALL }
    Gibt an, ob die Datenbanken eines bestimmten Verfügbarkeitsreplikats, das die sekundäre Rolle einnimmt (das heißt, als sekundäres Replikat dient), Verbindungen von Clients akzeptieren können, z. B.:Specifies whether the databases of a given availability replica that is performing the secondary role (that is, is acting as a secondary replica) can accept connections from clients, one of:

    NONO
    Es werden keine Verbindungen mit sekundären Datenbanken dieses Replikats zugelassen.No user connections are allowed to secondary databases of this replica. Sie sind für den Lesezugriff nicht verfügbar.They are not available for read access. Dies ist das Standardverhalten.This is the default behavior.

    READ_ONLYREAD_ONLY
    Verbindungen mit den Datenbanken im sekundären Replikat sind nur zulässig, wenn die Eigenschaft für die Anwendungsabsicht auf ReadOnly festgelegt ist.Only connections are allowed to the databases in the secondary replica where the Application Intent property is set to ReadOnly. Weitere Informationen zu dieser Eigenschaft finden Sie unter Using Connection String Keywords with SQL Server Native Client.For more information about this property, see Using Connection String Keywords with SQL Server Native Client.

    ALLALL
    Für alle Verbindungen mit den Datenbanken im sekundären Replikat ist der schreibgeschützte Zugriff zugelassen.All connections are allowed to the databases in the secondary replica for read-only access.

    Weitere Informationen finden Sie unter Aktive sekundäre Replikate: Lesbare sekundäre Replikate (Always On-Verfügbarkeitsgruppen)wichtig sind.For more information, see Active Secondaries: Readable Secondary Replicas (Always On Availability Groups).

    READ_ONLY_ROUTING_URL =' TCP ://system-address:port'READ_ONLY_ROUTING_URL =' TCP ://system-address:port'
    Gibt die URL an, die zum Weiterleiten von Verbindungsanforderungen für beabsichtigte Lesevorgänge zu diesem Verfügbarkeitsreplikat verwendet werden soll.Specifies the URL to be used for routing read-intent connection requests to this availability replica. Dies ist die URL, die die SQL Server-Datenbank-Engine überwacht.This is the URL on which the SQL Server Database Engine listens. In der Regel überwacht die Standardinstanz der SQL Server-Datenbank-Engine auf TCP-Port 1433.Typically, the default instance of the SQL Server Database Engine listens on TCP port 1433.

    Für eine benannte Instanz können Sie die Portnummer durch das Abfragen der Spalten port und type_desc der dynamischen sys.dm_tcp_listener_states-Verwaltungssicht abrufen.For a named instance, you can obtain the port number by querying the port and type_desc columns of the sys.dm_tcp_listener_states dynamic management view. Die Serverinstanz verwendet den Transact-SQL-Listener (type_desc='TSQL').The server instance uses the Transact-SQL listener (type_desc='TSQL').

    Weitere Informationen zum Berechnen der schreibgeschützten Routing-URL für ein Replikat finden Sie unter Calculating read_only_routing_url for Always On (Berechnen von „read_only_routing_url“ für Always On).For more information about calculating the read-only routing URL for a replica, see Calculating read_only_routing_url for Always On.

Hinweis

Für eine benannte Instanz von SQL ServerSQL Server sollte der Transact-SQL-Listener konfiguriert werden, um einen bestimmten Port zu verwenden.For a named instance of SQL ServerSQL Server, the Transact-SQL listener should be configured to use a specific port. Weitere Informationen finden Sie unter Konfigurieren eines Servers zur Überwachung eines bestimmten TCP-Ports (SQL Server-Konfigurations-Manager).For more information, see Configure a Server to Listen on a Specific TCP Port (SQL Server Configuration Manager).

PRIMARY_ROLE (PRIMARY_ROLE ( ))
Gibt rollenspezifische Einstellungen an, die wirksam werden, wenn dieses Verfügbarkeitsreplikat zu diesem Zeitpunkt die sekundäre Rolle besitzt (d.h. wenn es gerade ein sekundäres Replikat ist).Specifies role-specific settings that take effect if this availability replica currently owns the primary role (that is, whenever it is the primary replica). Geben Sie innerhalb der Klammern eine oder beide primäre Rollenoptionen an.Within the parentheses, specify either or both primary-role options. Wenn Sie beide angeben, verwenden Sie eine durch Trennzeichen getrennte Liste.If you specify both, use a comma-separated list.

Folgende Optionen stehen für die primäre Rolle zur Verfügung:The primary role options are as follows:

ALLOW_CONNECTIONS = { READ_WRITE | ALL }ALLOW_CONNECTIONS = { READ_WRITE | ALL }
Gibt den Verbindungstyp an, den die Datenbanken eines bestimmten Verfügbarkeitsreplikats, das die primäre Rolle einnimmt (das heißt, als primäres Replikat dient), von Clients akzeptieren können, z. B.:Specifies the type of connection that the databases of a given availability replica that is performing the primary role (that is, is acting as a primary replica) can accept from clients, one of:

READ_WRITEREAD_WRITE
Verbindungen, bei denen die Verbindungseigenschaft für die Anwendungsabsicht auf ReadOnly festgelegt ist, werden nicht zugelassen.Connections where the Application Intent connection property is set to ReadOnly are disallowed. Wenn die Eigenschaft für die Anwendungsabsicht auf ReadWrite festgelegt ist oder keine Verbindungseigenschaft für die Anwendungsabsicht festgelegt wurde, wird die Verbindung zugelassen.When the Application Intent property is set to ReadWrite or the Application Intent connection property is not set, the connection is allowed. Weitere Informationen zur Verbindungseigenschaft für die Anwendungsabsicht finden Sie unter Using Connection String Keywords with SQL Server Native Client.For more information about Application Intent connection property, see Using Connection String Keywords with SQL Server Native Client.

ALLALL
Für die Datenbanken im primären Replikat sind alle Verbindungen zugelassen.All connections are allowed to the databases in the primary replica. Dies ist das Standardverhalten.This is the default behavior.

READ_ONLY_ROUTING_LIST = { (‘<server_instance> [ ,...n ] ) | NONE } Gibt eine durch Trennzeichen getrennte Liste von Serverinstanzen an, die Verfügbarkeitsreplikate für diese Verfügbarkeitsgruppe hosten, die beim Ausführen unter der sekundären Rolle die folgenden Anforderungen erfüllen:READ_ONLY_ROUTING_LIST = { (‘<server_instance> [ ,...n ] ) | NONE } Specifies a comma-separated list of server instances that host availability replicas for this availability group that meet the following requirements when running under the secondary role:

  • Wird konfiguriert, um alle Verbindungen oder schreibgeschützte Verbindungen (siehe das obige ALLOW_CONNECTIONS-Argument der SECONDARY_ROLE-Option) zuzulassen.Be configured to allow all connections or read-only connections (see the ALLOW_CONNECTIONS argument of the SECONDARY_ROLE option, above).

  • Die schreibgeschützte Routing-URL wurde definiert (siehe das obige READ_ONLY_ROUTING_URL-Argument der SECONDARY_ROLE-Option).Have their read-only routing URL defined (see the READ_ONLY_ROUTING_URL argument of the SECONDARY_ROLE option, above).

    Die READ_ONLY_ROUTING_LIST-Werte lauten wie folgt:The READ_ONLY_ROUTING_LIST values are as follows:

    <server_instance> gibt die Adresse der SQL ServerSQL Server-Instanz an, die als Host für ein Replikat fungiert, das ein lesbares sekundäres Replikat ist, wenn es unter der sekundären Rolle ausgeführt wird.<server_instance> Specifies the address of the instance of SQL ServerSQL Server that is the host for a replica that is a readable secondary replica when running under the secondary role.

    Verwenden Sie eine durch Trennzeichen getrennte Liste, um alle Serverinstanzen anzugeben, die ein lesbares sekundäres Replikat hosten könnten.Use a comma-separated list to specify all the server instances that might host a readable secondary replica. Schreibgeschütztes Routing erfolgt in der Reihenfolge, in der Serverinstanzen in der Liste angegeben werden.Read-only routing follows the order in which server instances are specified in the list. Wenn Sie die Hostserverinstanz eines Replikats auf der schreibgeschützten Routingliste des Replikats einschließen, ist es eine empfohlene Vorgehensweise, diese Serverinstanz am Ende der Liste zu platzieren, damit Verbindungen für beabsichtigte Lesevorgänge bei Verfügbarkeit zu einem sekundären Replikat wechseln.If you include a replica's host server instance on the replica's read-only routing list, placing this server instance at the end of the list is typically a good practice, so that read-intent connections go to a secondary replica, if one is available.

    Beginnend mit SQL Server 2016 (13.x)SQL Server 2016 (13.x) können Sie einen Lastenausgleich für Anforderungen von beabsichtigten Lesevorgängen über lesbare sekundäre Replikate durchführen.Beginning with SQL Server 2016 (13.x)SQL Server 2016 (13.x), you can load-balance read-intent requests across readable secondary replicas. Dies können Sie angeben, indem Sie die Replikate in geschachtelten Klammern innerhalb der schreibgeschützten Routingliste platzieren.You specify this by placing the replicas in a nested set of parentheses within the read-only routing list. Weitere Informationen und Beispiele finden Sie unter Configure load-balancing across read-only replicas (Konfigurieren des Lastenausgleichs für mehrere schreibgeschützte Replikate).For more information and examples, see Configure load-balancing across read-only replicas.

    KeineNONE
    Gibt an, dass schreibgeschütztes Routing nicht unterstützt wird, wenn dieses Verfügbarkeitsreplikat das primäre Replikat ist.Specifies that when this availability replica is the primary replica, read-only routing is not supported. Dies ist das Standardverhalten.This is the default behavior.

    SESSION_TIMEOUT = integerSESSION_TIMEOUT = integer
    Gibt den Zeitraum für das Sitzungstimeout in Sekunden an.Specifies the session-timeout period in seconds. Wenn Sie die Option nicht angeben, beträgt der Timeoutzeitraum standardmäßig 10 Sekunden.If you do not specify this option, by default, the time period is 10 seconds. Der Wert muss mindestens 5 Sekunden betragen.The minimum value is 5 seconds.

Wichtig

Es wird empfohlen, einen Timeoutzeitraum von 10 Sekunden oder mehr zu wählen.We recommend that you keep the time-out period at 10 seconds or greater.

Weitere Informationen finden Sie unter Übersicht über Always On-Verfügbarkeitsgruppen (SQL Server).For more information about the session-timeout period, see Overview of Always On Availability Groups (SQL Server).

AVAILABILITY GROUP ONAVAILABILITY GROUP ON
Gibt zwei Verfügbarkeitsgruppen an, die eine verteilte Verfügbarkeitsgruppe bilden.Specifies two availability groups that constitute a distributed availability group. Jede Verfügbarkeitsgruppe ist Teil ihres eigenen Windows Server-Failoverclusters (WSFC).Each availability group is part of its own Windows Server Failover Cluster (WSFC). Wenn Sie eine verteilte Verfügbarkeitsgruppe erstellen, wird die Verfügbarkeitsgruppe auf der aktuellen SQL Server-Instanz zur primären Verfügbarkeitsgruppe.When you create a distributed availability group, the availability group on the current SQL Server Instance becomes the primary availability group. Die zweite Verfügbarkeitsgruppe wird zur sekundären Verfügbarkeitsgruppe.The second availability group becomes the secondary availability group.

Sie müssen die sekundäre Verfügbarkeitsgruppe mit dem verteilten Cluster verknüpfen.You need to join the secondary availability group to the distributed availability group. Weitere Informationen finden Sie unter ALTER AVAILABILITY GROUP (Transact-SQL)hinzugefügt wird.For more information, see ALTER AVAILABILITY GROUP (Transact-SQL).

<ag_name> gibt den Namen der Verfügbarkeitsgruppe an, die eine Hälfte der verteilten Verfügbarkeitsgruppe ausmacht.<ag_name> Specifies the name of the availability group that makes up one half of the distributed availability group.

LISTENER =' TCP ://system-address:port'LISTENER =' TCP ://system-address:port'
Gibt den URL-Pfad für den Listener an, der der Verfügbarkeitsgruppe zugeordnet ist.Specifies the URL path for the listener associated with the availability group.

Die LISTENER-Klausel ist erforderlich.The LISTENER clause is required.

' TCP ://system-address:port'' TCP ://system-address:port'
Gibt eine URL für den Listener an, der der Verfügbarkeitsgruppe zugeordnet ist.Specifies a URL for the listener associated with the availability group. Die URL-Parameter lauten wie folgt:The URL parameters are as follows:

system-addresssystem-address
Eine Zeichenfolge, beispielsweise ein Systemname, ein vollqualifizierter Domänenname oder eine IP-Adresse, die den Listener eindeutig identifiziert.Is a string, such as a system name, a fully qualified domain name, or an IP address, that unambiguously identifies the listener.

portport
Eine Portnummer, die dem Spiegelungsendpunkt der Verfügbarkeitsgruppe zugeordnet ist.Is a port number that is associated with the mirroring endpoint of the availability group. Beachten Sie, dass dies nicht der Port des Listeners ist.Note that this is not the port of the listener.

AVAILABILITY_MODE = { SYNCHRONOUS_COMMIT | ASYNCHRONOUS_COMMIT | CONFIGURATION_ONLY }AVAILABILITY_MODE = { SYNCHRONOUS_COMMIT | ASYNCHRONOUS_COMMIT | CONFIGURATION_ONLY }
Gibt an, ob das primäre Replikat auf die sekundäre Verfügbarkeitsgruppe warten muss, um das Verstärken (Schreiben) der Protokolldatensätze auf einem Datenträger zu bestätigen, bevor das primäre Replikat die Transaktion auf einer bestimmten primären Datenbank ausführen kann.Specifies whether the primary replica has to wait for the secondary availability group to acknowledge the hardening (writing) of the log records to disk before the primary replica can commit the transaction on a given primary database.

SYNCHRONOUS_COMMITSYNCHRONOUS_COMMIT
Gibt an, dass das primäre Replikat mit der Ausführung von Transaktionen wartet, bis diese auf dieser sekundären Verfügbarkeitsgruppe verstärkt wurden.Specifies that the primary replica waits to commit transactions until they have been hardened on the secondary availability group. Sie können SYNCHRONOUS_COMMIT für bis zu zwei Verfügbarkeitsgruppen angeben, einschließlich der primären Verfügbarkeitsgruppe.You can specify SYNCHRONOUS_COMMIT for up to two availability groups, including the primary availability group.

ASYNCHRONOUS_COMMITASYNCHRONOUS_COMMIT
Gibt an, dass das primäre Replikat Transaktionen ausführt, ohne zu warten, bis diese sekundäre Verfügbarkeitsgruppe das Protokoll verstärkt.Specifies that the primary replica commits transactions without waiting for this secondary availability group to harden the log. Sie können ASYNCHRONOUS_COMMIT für bis zu zwei Verfügbarkeitsgruppen angeben, einschließlich der primären Verfügbarkeitsgruppe.You can specify ASYNCHRONOUS_COMMIT for up to two availability groups, including the primary availability group.

Die AVAILABILITY_MODE-Klausel ist erforderlich.The AVAILABILITY_MODE clause is required.

FAILOVER_MODE = { MANUAL }FAILOVER_MODE = { MANUAL }
Gibt den Failovermodus der verteilten Verfügbarkeitsgruppe an.Specifies the failover mode of the distributed availability group.

MANUALMANUAL
Ermöglicht ein geplantes manuelles Failover oder ein erzwungenes manuelles Failover (üblicherweise als erzwungenes Failover bezeichnet) durch den Datenbankadministrator.Enables planned manual failover or forced manual failover (typically called forced failover) by the database administrator.

Die FAILOVER_MODE-Klausel ist erforderlich, und die einzige Option ist MANUAL.The FAILOVER_MODE clause is required, and the only option is MANUAL. Das automatische Failover auf die sekundäre Verfügbarkeitsgruppe wird nicht unterstützt.Automatic failover to the secondary availability group is not supported.

SEEDING_MODE = { AUTOMATIC | MANUAL }SEEDING_MODE = { AUTOMATIC | MANUAL }
Gibt an, wie für die sekundäre Verfügbarkeitsgruppe zuerst ein Seeding durchgeführt wird.Specifies how the secondary availability group is initially seeded.

AUTOMATICAUTOMATIC
Ermöglicht direktes Seeding.Enables direct seeding. Diese Methode startet die sekundäre Verfügbarkeitsgruppe über das Netzwerk.This method seeds the secondary availability group over the network. Mit dieser Methode ist es nicht mehr erforderlich, eine Kopie der primären Datenbank zu sichern und auf den Replikaten der sekundären Verfügbarkeitsgruppe wiederherzustellen.This method does not require you to backup and restore a copy of the primary database on the replicas of the secondary availability group.

MANUALMANUAL
Gibt das manuelle Seeding an (Standard).Specifies manual seeding (default). Bei dieser Methode müssen Sie eine Sicherungskopie der Datenbank auf dem primären Replikat erstellen und diese manuell auf dem Replikat/den Replikaten der sekundären Verfügbarkeitsgruppe wiederherstellen.This method requires you to create a backup of the database on the primary replica and manually restore that backup on the replica(s) of the secondary availability group.

LISTENER ´dns_name´( <listener_option>) definiert einen neuen Verfügbarkeitsgruppenlistener für diese Verfügbarkeitsgruppe.LISTENER dns_name’( <listener_option> ) Defines a new availability group listener for this availability group. LISTENER ist ein optionales Argument.LISTENER is an optional argument.

Wichtig

Vor dem Erstellen Ihres ersten Listeners wird dringend empfohlen, den Artikel Erstellen oder Konfigurieren eines Verfügbarkeitsgruppenlisteners (SQL Server) zu lesen.Before you create your first listener, we strongly recommend that you read Create or Configure an Availability Group Listener (SQL Server).

Nachdem Sie einen Listener für eine Verfügbarkeitsgruppe erstellt haben, empfehlen wir dringend, folgende Schritte auszuführen:After you create a listener for a given availability group, we strongly recommend that you do the following:

  • Bitten Sie den Netzwerkadministrator, die IP-Adresse des Listeners zur exklusiven Verwendung zu reservieren.Ask your network administrator to reserve the listener's IP address for its exclusive use.
    • Geben Sie den DNS-Hostnamen des Listeners an Anwendungsentwickler weiter, damit diese den Namen in Verbindungszeichenfolgen zum Anfordern von Clientverbindungen mit dieser Verfügbarkeitsgruppe verwenden.Give the listener's DNS host name to application developers to use in connection strings when requesting client connections to this availability group.

dns_namedns_name
Gibt den DNS-Hostnamen des Verfügbarkeitsgruppenlisteners an.Specifies the DNS host name of the availability group listener. Der DNS-Name des Listeners muss in der Domäne und NetBIOS eindeutig sein.The DNS name of the listener must be unique in the domain and in NetBIOS.

dns_name ist ein Zeichenfolgenwert.dns_name is a string value. Dieser Name darf nur alphanumerische Zeichen, Bindestriche (-) und Unterstriche () enthalten (in beliebiger Reihenfolge).This name can contain only alphanumeric characters, dashes (-), and hyphens (), in any order. Bei DNS-Hostnamen muss die Groß-/Kleinschreibung beachtet werden.DNS host names are case insensitive. Die maximale Länge beträgt 63 Zeichen.The maximum length is 63 characters.

Wir empfehlen, dass Sie eine sinnvolle Zeichenfolge angeben.We recommend that you specify a meaningful string. Für eine Verfügbarkeitsgruppe mit dem Namen AG1wäre ein sinnvoller DNS-Hostname z. B. ag1-listener.For example, for an availability group named AG1, a meaningful DNS host name would be ag1-listener.

Wichtig

NetBIOS erkennt nur die ersten 15 Zeichen im dns_name.NetBIOS recognizes only the first 15 chars in the dns_name. Wenn Sie zwei WSFC-Cluster verwenden, die vom gleichen Active Directory-Dienst gesteuert werden, und Sie versuchen, Verfügbarkeitsgruppenlistener in beiden Clustern mit Namen mit mehr als 15 Zeichen und einem identischen 15-Zeichen-Präfix zu erstellen, erhalten Sie eine Fehlermeldung mit dem Hinweis, dass die VNN-Ressource nicht online geschaltet werden konnte.If you have two WSFC clusters that are controlled by the same Active Directory and you try to create availability group listeners in both clusters using names with more than 15 characters and an identical 15 character prefix, an error reports that the Virtual Network Name resource could not be brought online. Informationen zu Präfix-Benennungsregeln für DNS-Namen finden Sie unter Zuweisen von Domänennamen.For information about prefix naming rules for DNS names, see Assigning Domain Names.

<listener_option> LISTENER verwendet eine der folgenden <listener_option>-Optionen:<listener_option> LISTENER takes one of the following <listener_option> options:

WITH DHCP [ ON { (‘four_part_ipv4_address’,‘four_part_ipv4_mask’) } ]WITH DHCP [ ON { (‘four_part_ipv4_address’,‘four_part_ipv4_mask’) } ]
Gibt an, dass der Verfügbarkeitsgruppenlistener das Dynamic Host Configuration-Protokoll (DHCP) verwendet.Specifies that the availability group listener uses the Dynamic Host Configuration Protocol (DHCP). Verwenden Sie die ON-Klausel optional, um das Netzwerk zu identifizieren, auf dem dieser Listener erstellt wird.Optionally, use the ON clause to identify the network on which this listener is created. DHCP ist auf ein einzelnes Subnetz beschränkt, das für alle Serverinstanzen verwendet wird, die ein Replikat in der Verfügbarkeitsgruppe hosten.DHCP is limited to a single subnet that is used for every server instances that hosts a replica in the availability group.

Wichtig

DHCP wird in einer Produktionsumgebung nicht empfohlen.We do not recommend DHCP in production environment. Wenn die DHCP-IP-Leasedauer bei einer Downtime abläuft, ist eine Verlängerung erforderlich, um die neue IP-Adresse des DHCP-Netzwerks zu registrieren, die dem DNS-Namen des Listeners zugeordnet ist, was sich auf die Clientkonnektivität auswirkt.If there is a down time and the DHCP IP lease expires, extra time is required to register the new DHCP network IP address that is associated with the listener DNS name and impact the client connectivity. DHCP eignet sich jedoch gut zum Einrichten der Entwicklungs- und Testumgebung, um grundlegende Funktionen von Verfügbarkeitsgruppen und die Integration in Ihre Anwendungen zu überprüfen.However, DHCP is good for setting up your development and testing environment to verify basic functions of availability groups and for integration with your applications.

Zum Beispiel:For example:

WITH DHCP ON ('10.120.19.0','255.255.254.0')

WITH IP ( { (‘four_part_ipv4_address’,‘four_part_ipv4_mask’) | (‘ipv6_address’) } [ , ...n ] ) [ , PORT =listener_port ]WITH IP ( { (‘four_part_ipv4_address’,‘four_part_ipv4_mask’) | (‘ipv6_address’) } [ , ...n ] ) [ , PORT =listener_port ]
Gibt an, dass der Verfügbarkeitsgruppenlistener statt DHCP mindestens eine statische IP-Adresse verwendet.Specifies that, instead of using DHCP, the availability group listener uses one or more static IP addresses. Um eine Verfügbarkeitsgruppe über mehrere Subnetze zu erstellen, erfordert jedes Subnetz in der Listenerkonfiguration eine statische IP-Adresse.To create an availability group across multiple subnets, each subnet requires one static IP address in the listener configuration. Für ein angegebenes Subnetz kann die statische IP-Adresse entweder eine IPv4-Adresse oder eine IPv6-Adresse sein.For a given subnet, the static IP address can be either an IPv4 address or an IPv6 address. Wenden Sie sich an Ihren Netzwerkadministrator, um eine statische IP-Adresse für jedes Subnetz zu erhalten, das ein Replikat für die neue Verfügbarkeitsgruppe hostet.Contact your network administrator to get a static IP address for each subnet that hosts a replica for the new availability group.

Zum Beispiel:For example:

WITH IP ( ('10.120.19.155','255.255.254.0') )

four_part_ipv4_addressfour_part_ipv4_address
Gibt eine vierteilige IPv4-Adresse für einen Verfügbarkeitsgruppenlistener an.Specifies an IPv4 four-part address for an availability group listener. Beispiel: 10.120.19.155.For example, 10.120.19.155.

four_part_ipv4_maskfour_part_ipv4_mask
Gibt eine vierteilige IPv4-Maske für einen Verfügbarkeitsgruppenlistener an.Specifies an IPv4 four-part mask for an availability group listener. Beispiel: 255.255.254.0.For example, 255.255.254.0.

ipv6_addressipv6_address
Gibt eine IPv6-Adresse für einen Verfügbarkeitsgruppenlistener an.Specifies an IPv6 address for an availability group listener. Beispiel: 2001::4898:23:1002:20f:1fff:feff:b3a3.For example, 2001::4898:23:1002:20f:1fff:feff:b3a3.

PORT = listener_portPORT = listener_port
Gibt die Portnummer (listener_port) an, die von einem Verfügbarkeitsgruppenlistener verwendet wird, der anhand einer WITH IP-Klausel angegeben wird.Specifies the port number—listener_port—to be used by an availability group listener that is specified by a WITH IP clause. PORT ist optional.PORT is optional.

Die Standardportnummer 1433 wird unterstützt.The default port number, 1433, is supported. Wenn Sie jedoch Sicherheitsbedenken hegen, empfehlen wir die Verwendung einer anderen Portnummer.However, if you have security concerns, we recommend using a different port number.

Beispiel: WITH IP ( ('2001::4898:23:1002:20f:1fff:feff:b3a3') ) , PORT = 7777For example: WITH IP ( ('2001::4898:23:1002:20f:1fff:feff:b3a3') ) , PORT = 7777

Voraussetzungen und EinschränkungenPrerequisites and Restrictions

Informationen zu den Voraussetzungen zum Erstellen von Verfügbarkeitsgruppen finden Sie unter Voraussetzungen, Einschränkungen und Empfehlungen für Always On-Verfügbarkeitsgruppen(SQL Server).For information about the prerequisites for creating an availability group, see Prerequisites, Restrictions, and Recommendations for Always On Availability Groups (SQL Server).

Informationen zu Einschränkungen bei den AVAILABILITY GROUP-Transact-SQL-Anweisungen finden Sie unter Übersicht über Transact-SQL-Anweisungen für Always On-Verfügbarkeitsgruppen (SQL Server).For information about restrictions on the AVAILABILITY GROUP Transact-SQL statements, see Overview of Transact-SQL Statements for Always On Availability Groups (SQL Server).

SecuritySecurity

BerechtigungenPermissions

Erfordert die Mitgliedschaft in der festen Serverrolle sysadmin und die CREATE AVAILABILITY GROUP-Serverberechtigung, ALTER ANY AVAILABILITY GROUP-Berechtigung oder CONTROL SERVER-Berechtigung.Requires membership in the sysadmin fixed server role and either CREATE AVAILABILITY GROUP server permission, ALTER ANY AVAILABILITY GROUP permission, or CONTROL SERVER permission.

BeispieleExamples

A.A. Konfigurieren der Sicherung für sekundäre Replikate, flexible Failoverrichtlinien und VerbindungszugriffConfiguring Backup on Secondary Replicas, Flexible Failover Policy, and Connection Access

Im folgenden Beispiel wird eine Verfügbarkeitsgruppe mit dem Namen MyAg für die zwei Benutzerdatenbanken ThisDatabase und ThatDatabase erstellt.The following example creates an availability group named MyAg for two user databases, ThisDatabase and ThatDatabase. In der folgenden Tabelle werden die Werte zusammengefasst, die für die Optionen angegeben wurden, die für die Verfügbarkeitsgruppe als Ganzes festgelegt sind.The following table summarizes the values specified for the options that are set for the availability group as a whole.

GruppenoptionGroup Option EinstellungSetting DescriptionDescription
AUTOMATED_BACKUP_PREFERENCEAUTOMATED_BACKUP_PREFERENCE SECONDARYSECONDARY Diese automatisierte Sicherungseinstellung gibt an, dass Sicherungen auf einem sekundären Replikat erfolgen sollen, außer wenn das primäre Replikat das einzige Replikat online ist (dies ist das Standardverhalten).This automated backup preference indicates that backups should occur on a secondary replica except when the primary replica is the only replica online (this is the default behavior). Damit die AUTOMATED_BACKUP_PREFERENCE-Einstellung in Kraft tritt, müssen Sicherungsaufträge in Verfügbarkeitsdatenbanken so verfasst werden, dass die automatische Sicherungseinstellung berücksichtigt wird.For the AUTOMATED_BACKUP_PREFERENCE setting to have any effect, you need to script backup jobs on the availability databases to take the automated backup preference into account.
FAILURE_CONDITION_LEVELFAILURE_CONDITION_LEVEL 33 Diese Einstellung für die Fehlerbedingungsebene gibt an, dass ein automatisches Failover bei kritischen internen SQL Server-Fehlern initiiert werden soll, z. B. verwaisten Spinlocks, ernsten Schreibzugriffsverletzungen oder zu vielen Sicherungen.This failure condition level setting specifies that an automatic failover should be initiated on critical SQL Server internal errors, such as orphaned spinlocks, serious write-access violations, or too much dumping.
HEALTH_CHECK_TIMEOUTHEALTH_CHECK_TIMEOUT 600000600000 Ein Timeoutwert für die Integritätsprüfung von 60 Sekunden besagt, dass der WSFC-Cluster 60000 Millisekunden wartet, bis die gespeicherte Systemprozedur sp_server_diagnostics Informationen über den Serverzustand über eine Serverinstanz zurückgibt, die ein Replikat mit synchronem Commit automatisch hostet, bevor der Cluster annimmt, dass die Hostserverinstanz langsam oder blockiert ist.This health check timeout value, 60 seconds, specifies that the WSFC cluster waits 60000 milliseconds for the sp_server_diagnostics system stored procedure to return server-health information about a server instance that is hosting a synchronous-commit replica with automatic before the cluster assumes that the host server instance is slow or hung. (Der Standardwert beträgt 30.000 Millisekunden.)(The default value is 30000 milliseconds).

Drei Verfügbarkeitsreplikate müssen von den Standardserverinstanzen auf Computern mit der Bezeichnung COMPUTER01, COMPUTER02 und COMPUTER03 gehostet werden.Three availability replicas are to be hosted by the default server instances on computers named COMPUTER01, COMPUTER02, and COMPUTER03. In der folgenden Tabelle werden die für die Replikatoptionen jedes Replikats angegebenen Werte zusammengefasst.The following table summarizes the values specified for the replica options of each replica.

ReplikatoptionReplica Option Einstellung auf COMPUTER01Setting on COMPUTER01 Einstellung auf COMPUTER02Setting on COMPUTER02 Einstellung auf COMPUTER03Setting on COMPUTER03 DescriptionDescription
ENDPOINT_URLENDPOINT_URL TCP://COMPUTER01:5022TCP://COMPUTER01:5022 TCP://COMPUTER02:5022TCP://COMPUTER02:5022 TCP://COMPUTER03:5022TCP://COMPUTER03:5022 In diesem Beispiel weisen die Systeme dieselbe Domäne auf. Daher können die Endpunkt-URLs den Namen des Computersystems als Systemadresse verwenden.In this example, the systems are the same domain, so the endpoint URLs can use the name of the computer system as the system address.
AVAILABILITY_MODEAVAILABILITY_MODE SYNCHRONOUS_COMMITSYNCHRONOUS_COMMIT SYNCHRONOUS_COMMITSYNCHRONOUS_COMMIT ASYNCHRONOUS_COMMITASYNCHRONOUS_COMMIT Zwei der Replikate verwenden den Modus mit synchronem Commit.Two of the replicas use synchronous-commit mode. Nach der Synchronisierung unterstützen sie Failover ohne Datenverlust.When synchronized, they support failover without data loss. Das dritte Replikat verwendet den Verfügbarkeitsmodus mit asynchronem Commit.The third replica, which uses asynchronous-commit availability mode.
FAILOVER_MODEFAILOVER_MODE AUTOMATICAUTOMATIC AUTOMATICAUTOMATIC MANUALMANUAL Die Replikate mit synchronem Commit unterstützen automatisches Failover und geplantes manuelles Failover.The synchronous-commit replicas support automatic failover and planned manual failover. Das Verfügbarkeitsmodusreplikat mit synchronem Commit unterstützt nur erzwungenes manuelles Failover.The synchronous-commit availability mode replica supports only forced manual failover.
BACKUP_PRIORITYBACKUP_PRIORITY 3030 3030 9090 Dem Replikat mit asynchronem Commit wird eine höhere Priorität (90) als dem Replikat mit synchronem Commit zugewiesen.A higher priority, 90, is assigned to the asynchronous-commit replica, than to the synchronous-commit replicas. Sicherungen erfolgen tendenziell auf der Serverinstanz, die das Replikat mit asynchronem Commit hostet.Backups tend to occur on the server instance that hosts the asynchronous-commit replica.
SECONDARY_ROLESECONDARY_ROLE ( ALLOW_CONNECTIONS = NO,( ALLOW_CONNECTIONS = NO,

READ_ONLY_ROUTING_URL = 'TCP://COMPUTER01:1433' )READ_ONLY_ROUTING_URL = 'TCP://COMPUTER01:1433' )
( ALLOW_CONNECTIONS = NO,( ALLOW_CONNECTIONS = NO,

READ_ONLY_ROUTING_URL = 'TCP://COMPUTER02:1433' )READ_ONLY_ROUTING_URL = 'TCP://COMPUTER02:1433' )
( ALLOW_CONNECTIONS = READ_ONLY,( ALLOW_CONNECTIONS = READ_ONLY,
READ_ONLY_ROUTING_URL = 'TCP://COMPUTER03:1433' )READ_ONLY_ROUTING_URL = 'TCP://COMPUTER03:1433' )
Nur das Replikat mit asynchronem Commit fungiert als lesbares sekundäres Replikat.Only the asynchronous-commit replica serves as a readable secondary replica.

Gibt den Computernamen und die standardmäßige Datenbank-Engine-Portnummer (1433) an.Specifies the computer name and default Database Engine port number (1433).

Dieses Argument ist optional.This argument is optional.
PRIMARY_ROLEPRIMARY_ROLE ( ALLOW_CONNECTIONS = READ_WRITE,( ALLOW_CONNECTIONS = READ_WRITE,
READ_ONLY_ROUTING_LIST = (COMPUTER03) )READ_ONLY_ROUTING_LIST = (COMPUTER03) )
( ALLOW_CONNECTIONS = READ_WRITE,( ALLOW_CONNECTIONS = READ_WRITE,
READ_ONLY_ROUTING_LIST = (COMPUTER03) )READ_ONLY_ROUTING_LIST = (COMPUTER03) )
( ALLOW_CONNECTIONS = READ_WRITE,( ALLOW_CONNECTIONS = READ_WRITE,
READ_ONLY_ROUTING_LIST = NONE )READ_ONLY_ROUTING_LIST = NONE )
In der primären Rolle lehnen alle Replikate Verbindungsversuche für beabsichtigte Lesevorgänge ab.In the primary role, all the replicas reject read-intent connection attempts.

Verbindungsanforderungen für beabsichtigte Lesevorgänge werden an COMPUTER03 weitergeleitet, wenn das lokale Replikat unter der sekundären Rolle ausgeführt wird.Read-intent connection requests are routed to COMPUTER03 if the local replica is running under the secondary role. Wenn dieses Replikat unter der primären Rolle ausgeführt wird, wird das schreibgeschützte Routing deaktiviert.When that replica runs under the primary role, read-only routing is disabled.

Dieses Argument ist optional.This argument is optional.
SESSION_TIMEOUTSESSION_TIMEOUT 1010 1010 1010 In diesem Beispiel wird der Timeoutwert für die Standardsitzung (10) angegeben.This example specifies the default session timeout value (10). Dieses Argument ist optional.This argument is optional.

Im Beispiel wird schließlich die optionale LISTENER-Klausel angegeben, um einen Verfügbarkeitsgruppenlistener für die neue Verfügbarkeitsgruppe zu erstellen.Finally, the example specifies the optional LISTENER clause to create an availability group listener for the new availability group. Der eindeutige DNS-Name MyAgListenerIvP6wird für diesen Listener angegeben.A unique DNS name, MyAgListenerIvP6, is specified for this listener. Die zwei Replikate befinden sich auf anderen Subnetzen, daher muss der Listener statische IP-Adressen verwenden.The two replicas are on different subnets, so the listener must use static IP addresses. Für die beiden Verfügbarkeitsreplikate gibt die WITH IP-Klausel jeweils eine statische IP-Adresse an, nämlich 2001:4898:f0:f00f::cf3c und 2001:4898:e0:f213::4ce2, die das IPv6-Format verwenden.For each of the two availability replicas, the WITH IP clause specifies a static IP address, 2001:4898:f0:f00f::cf3c and 2001:4898:e0:f213::4ce2, which use the IPv6 format. In diesem Beispiel wird zudem das optionale PORT-Argument verwendet, um Port 60173 als Listenerport anzugeben.This example also specifies uses the optional PORT argument to specify port 60173 as the listener port.

CREATE AVAILABILITY GROUP MyAg   
   WITH (  
      AUTOMATED_BACKUP_PREFERENCE = SECONDARY,  
      FAILURE_CONDITION_LEVEL  =  3,   
      HEALTH_CHECK_TIMEOUT = 600000  
       )  

   FOR   
      DATABASE  ThisDatabase, ThatDatabase   
   REPLICA ON   
      'COMPUTER01' WITH   
         (  
         ENDPOINT_URL = 'TCP://COMPUTER01:5022',  
         AVAILABILITY_MODE = SYNCHRONOUS_COMMIT,  
         FAILOVER_MODE = AUTOMATIC,  
         BACKUP_PRIORITY = 30,  
         SECONDARY_ROLE (ALLOW_CONNECTIONS = NO,   
            READ_ONLY_ROUTING_URL = 'TCP://COMPUTER01:1433' ),
         PRIMARY_ROLE (ALLOW_CONNECTIONS = READ_WRITE,   
            READ_ONLY_ROUTING_LIST = (COMPUTER03) ),  
         SESSION_TIMEOUT = 10  
         ),   

      'COMPUTER02' WITH   
         (  
         ENDPOINT_URL = 'TCP://COMPUTER02:5022',  
         AVAILABILITY_MODE = SYNCHRONOUS_COMMIT,  
         FAILOVER_MODE = AUTOMATIC,  
         BACKUP_PRIORITY = 30,  
         SECONDARY_ROLE (ALLOW_CONNECTIONS = NO,   
            READ_ONLY_ROUTING_URL = 'TCP://COMPUTER02:1433' ),  
         PRIMARY_ROLE (ALLOW_CONNECTIONS = READ_WRITE,   
            READ_ONLY_ROUTING_LIST = (COMPUTER03) ),  
         SESSION_TIMEOUT = 10  
         ),   

      'COMPUTER03' WITH   
         (  
         ENDPOINT_URL = 'TCP://COMPUTER03:5022',  
         AVAILABILITY_MODE = ASYNCHRONOUS_COMMIT,  
         FAILOVER_MODE =  MANUAL,  
         BACKUP_PRIORITY = 90,  
         SECONDARY_ROLE (ALLOW_CONNECTIONS = READ_ONLY,   
            READ_ONLY_ROUTING_URL = 'TCP://COMPUTER03:1433' ),  
         PRIMARY_ROLE (ALLOW_CONNECTIONS = READ_WRITE,   
            READ_ONLY_ROUTING_LIST = NONE ),  
         SESSION_TIMEOUT = 10  
         );
GO  
ALTER AVAILABIIITY GROUP [MyAg]
  ADD LISTENER ‘MyAgListenerIvP6’ ( WITH IP ( ('2001:db88:f0:f00f::cf3c'),('2001:4898:e0:f213::4ce2') ) , PORT = 60173 );   
GO  

Verwandte AufgabenRelated Tasks

Weitere Informationen finden Sie unterSee Also

ALTER AVAILABILITY GROUP (Transact-SQL) ALTER AVAILABILITY GROUP (Transact-SQL)
ALTER DATABASE SET HADR (Transact-SQL) ALTER DATABASE SET HADR (Transact-SQL)
DROP AVAILABILITY GROUP (Transact-SQL) DROP AVAILABILITY GROUP (Transact-SQL)
Problembehandlung für die Always On-Verfügbarkeitsgruppenkonfiguration (SQL Server) Troubleshoot Always On Availability Groups Configuration (SQL Server)
Übersicht über AlwaysOn-Verfügbarkeitsgruppen (SQL Server) Overview of Always On Availability Groups (SQL Server)
Verfügbarkeitsgruppenlistener, Clientkonnektivität und Anwendungsfailover (SQL Server)Availability Group Listeners, Client Connectivity, and Application Failover (SQL Server)