Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Elosztott rendelkezésre állási csoport létrehozásához két rendelkezésre állási csoportot kell létrehoznia, mindegyiknek saját figyelővel kell rendelkeznie. Ezután ezeket a rendelkezésre állási csoportokat egy elosztott rendelkezésre állási csoportba kell egyesítenie. Az alábbi lépések egy egyszerű példát mutatnak be a Transact-SQL-ben. Ez a példa nem fedi le a rendelkezésre állási csoportok és a figyelők létrehozásának összes részletét; ehelyett a fő követelmények kiemelésére összpontosít.
Az elosztott rendelkezésre állási csoportok technikai áttekintését lásd: Elosztott rendelkezésre állási csoportok.
Előfeltételek
Elosztott rendelkezésre állási csoport konfigurálásához a következőkre van szükség:
- Az SQL Server támogatott verziója.
Megjegyzés:
Ha elosztott hálózati névvel (DNN) konfigurálta a rendelkezésre állási csoport figyelőt az Azure-beli virtuális gépen futó SQL Serveren, akkor nem támogatott az elosztott rendelkezésre állási csoport konfigurálása a rendelkezésre állási csoport tetején. További információkért tekintse meg az Azure-beli virtuális gépeken futó SQL Server AG- és DNN-figyelővel való együttműködését.
Engedélyek
A kiszolgálón a rendelkezésre állási csoport létrehozásához CREATE AVAILABILITY GROUP jogosultság szükséges, és az elosztott rendelkezésre állási csoport feladatátvételéhez sysadmin jogosultság szükséges.
Az adatbázis tükrözési végpontjának beállítása az összes IP-cím figyelésére
Győződjön meg arról, hogy az adatbázis tükrözési végpontjai képesek kommunikálni az elosztott rendelkezésre állási csoport különböző rendelkezésre állási csoportjai között. Ha egy rendelkezésre állási csoport egy adott hálózatra van beállítva az adatbázis tükrözési végpontján, az elosztott rendelkezésre állási csoport nem működik megfelelően. Az elosztott rendelkezésre állási csoportban replikát üzemeltető kiszolgálókon állítsa be az adatbázis-tükrözési végpontot az összes IP-cím figyelésére (LISTENER_IP = ALL).
Adatbázistükrözési végpont létrehozása az összes IP-cím figyeléséhez
Az alábbi szkript például létrehoz egy új adatbázistükrözési végpontot az 5022-s TCP-porton, amely az összes IP-címet figyeli.
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
Meglévő adatbázistükrözési végpont módosítása az összes IP-cím figyeléséhez
Az alábbi szkript például módosít egy meglévő adatbázistükrözési végpontot az összes IP-cím figyeléséhez.
ALTER ENDPOINT [aodns-hadr]
AS TCP
(
LISTENER_IP = ALL
);
GO
Első rendelkezésre állási csoport létrehozása
Hozza létre az elsődleges rendelkezésre állási csoportot az első fürtön
Hozzon létre egy rendelkezésre állási csoportot az első Windows Server Failover Clusteren (WSFC). Ebben a példában a rendelkezésre állási csoport neve ag1, az adatbázis db1 esetében. Az elsődleges rendelkezésre állási csoport elsődleges replikája globális elsődlegesként ismert egy elosztott rendelkezésre állási csoportban. Ebben a példában a Server1 a globális elsődleges.
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
Megjegyzés:
Az előző példa az automatikus adatbetöltést használja, ahol SEEDING_MODEAUTOMATIC értékre van állítva mind a replikák, mind az elosztott rendelkezésre állási csoport esetében. Ez a konfiguráció beállítja, hogy a másodlagos replikák és a másodlagos rendelkezésre állási csoport automatikusan fel legyen töltve anélkül, hogy manuális biztonsági mentésre és az elsődleges adatbázis visszaállítására lenne szükség.
A másodlagos replikák csatlakoztatása az elsődleges rendelkezésre állási csoporthoz
A másodlagos replikákat az ALTER AVAILABILITY GROUP beállítással kell csatlakoztatni a rendelkezésre állási csoporthoz a JOIN beállítással. Mivel ebben a példában automatikus magonzást használunk, az ALTER AVAILABILITY GROUP is meg kell hívnia a GRANT CREATE ANY DATABASE beállítással. Ezzel a beállítással a rendelkezésre állási csoport létrehozhatja az adatbázist, és automatikusan megkezdheti az elsődleges replikából való üzembe helyezését.
Ebben a példában a következő parancsok futnak a másodlagos replikán a server2rendelkezésre állási ag1 csoporthoz való csatlakozáshoz. A rendelkezésre állási csoport ezután engedélyezi az adatbázisok létrehozását a másodlagos példányon.
ALTER AVAILABILITY GROUP [ag1] JOIN
ALTER AVAILABILITY GROUP [ag1] GRANT CREATE ANY DATABASE
GO
Megjegyzés:
Amikor a rendelkezésre állási csoport létrehoz egy adatbázist egy másodlagos replikán, az adatbázis tulajdonosát állítja be az utasítást futtató ALTER AVAILABILITY GROUP fiókként, amely engedélyt ad bármilyen adatbázis létrehozására. További információ: Adatbázis-létrehozási engedély megadása másodlagos replikán a rendelkezésre állási csoport számára.
Figyelő létrehozása az elsődleges rendelkezésre állási csoporthoz
Ezután adjon hozzá egy figyelőt az első WSFC elsődleges rendelkezésre állási csoportjához. Ebben a példában a figyelő neve ag1-listener. A figyelők létrehozásával kapcsolatos részletes utasításokért lásd: Rendelkezésreállási csoport figyelőjének (SQL Server) létrehozása vagy konfigurálása.
ALTER AVAILABILITY GROUP [ag1]
ADD LISTENER 'ag1-listener' (
WITH IP ( ('2001:db88:f0:f00f::cf3c'),('2001:4898:e0:f213::4ce2') ) ,
PORT = 60173);
GO
Második rendelkezésre állási csoport létrehozása
Ezután a második WSFC-n hozzon létre egy második rendelkezésre állási csoportot. ag2 Ebben az esetben az adatbázis nincs megadva, mert az automatikusan az elsődleges rendelkezésre állási csoportból lesz beállítva. Az elosztott rendelkezésre állási csoportban a másodlagos rendelkezésre állási csoport elsődleges replikáját továbbítónak nevezik. Ebben a példában a kiszolgáló3 a továbbító.
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
Megjegyzés:
- A másodlagos rendelkezésre állási csoportnak ugyanazt az adatbázis-tükrözési végpontot kell használnia (ebben a példában az 5022-s portot). Ellenkező esetben a replikáció leáll egy helyi feladatátvétel után.
- A mögöttes rendelkezésre állási csoportoknak ugyanabban a rendelkezésre állási módban kell lenniük – vagy mindkét rendelkezésre állási csoportnak szinkron véglegesítési módban kell lennie, vagy mindkettőnek aszinkron véglegesítési módban kell lennie. Ha nem biztos benne, hogy melyiket használja, állítsa mindkettőt aszinkron véglegesítési módra, amíg készen nem áll a feladatátvételre.
A másodlagos replikák csatlakoztatása a másodlagos rendelkezésre állási csoporthoz
Ebben a példában a következő parancsok futnak a másodlagos replikán a server4rendelkezésre állási ag2 csoporthoz való csatlakozáshoz. A rendelkezésre állási csoport ezután létrehozhat adatbázisokat a másodlagos helyen az automatikus vetés támogatásához.
ALTER AVAILABILITY GROUP [ag2] JOIN
ALTER AVAILABILITY GROUP [ag2] GRANT CREATE ANY DATABASE
GO
Készítsen figyelőt a másodlagos rendelkezésre állási csoport számára
Ezután adjon hozzá egy figyelőt a másodlagos rendelkezésre állási csoporthoz a második WSFC-n. Ebben a példában a figyelő neve ag2-listener. A figyelők létrehozásával kapcsolatos részletes utasításokért lásd: Rendelkezésreállási csoport figyelőjének (SQL Server) létrehozása vagy konfigurálása.
ALTER AVAILABILITY GROUP [ag2]
ADD LISTENER 'ag2-listener' ( WITH IP ( ('2001:db88:f0:f00f::cf3c'),('2001:4898:e0:f213::4ce2') ) , PORT = 60173);
GO
Elosztott rendelkezésre állási csoport létrehozása az első klaszteren
Az első WSFC-n hozzon létre egy elosztott rendelkezésre állási csoportot (ebben a példában).distributedAG Használja a CREATE AVAILABILITY GROUP parancsot az ELOSZTOTT beállítással. A RENDELKEZÉSRE ÁLLÁSI CSOPORT paraméter meghatározza a tagok rendelkezésre állási csoportjait ag1 és ag2.
Ha automatikus vetéssel szeretné létrehozni az elosztott rendelkezésre állási csoportot, használja a következő Transact-SQL kódot:
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
Megjegyzés:
A LISTENER_URL meghatározza az egyes rendelkezésre állási csoportok figyelőit, valamint a rendelkezésre állási csoport adatbázis-tükrözési végpontját. Ebben a példában ez a port 5022 (nem a figyelő létrehozásához használt port 60173 ). Ha terheléselosztót használ, például az Azure-ban, adjon hozzá egy terheléselosztási szabályt az elosztott rendelkezésre állási csoport portjához. Adja hozzá a figyelőport szabályát az SQL Server-példányport mellett.
Automatikus küldés törlése az átirányítónak
Ha bármilyen okból szükségessé válik a továbbító inicializálásának megszüntetése a két rendelkezésre állási csoport szinkronizálása előtt , módosítsa az elosztott rendelkezésre állási csoportot úgy, hogy a továbbító SEEDING_MODE paraméterét MANUÁLIS értékre állítja, és azonnal megszakítja a vetést. Futtassa a parancsot a globális fő példányon:
-- Cancel automatic seeding. Connect to global primary but specify DAG AG2
ALTER AVAILABILITY GROUP [distributedAG]
MODIFY
AVAILABILITY GROUP ON
'ag2' WITH
( SEEDING_MODE = MANUAL );
Elosztott rendelkezésre állási csoport csatlakoztatása a második fürthöz
Ezután csatlakozzon az elosztott rendelkezésre állási csoporthoz a második WSFC-n.
Ha automatikus vetéssel szeretne csatlakozni az elosztott rendelkezésre állási csoporthoz, használja a következő Transact-SQL kódot:
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
Csatlakozás az adatbázishoz a második rendelkezésre állási csoport másodlagos részén
Ha a második rendelkezésre állási csoport automatikus vetés használatára lett beállítva, lépjen a 2. lépésre.
Ha a második rendelkezésre állási csoport manuális vetést használ, akkor állítsa vissza a globális elsődleges rendszeren készített biztonsági másolatot a második rendelkezésre állási csoport másodlagos rendszerére.
RESTORE DATABASE [db1] FROM DISK = '<full backup location>' WITH NORECOVERY; RESTORE LOG [db1] FROM DISK = '<log backup location>' WITH NORECOVERY;Miután a második rendelkezésre állási csoport másodlagos replikáján lévő adatbázis visszaállítási állapotban van, manuálisan kell csatlakoznia a rendelkezésre állási csoporthoz.
ALTER DATABASE [db1] SET HADR AVAILABILITY GROUP = [ag2];
Elosztott rendelkezésre állási csoport feladatátvétele
Mivel az SQL Server 2022 (16.x) bevezette az elosztott rendelkezésre állási csoport támogatását a REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT beállításhoz, az elosztott rendelkezésre állás feladatátvételére vonatkozó utasítások eltérnek az SQL Server 2022-ben és újabb verzióiban, mint az SQL Server 2019-ben és a korábbi verziókban.
Elosztott rendelkezésre állási csoport esetén az egyetlen támogatott feladatátvételi típus egy manuális, felhasználó által kezdeményezett FORCE_FAILOVER_ALLOW_DATA_LOSS. Ezért az adatvesztés megakadályozása érdekében további lépéseket kell tennie (ebben a szakaszban részletesen ismertetjük), hogy a feladatátvétel megkezdése előtt az adatok szinkronizálva legyenek a két replika között.
Olyan vészhelyzet esetén, amikor az adatvesztés elfogadható, a következő futtatásával kezdeményezhet feladatátvételt az adatszinkronizálás biztosítása nélkül:
ALTER AVAILABILITY GROUP distributedAG FORCE_FAILOVER_ALLOW_DATA_LOSS;
Ugyanezzel a paranccsal feladatátvételt végezhet a továbbítónak, valamint visszaléphet a globális elsődleges helyre.
Az SQL Server 2022 -ben (16.x) és újabb verziókban konfigurálhatja az REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT elosztott rendelkezésre állási csoport beállításait, amelyek úgy lettek kialakítva, hogy ne legyen adatvesztés, ha egy elosztott rendelkezésre állási csoport meghibásodik. Ha ez a beállítás konfigurálva van, kövesse az ebben a szakaszban leírt lépéseket az elosztott rendelkezésre állási csoport feladatátvételéhez. Ha nem szeretné használni a REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT beállítást, kövesse az utasításokat egy elosztott rendelkezésre állási csoport feladatátvételéhez az SQL Server 2019-ben és korábbi verzióiban.
Megjegyzés:
Az 1 értékre állítás REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT azt jelenti, hogy az elsődleges replika megvárja, amíg a másodlagos replikán véglegesítik a tranzakciókat, mielőtt az elsődleges replikán véglegesítik őket, ami csökkentheti a teljesítményt. Bár nem szükséges a globális elsődleges szerveren a tranzakciók korlátozása vagy leállítása ahhoz, hogy az elosztott rendelkezésre állási csoport szinkronizálódjon az SQL Server 2022-ben (16.x), ezt megtenni javíthatja a teljesítményt mind a felhasználói tranzakciók, mind az elosztott rendelkezésre állási csoport szinkronizálása során, ha a REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT értéke 1.
Az adatvesztés hiányának biztosításához szükséges lépések
Annak érdekében, hogy ne legyen adatvesztés, először konfigurálnia kell az elosztott rendelkezésre állási csoportot úgy, hogy az ne támogassa az adatvesztést az alábbi lépések végrehajtásával:
- A feladatátvételre való felkészüléshez ellenőrizze, hogy a globális elsődleges és továbbító
SYNCHRONOUS_COMMITüzemmódban vannak. Ha nem, állítsa be őket azSYNCHRONOUS_COMMITALTER AVAILABILITY GROUP parancson keresztül. - Állítsa be az elosztott rendelkezésre állási csoportot szinkron elköteleződésre mind a globális elsődlegesre, mind a továbbítóra.
- Várja meg, amíg az elosztott rendelkezésre állási csoport szinkronizálódik.
- A globális elsődlegesen állítsa az elosztott rendelkezésre állási csoport
REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMITbeállítását 1-re az ALTER AVAILABILITY GROUP használatával. - Ellenőrizze, hogy a helyi AG-k és az elosztott rendelkezésre állási csoport összes replikája kifogástalan állapotban van-e, és hogy az elosztott rendelkezésre állási csoport SZINKRONIZÁLVA van-e.
- A globális elsődleges replikán állítsa be az elosztott rendelkezésre állási csoport szerepkört
SECONDARY, amely elérhetetlenné teszi az elosztott rendelkezésre állási csoportot. - Az átállítón (a tervezett új elsődlegesen) hajtsa végre az elosztott rendelkezésre állási csoport átváltását az ALTER AVAILABILITY GROUP a
FORCE_FAILOVER_ALLOW_DATA_LOSSsegítségével. - Az új másodlagos (az előző globális elsődleges replikán) állítsa az elosztott rendelkezésre állási csoportot
REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT0-ra. - Nem kötelező: Ha a rendelkezésre állási csoportok olyan földrajzi távolságon vannak, amely késést okoz, módosítsa a rendelkezésre állási módot a következőre
ASYNCHRONOUS_COMMIT: . Ez szükség esetén visszaállítja a módosítást az első lépésről.
T-SQL-példa
Ez a szakasz részletes példában ismerteti a Transact-SQL használatával elnevezett distributedAG elosztott rendelkezésre állási csoport feladatátvételének lépéseit. A példakörnyezetben összesen 4 csomópont található az elosztott rendelkezésre állási csoporthoz. A globális elsődleges N1 és N2 gazdagép rendelkezésre állási csoportja ag1 , míg a továbbító N3 és N4 gazdagép rendelkezésre állási csoportja ag2. Az elosztott rendelkezésre állási csoport distributedAG továbbítja a módosításokat ag1-ből ag2-be.
Lekérdezés az elosztott rendelkezésre állási csoportot alkotó helyi rendelkezésre állási csoportok elsődlegességeinek ellenőrzéséhez
SYNCHRONOUS_COMMIT. Futtassa a következő T-SQL-t közvetlenül a továbbító és a globális elsődleges kiszolgálón: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);Állítsa be az elosztott rendelkezésre állási csoportot szinkron véglegesítésre, a következő kódot futtatva mind a globális elsődlegesen, mind a továbbítón:
-- 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);Megjegyzés:
Elosztott rendelkezésre állási csoportban a két rendelkezésre állási csoport közötti szinkronizálás állapota a két replika rendelkezésre állási módjától függ. Szinkron véglegesítési mód esetén az aktuális elsődleges rendelkezésre állási csoportnak és az aktuális másodlagos rendelkezésre állási csoportnak is rendelkezésre állási móddal kell rendelkeznie
SYNCHRONOUS_COMMIT. Ezért ezt a szkriptet a globális elsődleges replikán és a továbbítón is futtatnia kell.Várjon, amíg az elosztott rendelkezésre állási csoport állapota megváltozik
SYNCHRONIZED. Futtassa a következő lekérdezést a globális elsődlegesen:-- 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];Folytassa, amikor a rendelkezésre állási csoport synchronization_state_desc
SYNCHRONIZEDállapotban van.Az SQL Server 2022 (16.x) és újabb verziói esetén a globális elsődleges kiszolgálón az alábbi T-SQL használatával állítsa az
REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT1 értéket:ALTER AVAILABILITY GROUP distributedAG SET (REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT = 1);A globális elsődleges és a továbbító lekérdezésével ellenőrizze, hogy a rendelkezésre állási csoportok kifogástalan állapotban vannak-e az összes replikán:
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');A globális elsődlegesen állítsa be az elosztott rendelkezésre állási csoport szerepkörét a következőre:
SECONDARY. Jelenleg az elosztott rendelkezésre állási csoport nem érhető el. A lépés befejezése után a többi lépés végrehajtásáig nem lehet visszalépni.ALTER AVAILABILITY GROUP distributedAG SET (ROLE = SECONDARY);A globális elsődleges vezérlés átváltásához futtassa a következő lekérdezést a továbbítón, hogy átválthassa a rendelkezésre állási csoportokat és újra online állapotba hozhassa az elosztott rendelkezésre állási csoportot.
-- 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;A lépés után:
- A globális elsődleges áttűnés
N1-rőlN3-re. - A továbbító átvált
N3-rólN1-re. - Az elosztott rendelkezésre állási csoport elérhető.
- A globális elsődleges áttűnés
Az új továbbítónál (korábbi globális elsődleges
N1) törölje az elosztott rendelkezésre állási csoport tulajdonságátREQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT0 értékre állítással:ALTER AVAILABILITY GROUP distributedAG SET (REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT = 0);NEM KÖTELEZŐ: Ha a rendelkezésre állási csoportok olyan földrajzi távolságon vannak, amely késést okoz, fontolja meg a rendelkezésre állási mód visszaállítását
ASYNCHRONOUS_COMMITmind a globális elsődleges, mind a továbbító számára. Ez visszaállítja az első lépésben végrehajtott módosítást, ha szükséges.-- 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);
Elosztott rendelkezésre állási csoport eltávolítása
Az alábbi Transact-SQL utasítás eltávolít egy elosztott rendelkezésre állási csoportot distributedAG:
DROP AVAILABILITY GROUP distributedAG;
Elosztott rendelkezésre állási csoport létrehozása kiesés esetére kialakított fürtpéldányokon
Elosztott rendelkezésre állási csoportot egy feladatátvevő fürtpéldány (FCI) rendelkezésre állási csoportjával hozhat létre. Ebben az esetben nincs szükség rendelkezésre állási csoport figyelőre. Használja a virtuális hálózat nevét (VNN) az FCI-példány elsődleges replikájához. Az alábbi példa egy SQLFCIDAG nevű elosztott rendelkezésre állási csoportot mutat be. Az egyik rendelkezésre állási csoport az SQLFCIAG. Az SQLFCIAG két FCI-replikával rendelkezik. Az elsődleges FCI-replika VNN-je az SQLFCIAG-1, a másodlagos FCI-replika VNN-je pedig AZ SQLFCIAG-2. Az elosztott rendelkezésre állási csoport az SQLAG-DR-t is tartalmazza a vészhelyreállításhoz.
Az alábbi DDL hozza létre ezt az elosztott rendelkezésre állási csoportot:
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
);
A figyelő URL-címe az elsődleges FCI-példány VNN-je.
FcI manuális feladatátvétele elosztott rendelkezésre állási csoportban
Az FCI rendelkezésre állási csoport manuális feladatátvételéhez frissítse az elosztott rendelkezésre állási csoportot, hogy az tükrözze a figyelő URL-címének változását. Futtassa például a következő DDL-t mind az elosztott rendelkezésre állási csoport (AG) globális elsődleges példányán, mind az SQLFCIDAG elosztott AG továbbító példányán is:
ALTER AVAILABILITY GROUP [SQLFCIDAG]
MODIFY AVAILABILITY GROUP ON
'SQLFCIAG' WITH
(
LISTENER_URL = 'tcp://SQLFCIAG-2.contoso.com:5022'
)