Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
              Van toepassing op:SQL Server
Als u een gedistribueerde beschikbaarheidsgroep wilt maken, moet u twee beschikbaarheidsgroepen maken die elk een eigen listener hebben. Vervolgens combineert u deze beschikbaarheidsgroepen in een gedistribueerde beschikbaarheidsgroep. De volgende stappen bevatten een basisvoorbeeld in Transact-SQL. In dit voorbeeld worden niet alle details behandeld van het maken van beschikbaarheidsgroepen en listeners; In plaats daarvan richt het zich op het markeren van de belangrijkste vereisten.
Vereiste voorwaarden
Als u een gedistribueerde beschikbaarheidsgroep wilt configureren, moet u het volgende hebben:
- Een ondersteunde versie van SQL Server.
 
Opmerking
Als u de listener voor uw beschikbaarheidsgroep hebt geconfigureerd op uw SQL Server op azure-VM met behulp van een gedistribueerde netwerknaam (DNN), wordt het configureren van een gedistribueerde beschikbaarheidsgroep boven op uw beschikbaarheidsgroep niet ondersteund. Zie sql Server op Azure VM-functie-interoperabiliteit met AG en DNN-listener voor meer informatie.
Machtigingen
Vereist de machtiging CREATE AVAILABILITY GROUP op de server om een beschikbaarheidsgroep te maken en sysadmin om een failover uit te voeren voor een gedistribueerde beschikbaarheidsgroep.
Stel de eindpunten voor databasespiegeling in om te luisteren op alle IP-adressen
Zorg ervoor dat de eindpunten voor databasespiegeling kunnen communiceren tussen de verschillende beschikbaarheidsgroepen in de gedistribueerde beschikbaarheidsgroep. Als één beschikbaarheidsgroep is ingesteld op een specifiek netwerk op het eindpunt voor databasespiegeling, werkt de gedistribueerde beschikbaarheidsgroep niet goed. Stel op elke server die als host fungeert voor een replica in de gedistribueerde beschikbaarheidsgroep het eindpunt voor databasespiegeling in om te luisteren op alle IP-adressen (LISTENER_IP = ALL).
Een eindpunt voor databasespiegeling maken om te luisteren op alle IP-adressen
Met het volgende script wordt bijvoorbeeld een nieuw eindpunt voor databasespiegeling gemaakt op TCP-poort 5022 dat luistert op alle IP-adressen.
CREATE ENDPOINT [aodns-hadr]
    STATE = STARTED
    AS TCP
(
            LISTENER_PORT = 5022,
            LISTENER_IP = ALL
)
    FOR DATABASE_MIRRORING
(
            ROLE = ALL,
            AUTHENTICATION = WINDOWS NEGOTIATE,
            ENCRYPTION = REQUIRED ALGORITHM AES
);
GO
Een bestaand database-mirroring-eindpunt wijzigen zodat het luistert naar alle IP-adressen
Met het volgende script wordt bijvoorbeeld een bestaand eindpunt voor databasespiegeling gewijzigd om te luisteren op alle IP-adressen.
ALTER ENDPOINT [aodns-hadr]
    AS TCP
(
            LISTENER_IP = ALL
);
GO
Eerste beschikbaarheidsgroep maken
De primaire beschikbaarheidsgroep op het eerste cluster maken
Maak een beschikbaarheidsgroep op het eerste Windows Server-failovercluster (WSFC). In dit voorbeeld heeft de beschikbaarheidsgroep de naam ag1 van de database db1. De primaire replica van de primaire beschikbaarheidsgroep wordt de globale primaire in een gedistribueerde beschikbaarheidsgroep genoemd. Server1 is de globale primaire in dit voorbeeld.
CREATE AVAILABILITY GROUP [ag1]
FOR DATABASE db1
REPLICA ON N'server1' WITH (ENDPOINT_URL = N'TCP://server1.contoso.com:5022',
    FAILOVER_MODE = AUTOMATIC,
    AVAILABILITY_MODE = SYNCHRONOUS_COMMIT,
    BACKUP_PRIORITY = 50,
    SECONDARY_ROLE(ALLOW_CONNECTIONS = NO),
    SEEDING_MODE = AUTOMATIC),
N'server2' WITH (ENDPOINT_URL = N'TCP://server2.contoso.com:5022',
    FAILOVER_MODE = AUTOMATIC,
    AVAILABILITY_MODE = SYNCHRONOUS_COMMIT,
    BACKUP_PRIORITY = 50,
    SECONDARY_ROLE(ALLOW_CONNECTIONS = NO),
    SEEDING_MODE = AUTOMATIC);
GO
Opmerking
In het voorgaande voorbeeld wordt automatische seeding gebruikt, waarbij SEEDING_MODE is ingesteld op AUTOMATISCH voor zowel de replica's als de gedistribueerde beschikbaarheidsgroep. Met deze configuratie worden de secundaire replica's en de secundaire beschikbaarheidsgroep automatisch ingevuld zonder dat er handmatig een back-up en herstel van de primaire database nodig is.
Verbind de secundaire replica's met de primaire beschikbaarheidsgroep
Secundaire replica's moeten toegevoegd worden aan de beschikbaarheidsgroep met ALTER AVAILABILITY GROUP en de optie JOIN. Omdat automatische seeding in dit voorbeeld wordt gebruikt, moet u ook de optie GRANT CREATE ANY DATABASE gebruiken bij het aanroepen van ALTER AVAILABILITY GROUP. Met deze instelling kan de beschikbaarheidsgroep de database maken en automatisch beginnen met het seeden van de database vanaf de primaire replica.
In dit voorbeeld worden de volgende opdrachten uitgevoerd op de secundaire replica, server2om lid te worden van de ag1 beschikbaarheidsgroep. De beschikbaarheidsgroep is vervolgens toegestaan om databases op de secundaire database te maken.
ALTER AVAILABILITY GROUP [ag1] JOIN
ALTER AVAILABILITY GROUP [ag1] GRANT CREATE ANY DATABASE
GO
Opmerking
Wanneer de beschikbaarheidsgroep een database maakt op een secundaire replica, wordt de eigenaar van de database ingesteld als het account dat de ALTER AVAILABILITY GROUP instructie heeft uitgevoerd om machtigingen te verlenen voor het maken van een database. Voor volledige informatie, zie Verleen database-aanmaakmachtiging op secundaire replica aan beschikbaarheidsgroep.
Een listener maken voor de primaire beschikbaarheidsgroep
Voeg vervolgens een listener toe voor de primaire beschikbaarheidsgroep op de eerste WSFC. In dit voorbeeld heeft de listener de naam ag1-listener. Zie Een listener voor beschikbaarheidsgroepen maken of configureren (SQL Server) voor gedetailleerde instructies voor het maken van een listener.
ALTER AVAILABILITY GROUP [ag1]
    ADD LISTENER 'ag1-listener' (
        WITH IP ( ('2001:db88:f0:f00f::cf3c'),('2001:4898:e0:f213::4ce2') ) ,
        PORT = 60173);
GO
Tweede beschikbaarheidsgroep maken
Maak vervolgens op de tweede WSFC een tweede beschikbaarheidsgroep. ag2 In dit geval wordt de database niet opgegeven, omdat deze automatisch wordt gezaaid vanuit de primaire beschikbaarheidsgroep. De primaire replica van de secundaire beschikbaarheidsgroep wordt de doorstuurserver genoemd in een gedistribueerde beschikbaarheidsgroep. In dit voorbeeld is server3 de doorstuurserver.
CREATE AVAILABILITY GROUP [ag2]
FOR
REPLICA ON N'server3' WITH (ENDPOINT_URL = N'TCP://server3.contoso.com:5022',
    FAILOVER_MODE = MANUAL,
    AVAILABILITY_MODE = SYNCHRONOUS_COMMIT,
    BACKUP_PRIORITY = 50,
    SECONDARY_ROLE(ALLOW_CONNECTIONS = NO),
    SEEDING_MODE = AUTOMATIC),
N'server4' WITH (ENDPOINT_URL = N'TCP://server4.contoso.com:5022',
    FAILOVER_MODE = MANUAL,
    AVAILABILITY_MODE = SYNCHRONOUS_COMMIT,
    BACKUP_PRIORITY = 50,
    SECONDARY_ROLE(ALLOW_CONNECTIONS = NO),
    SEEDING_MODE = AUTOMATIC);
GO
Opmerking
- De secundaire beschikbaarheidsgroep moet hetzelfde eindpunt voor databasespiegeling gebruiken (in dit voorbeeld poort 5022). Anders stopt de replicatie na een lokale failover.
 - De onderliggende beschikbaarheidsgroepen moeten zich in dezelfde beschikbaarheidsmodus bevinden: beide beschikbaarheidsgroepen moeten zich in de synchrone doorvoermodus bevinden of beide moeten zich in de asynchrone doorvoermodus bevinden. Als u niet zeker weet welke bewerking moet worden gebruikt, stelt u beide in op de asynchrone doorvoermodus totdat u klaar bent om een failover uit te voeren.
 
De secundaire replica's koppelen aan de secundaire beschikbaarheidsgroep
In dit voorbeeld worden de volgende opdrachten uitgevoerd op de secundaire replica, server4om lid te worden van de ag2 beschikbaarheidsgroep. De beschikbaarheidsgroep mag vervolgens databases op de secundaire maken ter ondersteuning van automatische seeding.
ALTER AVAILABILITY GROUP [ag2] JOIN
ALTER AVAILABILITY GROUP [ag2] GRANT CREATE ANY DATABASE
GO
Een listener maken voor de secundaire beschikbaarheidsgroep
Voeg vervolgens een listener toe voor de secundaire beschikbaarheidsgroep op de tweede WSFC. In dit voorbeeld heeft de listener de naam ag2-listener. Zie Een listener voor beschikbaarheidsgroepen maken of configureren (SQL Server) voor gedetailleerde instructies voor het maken van een listener.
ALTER AVAILABILITY GROUP [ag2]
    ADD LISTENER 'ag2-listener' ( WITH IP ( ('2001:db88:f0:f00f::cf3c'),('2001:4898:e0:f213::4ce2') ) , PORT = 60173);
GO
Gedistribueerde beschikbaarheidsgroep maken op het eerste cluster
Maak op de eerste WSFC een gedistribueerde beschikbaarheidsgroep (in dit voorbeeld genoemd distributedAG ). Gebruik de opdracht CREATE AVAILABILITY GROUP met de optie DISTRIBUTED . De parameter AVAILABILITY GROUP ON specificeert de beschikbaarheidsgroepen ag1 voor leden en ag2.
Gebruik de volgende Transact-SQL code om uw gedistribueerde beschikbaarheidsgroep te maken met behulp van automatische seeding:
CREATE AVAILABILITY GROUP [distributedAG]
   WITH (DISTRIBUTED)
   AVAILABILITY GROUP ON
      'ag1' WITH
      (
         LISTENER_URL = 'tcp://ag1-listener.contoso.com:5022',
         AVAILABILITY_MODE = ASYNCHRONOUS_COMMIT,
         FAILOVER_MODE = MANUAL,
         SEEDING_MODE = AUTOMATIC
      ),
      'ag2' WITH
      (
         LISTENER_URL = 'tcp://ag2-listener.contoso.com:5022',
         AVAILABILITY_MODE = ASYNCHRONOUS_COMMIT,
         FAILOVER_MODE = MANUAL,
         SEEDING_MODE = AUTOMATIC
      );
GO
Opmerking
De LISTENER_URL geeft de listener voor elke beschikbaarheidsgroep op, samen met het eindpunt voor databasespiegeling van de beschikbaarheidsgroep. In dit voorbeeld is dat de poort 5022 (niet de poort 60173 die wordt gebruikt om de listener te maken). Als u een load balancer gebruikt, bijvoorbeeld in Azure, voegt u een taakverdelingsregel toe voor de poort van de gedistribueerde beschikbaarheidsgroep. Voeg de regel voor de listenerpoort toe, naast de poort van de SQL Server-instantie.
Automatische seeding naar doorstuurserver annuleren
Als het om welke reden dan ook nodig is om de initialisatie van de doorstuurserver te annuleren voordat de twee beschikbaarheidsgroepen worden gesynchroniseerd, wijzigt u de gedistribueerde beschikbaarheidsgroep door de SEEDING_MODE parameter van de doorstuurserver in te stellen op HANDMATIG en de seeding onmiddellijk te annuleren. Voer de opdracht uit op de globale primaire:
-- Cancel automatic seeding.  Connect to global primary but specify DAG AG2
ALTER AVAILABILITY GROUP [distributedAG] 
   MODIFY 
   AVAILABILITY GROUP ON 
   'ag2' WITH 
   (  SEEDING_MODE = MANUAL  ); 
Lid worden van gedistribueerde beschikbaarheidsgroep op het tweede cluster
Voeg vervolgens de gedistribueerde beschikbaarheidsgroep toe aan de tweede WSFC.
Gebruik de volgende Transact-SQL code om deel te nemen aan uw gedistribueerde beschikbaarheidsgroep met behulp van automatische seeding:
ALTER AVAILABILITY GROUP [distributedAG]
   JOIN
   AVAILABILITY GROUP ON
      'ag1' WITH
      (
         LISTENER_URL = 'tcp://ag1-listener.contoso.com:5022',
         AVAILABILITY_MODE = ASYNCHRONOUS_COMMIT,
         FAILOVER_MODE = MANUAL,
         SEEDING_MODE = AUTOMATIC
      ),
      'ag2' WITH
      (
         LISTENER_URL = 'tcp://ag2-listener.contoso.com:5022',
         AVAILABILITY_MODE = ASYNCHRONOUS_COMMIT,
         FAILOVER_MODE = MANUAL,
         SEEDING_MODE = AUTOMATIC
      );
GO
De database toevoegen aan de secundaire beschikbaarheidsgroep
Als de tweede beschikbaarheidsgroep is ingesteld voor het gebruik van automatische seeding, gaat u naar stap 2.
Als de tweede beschikbaarheidsgroep handmatige seeding gebruikt, herstelt u de back-up die u op de globale primaire node hebt gemaakt naar de secundaire node van de tweede beschikbaarheidsgroep.
RESTORE DATABASE [db1] FROM DISK = '<full backup location>' WITH NORECOVERY; RESTORE LOG [db1] FROM DISK = '<log backup location>' WITH NORECOVERY;Nadat de database op de secundaire replica van de tweede beschikbaarheidsgroep de herstelstatus heeft, moet u deze handmatig toevoegen aan de beschikbaarheidsgroep.
ALTER DATABASE [db1] SET HADR AVAILABILITY GROUP = [ag2];
Failover bij een gedistribueerde beschikbaarheidsgroep
Omdat SQL Server 2022 (16.x) ondersteuning voor gedistribueerde beschikbaarheidsgroepen voor de REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT instelling heeft geïntroduceerd, zijn instructies voor het uitvoeren van een failover van een gedistribueerde beschikbaarheid anders voor SQL Server 2022 en latere versies dan voor SQL Server 2019 en eerdere versies.
Voor een gedistribueerde beschikbaarheidsgroep is het enige ondersteunde failovertype een handmatig door de gebruiker geïnitieerd FORCE_FAILOVER_ALLOW_DATA_LOSS. Om gegevensverlies te voorkomen, moet u daarom extra stappen uitvoeren (in deze sectie beschreven) om ervoor te zorgen dat gegevens tussen de twee replica's worden gesynchroniseerd voordat de failover wordt gestart.
In het geval van een noodgeval waarbij gegevensverlies acceptabel is, kunt u een failover initiëren zonder ervoor te zorgen dat gegevenssynchronisatie wordt uitgevoerd:
ALTER AVAILABILITY GROUP distributedAG FORCE_FAILOVER_ALLOW_DATA_LOSS;
U kunt dezelfde opdracht gebruiken om een failover uit te voeren naar de doorstuurserver, evenals een failback naar de globale primaire.
Op SQL Server 2022 (16.x) en hoger kunt u de REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT instelling configureren voor een gedistribueerde beschikbaarheidsgroep, die is ontworpen om geen gegevensverlies te garanderen wanneer een gedistribueerde beschikbaarheidsgroep een failover-overschakeling uitvoert. Als deze instelling is geconfigureerd, volgt u de stappen in deze sectie om een failover uit te voeren voor uw gedistribueerde beschikbaarheidsgroep. Als u de REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT instelling niet wilt gebruiken, volgt u de instructies om een failover uit te voeren voor een gedistribueerde beschikbaarheidsgroep in SQL Server 2019 en eerder.
Opmerking
Instelling REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT op 1 betekent dat de primaire replica wacht tot transacties worden doorgevoerd op de secundaire replica voordat ze worden doorgevoerd op de primaire replica, wat de prestaties kan verminderen. Hoewel het beperken of stoppen van transacties op de globale primaire server niet vereist is voor de gedistribueerde beschikbaarheidsgroep om te synchroniseren in SQL Server 2022 (16.x), kan dit de prestaties verbeteren voor zowel gebruikerstransacties als synchronisatie van gedistribueerde beschikbaarheidsgroepen met REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT ingesteld op 1.
Stappen om ervoor te zorgen dat er geen gegevensverlies is
Om ervoor te zorgen dat er geen gegevensverlies is, moet u eerst de gedistribueerde beschikbaarheidsgroep configureren om geen gegevensverlies te ondersteunen door de volgende stappen uit te voeren:
- Controleer of de mondiale primaire en doorstuurserver in de modus 
SYNCHRONOUS_COMMITstaan om de failover voor te bereiden. Als dat niet zo is, stelt u deze in metSYNCHRONOUS_COMMITALTER AVAILABILITY GROUP. - Stel de gedistribueerde beschikbaarheidsgroep in op synchrone doorvoer op zowel de globale primaire als de doorstuurserver.
 - Wacht totdat de gedistribueerde beschikbaarheidsgroep is gesynchroniseerd.
 - Stel op de algemene primaire locatie de instelling voor de gedistribueerde beschikbaarheidsgroep 
REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMITin op 1 met behulp van ALTER AVAILABILITY GROUP. - Controleer of alle replica's in de lokale AG's en de gedistribueerde beschikbaarheidsgroep gezond zijn en dat de gedistribueerde beschikbaarheidsgroep GESYNCHRONISEERD is.
 - Stel op de globale primaire replica de rol voor de 
SECONDARY-gedistribueerde beschikbaarheidsgroep in, dit maakt de gedistribueerde beschikbaarheidsgroep onbeschikbaar. - Voer een failover uit van de gedistribueerde beschikbaarheidsgroep op de doorstuurserver (de beoogde nieuwe primaire) door gebruik te maken van ALTER AVAILABILITY GROUP met 
FORCE_FAILOVER_ALLOW_DATA_LOSS. - Stel op de nieuwe secundaire (de vorige globale primaire replica) de gedistribueerde beschikbaarheidsgroep 
REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMITin op 0. - Optioneel: Als de beschikbaarheidsgroepen zich op een geografische afstand bevinden die latentie veroorzaakt, wijzigt u de beschikbaarheidsmodus in 
ASYNCHRONOUS_COMMIT. Hiermee wordt de wijziging van de eerste stap teruggezet, indien nodig. 
T-SQL-voorbeeld
Deze sectie biedt de stappen in een gedetailleerd voorbeeld om een failover uit te voeren voor de gedistribueerde beschikbaarheidsgroep genaamd distributedAG door gebruik te maken van Transact-SQL. De voorbeeldomgeving heeft in totaal vier knooppunten voor de gedistribueerde beschikbaarheidsgroep. De globale primaire N1 en N2 host-beschikbaarheidsgroep ag1, terwijl de N3 en N4 doorstuur-hostbeschikbaarheidsgroep ag2. De gedistribueerde beschikbaarheidsgroep distributedAG pusht wijzigingen van ag1 naar ag2.
Voer een query uit om
SYNCHRONOUS_COMMITte verifiëren op de primaries van de lokale beschikbaarheidsgroepen die de gedistribueerde beschikbaarheidsgroep vormen. Voer de volgende T-SQL rechtstreeks uit op de doorstuurserver en de globale primaire server:SELECT DISTINCT ag.name AS [Availability Group], ar.replica_server_name AS [Replica], ar.availability_mode_desc AS [Availability Mode] FROM sys.availability_replicas AS ar INNER JOIN sys.availability_groups AS ag ON ar.group_id = ag.group_id INNER JOIN sys.dm_hadr_database_replica_states AS rs ON ar.group_id = rs.group_id AND ar.replica_id = rs.replica_id WHERE ag.name IN ('ag1', 'ag2') AND rs.is_primary_replica = 1 ORDER BY [Availability Group]; --if needed, to set a given replica to SYNCHRONOUS for node N1, default instance. If named, change from N1 to something like N1\SQL22 ALTER AVAILABILITY GROUP [testag] MODIFY REPLICA ON N'N1\SQL22' WITH (AVAILABILITY_MODE = SYNCHRONOUS_COMMIT);Stel de gedistribueerde beschikbaarheidsgroep in op synchrone doorvoer door de volgende code uit te voeren op zowel de globale primaire als de doorstuurserver:
-- sets the distributed availability group to synchronous commit ALTER AVAILABILITY GROUP [distributedAG] MODIFY AVAILABILITY GROUP ON 'ag1' WITH (AVAILABILITY_MODE = SYNCHRONOUS_COMMIT), 'ag2' WITH (AVAILABILITY_MODE = SYNCHRONOUS_COMMIT);Opmerking
In een gedistribueerde beschikbaarheidsgroep is de synchronisatiestatus tussen de twee beschikbaarheidsgroepen afhankelijk van de beschikbaarheidsmodus van beide replica's. Voor de synchrone doorvoermodus moeten zowel de huidige primaire beschikbaarheidsgroep als de huidige secundaire beschikbaarheidsgroep de beschikbaarheidsmodus hebben
SYNCHRONOUS_COMMIT. Daarom moet u dit script uitvoeren op zowel de globale primaire replica als de doorstuurserver.Wacht totdat de status van de gedistribueerde beschikbaarheidsgroep is gewijzigd in
SYNCHRONIZED. Voer de volgende query uit op de globale primaire:-- Run this query on the Global Primary -- Check the results to see if synchronization_state_desc is SYNCHRONIZED SELECT ag.name, drs.database_id AS [Availability Group], db_name(drs.database_id) AS database_name, drs.synchronization_state_desc, drs.last_hardened_lsn FROM sys.dm_hadr_database_replica_states AS drs INNER JOIN sys.availability_groups AS ag ON drs.group_id = ag.group_id WHERE ag.name = 'distributedAG' ORDER BY [Availability Group];Ga door nadat de beschikbaarheidsgroep synchronization_state_desc is
SYNCHRONIZED.Voor SQL Server 2022 (16.x) en hoger, stel op de globale primaire
REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMITin op 1 met behulp van de volgende T-SQL:ALTER AVAILABILITY GROUP distributedAG SET (REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT = 1);Controleer of uw beschikbaarheidsgroepen in orde zijn op alle replica's door een query uit te voeren op de globale primaire en de doorstuurserver:
SELECT ag.name AS [AG Name], db_name(drs.database_id) AS database_name, ar.replica_server_name AS [replica], drs.synchronization_state_desc, drs.last_hardened_lsn FROM sys.dm_hadr_database_replica_states AS drs INNER JOIN sys.availability_groups AS ag ON drs.group_id = ag.group_id INNER JOIN sys.availability_replicas AS ar ON drs.replica_id = ar.replica_id AND drs.replica_id = ar.replica_id WHERE ag.name IN ('ag1', 'ag2', 'distributedAG');Stel de rol gedistribueerde beschikbaarheidsgroep in op de globale primaire.
SECONDARYOp dit moment is de gedistribueerde beschikbaarheidsgroep niet beschikbaar. Nadat deze stap is voltooid, kunt u geen failback uitvoeren totdat de rest van de stappen worden uitgevoerd.ALTER AVAILABILITY GROUP distributedAG SET (ROLE = SECONDARY);Voer een failover uit vanaf de globale primaire server door de volgende query uit te voeren op de doorstuurserver om de beschikbaarheidsgroepen over te zetten en de gedistribueerde beschikbaarheidsgroep weer online te brengen:
-- Run the following command on the forwarder, the SQL Server instance that hosts the primary replica of the secondary availability group. ALTER AVAILABILITY GROUP distributedAG FORCE_FAILOVER_ALLOW_DATA_LOSS;Na deze stap:
- De globale primaire overgang van 
N1naarN3. - De doorstuurserver gaat over van 
N3naarN1. - De gedistribueerde beschikbaarheidsgroep is beschikbaar.
 
- De globale primaire overgang van 
 Schakel op de nieuwe forwarder (vorige globale primaire
N1) de eigenschap van de gedistribueerde beschikbaarheidsgroepREQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMITuit door deze in te stellen op 0:ALTER AVAILABILITY GROUP distributedAG SET (REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT = 0);OPTIONEEL: Als de beschikbaarheidsgroepen zich op een geografische afstand bevinden die latentie veroorzaakt, kunt u overwegen om de beschikbaarheidsmodus weer te
ASYNCHRONOUS_COMMITwijzigen op zowel de globale primaire als de doorstuurserver. Hiermee wordt de wijziging die in de eerste stap is aangebracht, teruggezet, indien nodig.-- If applicable: sets the distributed availability group to asynchronous commit: ALTER AVAILABILITY GROUP distributedAG MODIFY AVAILABILITY GROUP ON 'ag1' WITH (AVAILABILITY_MODE = ASYNCHRONOUS_COMMIT), 'ag2' WITH (AVAILABILITY_MODE = ASYNCHRONOUS_COMMIT);
Een gedistribueerde beschikbaarheidsgroep verwijderen
Met de volgende Transact-SQL instructie wordt een gedistribueerde beschikbaarheidsgroep met de naam distributedAGverwijderd:
DROP AVAILABILITY GROUP distributedAG;
Gedistribueerde beschikbaarheidsgroep maken op failoverclusterexemplaren
U kunt een gedistribueerde beschikbaarheidsgroep maken met behulp van een beschikbaarheidsgroep op een failoverclusterexemplaar (FCI). In dit geval hebt u geen listener voor een beschikbaarheidsgroep nodig. Gebruik de naam van het virtuele netwerk (VNN) voor de primaire replica van het FCI-exemplaar. In het volgende voorbeeld ziet u een gedistribueerde beschikbaarheidsgroep met de naam SQLFCIDAG. Eén beschikbaarheidsgroep is SQLFCIAG. SQLFCIAG heeft twee FCI-replica's. De VNN voor de primaire FCI-replica is SQLFCIAG-1 en de VNN voor de secundaire FCI-replica is SQLFCIAG-2. De gedistribueerde beschikbaarheidsgroep bevat ook SQLAG-DR voor herstel na noodgevallen.
              
              
              
              
            
Met de volgende DDL wordt deze gedistribueerde beschikbaarheidsgroep gemaakt:
CREATE AVAILABILITY GROUP [SQLFCIDAG]
   WITH (DISTRIBUTED)
   AVAILABILITY GROUP ON
  'SQLFCIAG' WITH
      (
         LISTENER_URL = 'tcp://SQLFCIAG-1.contoso.com:5022',
         AVAILABILITY_MODE = ASYNCHRONOUS_COMMIT,
         FAILOVER_MODE = MANUAL,
         SEEDING_MODE = AUTOMATIC
      ),
  'SQLAG-DR' WITH
      (
         LISTENER_URL = 'tcp://SQLAG-DR.contoso.com:5022',
         AVAILABILITY_MODE = ASYNCHRONOUS_COMMIT,
         FAILOVER_MODE = MANUAL,
         SEEDING_MODE = AUTOMATIC
      );
De listener-URL-adres is de VNN van de primaire FCI-instantie.
Handmatig een failover van FCI uitvoeren in een gedistribueerde beschikbaarheidsgroep
Als u handmatig een failover wilt uitvoeren voor de FCI-beschikbaarheidsgroep, werkt u de gedistribueerde beschikbaarheidsgroep bij zodat deze overeenkomt met de wijziging van de listener-URL. Voer bijvoorbeeld de volgende DDL uit op zowel de globale primaire server als de doorstuurcomponent van de gedistribueerde AG van SQLFCIDAG.
ALTER AVAILABILITY GROUP [SQLFCIDAG]
   MODIFY AVAILABILITY GROUP ON
 'SQLFCIAG' WITH
    (
        LISTENER_URL = 'tcp://SQLFCIAG-2.contoso.com:5022'
    )