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
Új rendelkezésre állási csoportot hoz létre, ha az SQL Server példánya engedélyezve van az Always On rendelkezésre állási csoportok funkcióhoz.
Fontos
Hajtsa végre a CREATE AVAILABILITY GROUP parancsot azon SQL Server-példányon, amelyet az új rendelkezésre állási csoport kezdeti elsődleges replikájaként kíván használni. Ennek a kiszolgálópéldánynak windows serveres feladatátvételi fürtszolgáltatás (WSFC) csomóponton kell lennie.
Transact-SQL szintaxis konvenciói
Szintaxis
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 | CONTAINED [ REUSE_SYSTEM_DATABASES | AUTOSEEDING_SYSTEM_DATABASES ] ]
| REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT = { integer }
| CLUSTER_TYPE = { WSFC | EXTERNAL | NONE }
| WRITE_LEASE_VALIDITY = { seconds }
| CLUSTER_CONNECTION_OPTIONS = 'key_value_pairs>[;...]`
<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 } ]
[,] [ READ_WRITE_ROUTING_URL = 'TCP://system-address:port' ]
} )
| 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> ::=
'ip4_address', 'four_part_ipv4_mask'
<ip_address_option> ::=
{
'ip4_address', 'pv4_mask'
| 'ipv6_address'
}
Érvek
group_name
Az új rendelkezésre állási csoport nevét adja meg.
group_name érvényes SQL Server-azonosítónakkell lennie, és a WSFC-fürt összes rendelkezésre állási csoportjában egyedinek kell lennie. A rendelkezésre állási csoport nevének maximális hossza 128 karakter cluster_type = WSFC és 64 karakter cluster_type = NONE és EXTERNALesetén.
AUTOMATED_BACKUP_PREFERENCE = { PRIMARY | SECONDARY_ONLY | MÁSODLAGOS | NONE }
Megadja, hogy a biztonsági mentési feladat hogyan értékelje ki az elsődleges replikát a biztonsági mentések helyének kiválasztásakor. Egy adott biztonsági mentési feladatot szkriptelhet, hogy figyelembe vegye az automatikus biztonsági mentési beállításokat. Fontos tisztában lenni azzal, hogy az SQL Server nem érvényesíti a beállításokat, így nincs hatással az alkalmi biztonsági mentésekre.
A támogatott értékek a következők:
ELSŐDLEGES
Azt határozza meg, hogy a biztonsági mentéseknek mindig az elsődleges replikán kell történnie. Ez a beállítás akkor hasznos, ha biztonsági mentési funkciókra van szüksége, például különbségi biztonsági másolatok létrehozására, amelyek nem támogatottak, ha a biztonsági mentés másodlagos replikán fut.
Fontos
Ha naplóalapú szállítással szeretné előkészíteni a másodlagos adatbázisokat egy rendelkezésre állási csoporthoz, állítsa be az automatikus biztonsági mentési beállítást az elsődleges , amíg az összes másodlagos adatbázist elő nem készíti és csatlakoztatja a rendelkezésre állási csoporthoz.
SECONDARY_ONLY
Azt határozza meg, hogy a biztonsági mentések soha ne legyenek végrehajtva az elsődleges replikán. Ha az elsődleges replika az egyetlen online replika, a biztonsági mentés nem történhet meg.
MÁSODLAGOS
Azt határozza meg, hogy a biztonsági mentéseknek másodlagos replikán kell történnie, kivéve, ha az elsődleges replika az egyetlen online replika. Ebben az esetben a biztonsági mentésnek az elsődleges replikán kell történnie. Ez az alapértelmezett viselkedés.
Egyik sem
Azt adja meg, hogy a biztonsági mentési feladatok figyelmen kívül hagyják a rendelkezésre állási replikák szerepkörét a biztonsági mentések elvégzéséhez a replika kiválasztásakor. Vegye figyelembe, hogy a biztonsági mentési feladatok más tényezőket is kiértékelhetnek, például az egyes rendelkezésre állási replikák biztonsági mentési prioritását a működési állapottal és a csatlakoztatott állapottal kombinálva.
Fontos
Nincs kényszerítve a AUTOMATED_BACKUP_PREFERENCE beállítás. Ennek a beállításnak az értelmezése függ attól a logikától( ha van ilyen), amelyet egy adott rendelkezésre állási csoport adatbázisainak háttérfeladataiba szkriptel. Az automatikus biztonsági mentés beállításának nincs hatása az alkalmi biztonsági mentésekre. További információ: Biztonsági mentés konfigurálása rendelkezésre állási replikákon (SQL Server).
Jegyzet
Egy meglévő rendelkezésre állási csoport automatikus biztonsági mentési beállításának megtekintéséhez válassza ki a sys.availability_groups katalógusnézet automated_backup_preference vagy automated_backup_preference_desc oszlopát. Emellett sys.fn_hadr_backup_is_preferred_replica (Transact-SQL) is használható az előnyben részesített biztonsági mentési replika meghatározásához. Ez a függvény 1 értéket ad vissza legalább egy replikához, még akkor is, ha AUTOMATED_BACKUP_PREFERENCE = NONE.
FAILURE_CONDITION_LEVEL = { 1 | 2 | 3 | 4 | 5 }
Megadja, hogy milyen hibafeltételek váltják ki az automatikus feladatátvételt ehhez a rendelkezésre állási csoporthoz. FAILURE_CONDITION_LEVEL csoportszinten van beállítva, de csak a szinkron véglegesítési rendelkezésre állási módhoz (AVAILABILITY_MODE = SYNCHRONOUS_COMMIT) konfigurált rendelkezésre állási replikákra vonatkozik. Ezenkívül a hibafeltételek csak akkor aktiválhatnak automatikus feladatátvételt, ha az elsődleges és a másodlagos replika is automatikus feladatátvételi módra van konfigurálva (FAILOVER_MODE = AUTOMATIKUS), és a másodlagos replika jelenleg szinkronizálva van az elsődleges replikával.
A hibaállapot szintjei (1-5) a legkevésbé korlátozó, 1. szinttől a legszigorúbb, 5. szintig terjednek. Egy adott feltételszint az összes kevésbé korlátozó szintet magában foglalja. Így a legszigorúbb feltételszint, az 5, magában foglalja a négy kevésbé korlátozó feltételszintet (1-4), a 4. szintet az 1-3. szintet, és így tovább. Az alábbi táblázat az egyes szinteknek megfelelő meghibásodási feltételt ismerteti.
| Szint | Hibaállapot |
|---|---|
| 1 | Meghatározza, hogy az alábbiak bármelyike esetén automatikus feladatátvételt kell kezdeményezni: -Az SQL Server szolgáltatás leállt. -A WSFC-fürthöz való csatlakozáshoz szükséges rendelkezésre állási csoport bérlete lejár, mert a kiszolgálópéldány nem kap ACK-t. További információ: How It Works: SQL Server Always On Lease Timeout. |
| 2 | Meghatározza, hogy az alábbiak bármelyike esetén automatikus feladatátvételt kell kezdeményezni: -Az SQL Server példánya nem csatlakozik a fürthöz, és túllépi a felhasználó által megadott HEALTH_CHECK_TIMEOUT rendelkezésre állási csoport küszöbértékét. -A rendelkezésre állási replika sikertelen állapotban van. |
| 3 | Azt határozza meg, hogy automatikus feladatátvételt kell kezdeményezni kritikus SQL Server-belső hibák, például árva spinlockok, súlyos írási-hozzáférési szabálysértések vagy túl sok memóriakép esetén. Ez az alapértelmezett viselkedés. |
| 4 | Azt határozza meg, hogy az SQL Server belső belső hibái, például az SQL Server belső erőforráskészletének állandó memóriakihasználtsága esetén automatikus feladatátvételt kell kezdeményezni. |
| 5 | Meghatározza, hogy az automatikus feladatátvételt minden minősített hibafeltétel esetén meg kell indítani, beleértve a következőket: -Az SQL Engine feldolgozói szálainak kimerülése. -Feloldhatatlan holtpont észlelése. |
Jegyzet
Az SQL Server egy példánya által az ügyfélkérésekre adott válasz hiánya nem releváns a rendelkezésre állási csoportok számára.
A FAILURE_CONDITION_LEVEL és HEALTH_CHECK_TIMEOUT értékek rugalmas feladatátvételi szabályzatot definiálnak egy adott csoporthoz. Ez a rugalmas feladatátvételi szabályzat részletesen szabályozza, hogy milyen feltételeknek kell automatikus feladatátvételt okoznia. További információ: rendelkezésre állási csoport (SQL Server)automatikus feladatátvételére vonatkozó rugalmas feladatátvételi szabályzat.
HEALTH_CHECK_TIMEOUT = ezredmásodperc
Megadja a sp_server_diagnostics rendszer által tárolt eljárás várakozási idejét (ezredmásodpercben) a kiszolgáló állapotadatainak visszaadásához, mielőtt a WSFC-fürt feltételezi, hogy a kiszolgálópéldány lassú vagy nem válaszol. HEALTH_CHECK_TIMEOUT a csoport szintjén van beállítva, de csak az automatikus feladatátvétellel (AVAILABILITY_MODE = SYNCHRONOUS_COMMIT) konfigurált rendelkezésre állási replikák esetében releváns. Emellett az állapot-ellenőrzési időtúllépés csak akkor aktiválhat automatikus feladatátvételt, ha az elsődleges és a másodlagos replika is automatikus feladatátvételi módra van konfigurálva (FAILOVER_MODE = AUTOMATIKUS), és a másodlagos replika jelenleg szinkronizálva van az elsődleges replikával.
Az alapértelmezett HEALTH_CHECK_TIMEOUT érték 30000 ezredmásodperc (30 másodperc). A minimális érték 15 000 ezredmásodperc (15 másodperc), a maximális érték pedig 4 294 967 295 ezredmásodperc.
Fontos
sp_server_diagnostics nem végez állapotellenőrzést az adatbázis szintjén.
DB_FAILOVER = { ON | KI }
Megadja, hogy milyen választ kell adni, ha az elsődleges replikán lévő adatbázis offline állapotban van. Ha be van állítva, a rendelkezésre állási csoportban lévő adatbázisok online állapotán kívül bármely állapot automatikus feladatátvételt vált ki. Ha ez a beállítás KI értékre van állítva, a rendszer csak a példány állapotát használja az automatikus feladatátvétel aktiválásához.
A beállítással kapcsolatos további információkért lásd adatbázisszintű állapotészlelési beállítás
DTC_SUPPORT = { PER_DB | SEMMI }
A következőkre vonatkozik: SQL Server (SQL Server 2016-tól kezdve (13.x))
Meghatározza, hogy az adatbázisközi tranzakciók támogatottak-e az elosztott tranzakciókoordinátoron (DTC) keresztül. Az adatbázisközi tranzakciók csak az SQL Server 2016-ban (13.x) támogatottak. PER_DB létrehozza a rendelkezésre állási csoportot a tranzakciók támogatásával. További információ: Adatbázisközi tranzakciók és elosztott tranzakciók always on rendelkezésre állási csoportokhoz és adatbázis-tükrözési (SQL Server).
ALAPVETŐ
A következőkre vonatkozik: SQL Server (SQL Server 2016-tól kezdve (13.x))
Alapszintű rendelkezésre állási csoport létrehozásához használható. Az alapszintű rendelkezésre állási csoportok egy adatbázisra és két replikára korlátozódnak: egy elsődleges és egy másodlagos replikára. Ez a beállítás az SQL Server Standard Edition elavult adatbázis-tükrözési funkciójának helyettesítése. További információ: Alapszintű rendelkezésre állási csoportok (Always On rendelkezésre állási csoportok). Az alapszintű rendelkezésre állási csoportok támogatottak az SQL Server 2016-ban (13.x).
ELOSZTOTT
A következőkre vonatkozik: SQL Server (SQL Server 2016-tól kezdve (13.x))
Elosztott rendelkezésre állási csoport létrehozásához használatos. Ez a beállítás a RENDELKEZÉSRE ÁLLÁSI CSOPORT ON paraméterrel használható két rendelkezésre állási csoport összekapcsolásához külön Windows Server feladatátvevő fürtökben. További információ: Elosztott rendelkezésre állási csoportok (Always On rendelkezésre állási csoportok). Az elosztott rendelkezésre állási csoportok támogatottak az SQL Server 2016-ban (13.x).
TARTALMAZ [REUSE_SYSTEM_DATABASES | AUTOSEEDING_SYSTEM_DATABASES]
Bevezetés az SQL Server 2022-ben (16.x).
Hozzon létre egy foglalt rendelkezésre állási csoportot. Ezzel a beállítással saját master és msdb adatbázisokkal rendelkező rendelkezésre állási csoportot hozhat létre, amelyek szinkronizálva vannak a rendelkezésre állási csoport replikái között.
A REUSE_SYSTEM_DATABASES beállítás hatására a rendelkezésre állási csoport korábbi verziójából származó tárolt master és msdb adatbázisokat az új rendelkezésre állási csoport létrehozásakor kell használni. A tartalmazott rendelkezésre állási csoportokkal kapcsolatos további információkért lásd: Tartalmazott rendelkezésre állási csoport áttekintése (Always On rendelkezésre állási csoportok).
Az SQL Server 2025 (17.x) támogatja az elosztott, tartalmazott rendelkezésre állási csoportokat. Ha egy elosztott rendelkezésre állási csoportban egy tartalmazott AG-t kíván továbbítóként használni, akkor a tartalmazott AG-t az AUTOSEEDING_SYSTEM_DATABASES utasítás beállítására szolgáló WITH | CONTAINED záradék használatával kell létrehoznia CREATE AVAILABILITY GROUP .
REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT
A következőkre vonatkozik: SQL Server (SQL Server 2017-től kezdve (14.x))
REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT
Bevezetés az SQL Server 2017-ben (14.x). Beállítja a véglegesítéshez szükséges minimális számú szinkron másodlagos replikát, mielőtt az elsődleges replika véglegesíteni szeretne egy tranzakciót. Garantálja, hogy az SQL Server-tranzakciók megvárják, amíg a tranzakciónaplók frissülnek a másodlagos replikák minimális számán.
- Alapértelmezett: 0. Ugyanazt a viselkedést biztosítja, mint az SQL Server 2016 (13.x).
- Minimum: 0.
- Maximum: Replikák száma mínusz 1.
REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT szinkron véglegesítési módban lévő replikákhoz kapcsolódik. Ha a replikák szinkron véglegesítési módban vannak, az elsődleges replika írása megvárja, amíg a szinkron replikák véglegesítik a replikaadatbázis tranzakciónaplójában. Ha egy másodlagos szinkron replikát üzemeltető SQL Server nem válaszol, az elsődleges replikát üzemeltető SQL Server nem szinkronizáltként jelöli meg a másodlagos replikát, és folytatja a műveletet. Amikor a nem válaszoló adatbázis újra online állapotba kerül, "nem szinkronizált" állapotban lesz, és a replika sérültként van megjelölve, amíg az elsődleges újra nem tudja szinkronizálni. Ez a beállítás garantálja, hogy az elsődleges replika addig nem folytatódik, amíg a replikák minimális száma nem véglegesített minden tranzakciót. Ha a replikák minimális száma nem érhető el, akkor véglegesíti az elsődleges hibát. Fürttípus esetén EXTERNAL a beállítás módosul, ha a rendelkezésre állási csoportot hozzáadják egy fürterőforráshoz. Lásd: Rendelkezésre állási csoport konfigurációinak magas rendelkezésre állása és adatvédelem.
A CREATE AVAILABILITY GROUP nem támogatott. Az SQL Server 2022 -től (16.x) kezdődően az ALTER AVAILABILITY GROUP használatával beállíthatja a REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT egy elosztott rendelkezésre állási csoportban. Lásd: ALTER AVAILABILITY GROUP (Transact-SQL).
csoport_típus
A következőkre vonatkozik: SQL Server (AZ SQL Server 2017-től kezdve (14.x)).
Annak azonosítására szolgál, hogy a rendelkezésre állási csoport Windows Server feladatátvevő fürtön (WSFC) található-e. Állítsa WSFC értékre, ha a rendelkezésre állási csoport egy Feladatátvevőfürt-példányon található egy Windows Server-feladatátvevő fürtben. Külső értékre van állítva, ha a fürtöt nem Windows Server-feladatátvevő fürt, például a Linux Pacemaker fürtkezelő kezeli. Akkor állítsa NINCS értékre, ha a rendelkezésre állási csoport nem használja a WSFC-t a fürtkoordinációhoz. Ha például egy rendelkezésre állási csoport fürtkezelő nélküli Linux-kiszolgálókat tartalmaz.
WRITE_LEASE_VALIDITY
A következőkre vonatkozik: SQL Server 2017 (14.x) és újabb verziókra.
Megadja a bérlet időtartamát (másodpercben), mielőtt lejár, vagy meg kell újítani. Ez figyeli a helyi fürtvezénylő és az SQL Server-példányfolyamatok állapotát és kommunikációit. A bérlet érvényességi mechanizmusa szívverésjeleket használ a rendelkezésre állási csoport elsődleges SQL Server-példányának. Ha az elsődleges nem küld vagy kap bérletmegújítást a bérlet érvényességi időszakán belül, az nem válaszol, és az elsődleges offline állapotba kerül. Ez a mechanizmus megakadályozza az agyfelosztási helyzeteket, ha a fürt vezénylője nem tudja értesíteni az SQL Servert, hogy ne legyen elsődleges, amikor egy feladatátvétel új elsődlegest választ. Csak akkor alkalmazható CLUSTER_TYPE = EXTERNAL, ha a fürtöt olyan fürtkezelő felügyeli, amely nem Windows Server-feladatátvevő fürt, például a Linux Pacemaker.
A külső vezénylő feladata annak biztosítása, hogy a külső bérlet megújítási folyamata következetesen stabil legyen. Ha a bérlet megújítására vonatkozó üzenet váratlanul hiányzik, az aktuális AG-replika offline állapotba van állítva, ami az AG rendelkezésre állásának elvesztését okozza.
CLUSTER_CONNECTION_OPTIONS
A következőkre vonatkozik: SQL Server 2025 (17.x) és újabb verziók
A záradék használatával kényszerítheti a CLUSTER_CONNECTION_OPTIONSTLS 1.3 titkosítást a Windows Server feladatátvevő fürt és a rendelkezésre állási csoport replikái közötti kommunikációhoz. A beállítások a kulcs-érték párok listájaként vannak megadva pontosvesszővel elválasztva. A kulcs-érték párok a kapcsolati sztring titkosításának konfigurálására szolgálnak a rendelkezésre állási csoport számára.
További információkért tekintse át a szigorú titkosítással és a TDS 8.0-valrendelkező rendelkezésre állási csoporthoz való csatlakozást.
Az alábbi táblázat a záradékban CLUSTER_CONNECTION_OPTIONS használható kulcs-érték párokat ismerteti:
| Key | Támogatott értékek | Leírás |
|---|---|---|
Encrypt |
\ |
A rendelkezésre állási csoport titkosításának kényszerítése. Ha a kiszolgáló nem támogatja a titkosítást, a kapcsolat meghiúsul. Ha a titkosítás értéke Mandatoryigen, akkor TrustServerCertificate igen értékre kell állítani. Ha a titkosítás értéke az Strict , akkor TrustServerCertificate a rendszer figyelmen kívül hagyja. Ez a kulcsérték-pár szükséges. |
HostNameInCertificate |
Replika vagy AG-figyelő neve | Megadja a replika nevét vagy a rendelkezésre állási csoport figyelőjének nevét a titkosításhoz használt tanúsítványban. Ennek az értéknek meg kell egyeznie a tanúsítvány Tulajdonos alternatív nevének értékével. Ha a kiszolgáló neve szerepel a tanúsítványban, kihagyhatja a HostNameInCertificate kulcs-érték párot. Ha a kiszolgáló neve nem szerepel a tanúsítványban, meg kell adnia a HostNameInCertificate kulcs-érték párot a kiszolgáló nevével. Ez a kulcsértékpár nem kötelező.* |
TrustServerCertificate |
Yes, No |
Úgy van yes beállítva, hogy az illesztőprogram ne érvényesítse a kiszolgáló TLS/SSL-tanúsítványát. Ha no, az illesztőprogram ellenőrzi a tanúsítványt. További információ: TDS 8.0. Ez a kulcsértékpár nem kötelező.* |
ServerCertificate |
A tanúsítvány elérési útja | Ha nem szeretné használni HostNameInCertificate, átadhatja a tanúsítvány elérési útját. A fürtszolgáltatás-fióknak engedéllyel kell rendelkeznie ahhoz, hogy beolvassa a tanúsítványt a megadott helyről.Ez a kulcsértékpár nem kötelező. |
A példákból megtudhatja , hogyan használhatja a záradékot CLUSTER_CONNECTION_OPTIONS .
ADATBÁZIS database_name
Megadja a helyi SQL Server-példány egy vagy több felhasználói adatbázisának listáját (vagyis azt a kiszolgálópéldányt, amelyen a rendelkezésre állási csoportot létrehozza). Egy rendelkezésre állási csoporthoz több adatbázist is megadhat, de mindegyik adatbázis csak egy rendelkezésre állási csoporthoz tartozhat. A rendelkezésre állási csoportok által támogatott adatbázisok típusával kapcsolatos információkért lásd Always On rendelkezésre állási csoportok (SQL Server)előfeltételeit, korlátozásait és javaslatait. Ha szeretné megtudni, hogy mely helyi adatbázisok tartoznak már rendelkezésre állási csoporthoz, tekintse meg a replica_id oszlopot a sys.databases katalógusnézetben.
A DATABASE záradék nem kötelező. Ha kihagyja, az új rendelkezésre állási csoport üres.
A rendelkezésre állási csoport létrehozása után csatlakozzon minden olyan kiszolgálópéldányhoz, amely másodlagos replikát üzemeltet, majd készítse elő az egyes másodlagos adatbázisokat, és csatlakozzon a rendelkezésre állási csoporthoz. További információ: Az adatáthelyezés indítása Always On Secondary Database (SQL Server).
Jegyzet
Később felvehet jogosult adatbázisokat azon a kiszolgálópéldányon, amely az aktuális elsődleges replikát üzemelteti egy rendelkezésre állási csoporthoz. Az adatbázist egy rendelkezésre állási csoportból is eltávolíthatja. További információ: ALTER AVAILABILITY GROUP (Transact-SQL).
REPLIKA BEKAPCSOLVA
Egy-öt SQL Server-példányt ad meg az új rendelkezésre állási csoport rendelkezésre állási replikáinak üzemeltetéséhez. Minden replikát a kiszolgálópéldány címe, majd egy WITH (...) záradék határoz meg. Minimálisan meg kell adnia a helyi kiszolgálópéldányt, amely a kezdeti elsődleges replikává válik. Igény szerint legfeljebb négy másodlagos replikát is megadhat.
Minden másodlagos replikát csatlakoztatnia kell a rendelkezésre állási csoporthoz. További információ: ALTER AVAILABILITY GROUP (Transact-SQL).
Jegyzet
Ha egy rendelkezésre állási csoport létrehozásakor négynél kevesebb másodlagos replikát ad meg, az ALTER RENDELKEZÉSRE ÁLLÁSI CSOPORTTransact-SQL utasítással bármikor megadhat további másodlagos replikát. Ezzel az utasításval bármely másodlagos replikát eltávolíthat egy meglévő rendelkezésre állási csoportból.
server_instance
Megadja annak az SQL Server-példánynak a címét, amely egy replika gazdagépe. A címformátum attól függ, hogy a példány az alapértelmezett vagy egy elnevezett példány-e, és hogy önálló példányról vagy feladatátvevő fürtpéldányról (FCI) van-e szó, az alábbiak szerint:
{ '*system_name*[\\*instance_name*]' | '*FCI_network_name*[\\*instance_name*]' }
A cím összetevői a következők:
system_name
Annak a számítógépes rendszernek a NetBIOS-neve, amelyen az SQL Server célpéldánya található. A számítógépnek WSFC-csomópontnak kell lennie.
FCI_network_name
Az SQL Server feladatátvevő fürthöz való hozzáféréshez használt hálózati név. Ezt akkor használja, ha a kiszolgálópéldány SQL Server-feladatátvételi partnerként vesz részt. A SELECT @@SERVERNAME FCI-kiszolgálópéldányon való végrehajtása a teljes 'FCI_network_name[\instance_name]' sztringet adja vissza (ez a replika teljes neve).
instance_name
A system_name vagy FCI_network_name által üzemeltetett SQL Server-példány neve, amely engedélyezve van a HADR szolgáltatással. Alapértelmezett kiszolgálópéldány esetén a instance_name nem kötelező. A példány neve nem érzéketlen a kis- és nagybetűknél. Egy elnevezett példányon ez az értéknév megegyezik a select ServerProperty(N'InstanceName');végrehajtásával visszaadott értékkel.
\
Az elválasztó csak a instance_namemegadásakor használatos a system_name vagy FCI_network_nameelválasztásához.
A WSFC-csomópontok és -kiszolgálópéldányok előfeltételeiről további információt Always On rendelkezésre állási csoportok (SQL Server) előfeltételeiről, korlátozásairól és javaslatairól.
ENDPOINT_URL ='TCP://rendszercím:port'
Megadja a adatbázistükrözési végpont url-elérési útját, azon SQL Server-példányon, amely az aktuális REPLICA ON záradékban definiált rendelkezésre állási replikát üzemelteti.
A ENDPOINT_URL záradék megadása kötelező. További információ: A végpont URL-címének megadása rendelkezésre állási replika (SQL Server) hozzáadásakor vagy módosításakor.
"TCP://rendszercím:port"
Egy végponti VAGY írásvédett útválasztási URL-cím megadására szolgáló URL-címet ad meg. Az URL-paraméterek a következők:
rendszercím
Olyan sztring, például rendszernév, teljes tartománynév vagy IP-cím, amely egyértelműen azonosítja a célszámítógép-rendszert.
átvisz
A partnerkiszolgáló-példány tükrözési végpontjához (a ENDPOINT_URL beállításhoz) vagy a kiszolgálópéldány adatbázismotorja által használt portszámhoz (a READ_ONLY_ROUTING_URL beállításhoz) társított portszám.
AVAILABILITY_MODE = {SYNCHRONOUS_COMMIT | ASYNCHRONOUS_COMMIT | CONFIGURATION_ONLY }
SYNCHRONOUS_COMMIT vagy ASYNCHRONOUS_COMMIT azt határozza meg, hogy az elsődleges replikának meg kell-e várnia, amíg a másodlagos replika nyugtázza a naplórekordok megkeményedését (írását) a lemezre, mielőtt az elsődleges replika véglegesítheti a tranzakciót egy adott elsődleges adatbázisban. Az ugyanazon elsődleges replikán található különböző adatbázisok tranzakciói egymástól függetlenül véglegesíthetik a műveletet. Az SQL Server 2017 (14.x) CU1 CONFIGURATION_ONLY vezet be. CONFIGURATION_ONLY replika csak CLUSTER_TYPE = EXTERNAL vagy CLUSTER_TYPE = NONErendelkező rendelkezésre állási csoportokra vonatkozik.
SYNCHRONOUS_COMMIT
Megadja, hogy az elsődleges replika megvárja a tranzakciók véglegesítését, amíg meg nem erősítették őket ezen a másodlagos replikán (szinkron véglegesítési mód). Legfeljebb három replikához adhat meg SYNCHRONOUS_COMMIT, beleértve az elsődleges replikát is.
ASYNCHRONOUS_COMMIT
Megadja, hogy az elsődleges replika anélkül véglegesíti a tranzakciókat, hogy a másodlagos replika megkeményítenék a naplót (szinkron véglegesítési rendelkezésre állási mód). Legfeljebb öt rendelkezésre állási replikához adhat meg ASYNCHRONOUS_COMMIT, beleértve az elsődleges replikát is.
CONFIGURATION_ONLY
Megadja, hogy az elsődleges replika szinkron módon véglegesítse a rendelkezésre állási csoport konfigurációs metaadatait a replika fő adatbázisában. A replika nem tartalmaz felhasználói adatokat. Ez a beállítás:
Az SQL Server bármely kiadásában üzemeltethető, beleértve az Express Editiont is.
A CONFIGURATION_ONLY replika adattükrözési végpontjának
WITNESSkell lennie.Nem módosítható.
Nem érvényes, ha
CLUSTER_TYPE = WSFC.A
failover_modeésseeding_modebeállítások nem támogatottak, haavailability_modeconfiguration_onlya replikához. Itt minta látható.További információ: Konfiguráció csak replika.
A AVAILABILITY_MODE záradék megadása kötelező. További információ: rendelkezésre állási módok (Always On rendelkezésre állási csoportok).
FAILOVER_MODE = { AUTOMATIC | KÉZI }
Megadja a definiált rendelkezésre állási replika feladatátvételi módját.
AUTOMATIKUS
Engedélyezi az automatikus feladatátvételt. Ez a beállítás csak akkor támogatott, ha AVAILABILITY_MODE = SYNCHRONOUS_COMMIT is meg van adva. Két rendelkezésre állási replika automatikus beállítását is megadhatja, beleértve az elsődleges replikát is.
Jegyzet
Az SQL Server feladatátvevő fürtpéldányai (FCI-k) nem támogatják a rendelkezésre állási csoportok által végzett automatikus feladatátvételt, így az FCI által üzemeltetett rendelkezésre állási replikák csak manuális feladatátvételre konfigurálhatók.
KÉZIKÖNYV
Engedélyezi a tervezett manuális feladatátvételt vagy a manuális feladatátvételt (általában kényszerített feladatátvételi) az adatbázis-rendszergazda számára.
A FAILOVER_MODE záradék megadása kötelező. A manuális feladatátvétel két típusa, az adatvesztés nélküli manuális feladatátvétel és a kényszerített feladatátvétel (lehetséges adatvesztéssel) különböző feltételek mellett támogatott. További információ: Feladatátvételi és feladatátvételi módok (Always On rendelkezésre állási csoportok).
SEEDING_MODE = { AUTOMATIC | KÉZI }
Meghatározza, hogy a másodlagos replika kezdeti telepítése hogyan történik.
AUTOMATIKUS
Lehetővé teszi a közvetlen vetést. Ez a módszer a másodlagos replikát a hálózaton keresztül irányítja. Ez a módszer nem igényli az elsődleges adatbázis másolatának biztonsági mentését és visszaállítását a replikán.
Jegyzet
A közvetlen magvetéshez engedélyeznie kell az adatbázis-létrehozást minden másodlagos replikán, ha meghívja ALTER RENDELKEZÉSRE ÁLLÁSI CSOPORT a BÁRMELY ADATBÁZIS létrehozása beállítással.
KÉZIKÖNYV
Manuális vetést (alapértelmezett) ad meg. Ehhez a módszerhez létre kell hoznia egy biztonsági másolatot az adatbázisról az elsődleges replikán, és manuálisan kell visszaállítania a biztonsági másolatot a másodlagos replikán.
BACKUP_PRIORITY = n
Megadja a replika biztonsági mentési feladatainak prioritását az ugyanazon rendelkezésre állási csoport többi replikájához képest. Az érték egy egész szám a 0..100 tartományban. Ezek az értékek a következő jelentéssel rendelkeznek:
Az 1..100 azt jelzi, hogy a rendelkezésre állási replika kiválasztható a biztonsági mentések elvégzéséhez. Az 1 a legalacsonyabb prioritást, a 100 pedig a legmagasabb prioritást jelöli. Ha BACKUP_PRIORITY = 1, a rendelkezésre állási replika csak akkor lesz kiválasztva a biztonsági mentések végrehajtásához, ha jelenleg nem érhetők el magasabb prioritású rendelkezésre állási replikák.
A 0 azt jelzi, hogy ez a rendelkezésre állási replika nem biztonsági mentések végrehajtására használható. Ez hasznos lehet például egy olyan távoli rendelkezésre állási replika esetében, amelynek soha nem szeretné, hogy a biztonsági másolatok feladatátvétele megtörténik.
További információ: Active Secondaries: Biztonsági mentés másodlagos replikákon (Always On rendelkezésre állási csoportok).
SECONDARY_ROLE ( [...] )
Olyan szerepkörspecifikus beállításokat határoz meg, amelyek akkor lépnek érvénybe, ha ez a rendelkezésre állási replika jelenleg a másodlagos szerepkör tulajdonosa (azaz amikor másodlagos replika). A zárójeleken belül adja meg a másodlagos szerepkör beállításait vagy mindkettőt. Ha mindkettőt megadja, használjon vesszővel tagolt listát.
A másodlagos szerepkör beállításai a következők:
ALLOW_CONNECTIONS = { NO | READ_ONLY | ÖSSZES }
Meghatározza, hogy a másodlagos szerepkört végrehajtó (azaz másodlagos replikaként működő) adott rendelkezésre állási replika adatbázisai képesek-e fogadni az ügyfelek kapcsolatait, az alábbiak egyikével:
NEM
A replika másodlagos adatbázisaihoz nem engedélyezett felhasználói kapcsolat. Olvasási hozzáféréshez nem érhetők el. Ez az alapértelmezett viselkedés.
READ_ONLY
Csak olyan másodlagos replika adatbázisaihoz engedélyezett kapcsolatok, amelyeknél az Application Intent tulajdonság értéke ReadOnly. A tulajdonsággal kapcsolatos további információkért lásd: Kapcsolati sztring kulcsszavak használata az SQL Server natív ügyfélalkalmazással.
ÖSSZES
A másodlagos replika adatbázisaihoz minden kapcsolat engedélyezett írásvédett hozzáférés céljából.
További információ: Active Secondaries: Readable Secondary Replicas (Always On rendelkezésre állási csoportok).
READ_ONLY_ROUTING_URL ='TCP://rendszercím:port'
Megadja az olvasási szándékú kapcsolatkérések e rendelkezésre állási replikához való átirányításához használandó URL-címet. Ez az AZ URL-cím, amelyre az adatbázismotor figyel. Az SQL Server alapértelmezett példánya általában az 1433-at futtató TCP-porton figyel.
Névvel ellátott példány esetén a portszámot a sys.dm_tcp_listener_states dinamikus felügyeleti nézet portjának és type_desc oszlopainak lekérdezésével szerezheti be. A kiszolgálópéldány a Transact-SQL figyelőt (type_desc='TSQL') használja.
A replika írásvédett útválasztási URL-címének kiszámításáról további információt az Always On Read_only_routing_url kiszámítása című témakörben talál.
Jegyzet
Az SQL Server nevesített példánya esetén a Transact-SQL figyelőt konfigurálni kell egy adott port használatára. További információ: Kiszolgáló konfigurálása adott TCP-port (SQL Server Configuration Manager)figyeléséhez.
PRIMARY_ROLE ( [...] )
Megadja azokat a szerepkörspecifikus beállításokat, amelyek akkor lépnek érvénybe, ha ez a rendelkezésre állási replika jelenleg az elsődleges szerepkör tulajdonosa (vagyis amikor az elsődleges replika). A zárójeleken belül adja meg az elsődleges szerepkör beállításait vagy mindkettőt. Ha mindkettőt megadja, használjon vesszővel tagolt listát.
Az elsődleges szerepkör beállításai a következők:
ALLOW_CONNECTIONS = { READ_WRITE | ÖSSZES }
Megadja, hogy az elsődleges szerepkört végrehajtó (azaz elsődleges replikaként működő) adott rendelkezésre állási replika adatbázisai milyen típusú kapcsolatot fogadhatnak el az ügyfelektől:
OLVASÁS_ÍRÁS
Azok a kapcsolatok, amelyekben az Application Intent kapcsolati tulajdonság ReadOnly van beállítva, nem engedélyezettek. Ha az Application Intent tulajdonság értéke ReadWrite, vagy nincs beállítva az Alkalmazás szándéka kapcsolat tulajdonság, a kapcsolat engedélyezett. További információ az Application Intent kapcsolattulajdonságáról: Kapcsolati sztring kulcsszavak használata az SQL Server natív ügyfélalkalmazással.
ÖSSZES
Az elsődleges replika adatbázisaihoz minden kapcsolat engedélyezett. Ez az alapértelmezett viselkedés.
READ_ONLY_ROUTING_LIST = { ('_server_instance_' [ , ... n ] ) | SEMMI }
Megadja azon kiszolgálópéldányok vesszővel tagolt listáját, amelyek a rendelkezésre állási csoport rendelkezésre állási replikáit üzemeltetik, amelyek megfelelnek a következő követelményeknek a másodlagos szerepkörben való futtatáskor:
Konfigurálva kell lennie az összes kapcsolat vagy írásvédett kapcsolat engedélyezésére (lásd a SECONDARY_ROLE beállítás ALLOW_CONNECTIONS argumentumát).
Definiálja az írásvédett útválasztási URL-címet (lásd a SECONDARY_ROLE beállítás READ_ONLY_ROUTING_URL argumentumát).
A READ_ONLY_ROUTING_LIST értékek a következők:
server_instance
Megadja annak az SQL Server-példánynak a címét, amely egy olvasható másodlagos replika gazdagépe, amikor a másodlagos szerepkör alatt fut.
Vesszővel tagolt lista használatával adja meg az összes olyan kiszolgálópéldányt, amely olvasható másodlagos replikát üzemeltethet. A csak olvasható útválasztás azt a sorrendet követi, amelyben a kiszolgálópéldányok meg vannak adva a listában. Ha egy replika gazdagépkiszolgáló-példányát a replika írásvédett útválasztási listájára helyezi, a kiszolgálópéldányt általában ajánlott a lista végére helyezni, hogy az olvasási szándékú kapcsolatok egy másodlagos replikára lépjenek, ha van ilyen.
Az SQL Server 2016 -tól (13.x) kezdődően az olvasható másodlagos replikák olvasási szándékú kéréseinek terheléselosztását végezheti el. Ezt úgy adhatja meg, hogy a replikákat zárójelek beágyazott készletében helyezi el az írásvédett útválasztási listában. További információkért és példákért lásd: Terheléselosztás konfigurálása írásvédett replikák között.
Egyik sem
Megadja, hogy ha ez a rendelkezésre állási replika az elsődleges replika, az írásvédett útválasztás nem támogatott. Ez az alapértelmezett viselkedés.
READ_WRITE_ROUTING_URL ='TCP://rendszercím:port'
A következőkre vonatkozik: SQL Server (SQL Server 2019-től kezdve (15.x))
Megadja azokat a kiszolgálópéldányokat, amelyek a rendelkezésre állási csoport rendelkezésre állási replikáit üzemeltetik, amelyek megfelelnek az alábbi követelményeknek, amikor az elsődleges szerepkörben futnak:
- A replika specifikációs PRIMARY_ROLE READ_WRITE_ROUTING_URL tartalmaz.
- A kapcsolati sztring a ReadWrite, ha az ApplicationIntentet ReadWrite-ként definiálja, vagy nem állítja be az ApplicationIntentet, és hagyja, hogy az alapértelmezett (ReadWrite) érvénybe lépjen.
További információ: Másodlagos replika olvasási/írási kapcsolat átirányítása (Always On rendelkezésre állási csoportok).
SESSION_TIMEOUT = egész szám
Másodpercben adja meg a munkamenet-időtúllépési időszakot. Ha nem adja meg ezt a beállítást, alapértelmezés szerint az időtartam 10 másodperc. A minimális érték 5 másodperc.
Fontos
Javasoljuk, hogy az időtúllépési időtartamot 10 másodpercnél hosszabb ideig tartsa.
A munkamenet-időtúllépési időszakról további információt Always On rendelkezésre állási csoportok (SQL Server)áttekintésében talál.
RENDELKEZÉSRE ÁLLÁSI CSOPORT BEKAPCSOLVA
Két rendelkezésre állási csoportot határoz meg, amelyek elosztott rendelkezésre állási csoportalkotnak. Minden rendelkezésre állási csoport a saját Windows Server feladatátvevő fürtjének (WSFC) része. Elosztott rendelkezésre állási csoport létrehozásakor az aktuális SQL Server-példány rendelkezésre állási csoportja lesz az elsődleges rendelkezésre állási csoport. A második rendelkezésre állási csoport lesz a másodlagos rendelkezésre állási csoport.
Csatlakoznia kell a másodlagos rendelkezésre állási csoporthoz az elosztott rendelkezésre állási csoporthoz. További információ: ALTER AVAILABILITY GROUP (Transact-SQL).
ag_name
Az elosztott rendelkezésre állási csoport felét alkotó rendelkezésre állási csoport nevét adja meg.
LISTENER_URL ='TCP://rendszercím:port'
Megadja a rendelkezésre állási csoporthoz társított figyelő URL-címét.
A LISTENER_URL záradék megadása kötelező.
"TCP://rendszercím:port"
Megadja a rendelkezésre állási csoporthoz társított figyelő URL-címét. Az URL-paraméterek a következők:
rendszercím
Olyan sztring, például rendszernév, teljes tartománynév vagy IP-cím, amely egyértelműen azonosítja a figyelőt.
kikötő
A rendelkezésre állási csoport tükrözési végpontjához társított portszám. Vegye figyelembe, hogy ez nem a figyelő portja.
AVAILABILITY_MODE = { SYNCHRONOUS_COMMIT | ASYNCHRONOUS_COMMIT | CONFIGURATION_ONLY }
Megadja, hogy az elsődleges replikának meg kell-e várnia, amíg a másodlagos rendelkezésre állási csoport nyugtázza a naplórekordok megkeményedését (írását) a lemezre, mielőtt az elsődleges replika véglegesítheti a tranzakciót egy adott elsődleges adatbázisban.
SYNCHRONOUS_COMMIT
Megadja, hogy az elsődleges replika megvárja a tranzakciók véglegesítését, amíg meg nem keményednek a másodlagos rendelkezésre állási csoportban. Legfeljebb két rendelkezésre állási csoporthoz adhat meg SYNCHRONOUS_COMMIT, beleértve az elsődleges rendelkezésre állási csoportot is.
ASYNCHRONOUS_COMMIT
Azt határozza meg, hogy az elsődleges replika anélkül véglegesíti a tranzakciókat, hogy a másodlagos rendelkezésre állási csoportra várva megerősítse a naplót. Legfeljebb két rendelkezésre állási csoporthoz adhat meg ASYNCHRONOUS_COMMIT, beleértve az elsődleges rendelkezésre állási csoportot is.
A AVAILABILITY_MODE záradék megadása kötelező.
FAILOVER_MODE = { KÉZIKÖNYV }
Az elosztott rendelkezésre állási csoport feladatátvételi módját adja meg.
KÉZIKÖNYV
Engedélyezi a tervezett manuális feladatátvételt vagy a manuális feladatátvételt (általában kényszerített feladatátvételi) az adatbázis-rendszergazda számára.
A FAILOVER_MODE záradék kötelező, és az egyetlen lehetőség a MANUÁLIS. A másodlagos rendelkezésre állási csoportra történő automatikus feladatátvétel nem támogatott.
SEEDING_MODE = { AUTOMATIC | KÉZI }
Meghatározza, hogy a másodlagos rendelkezésre állási csoport kezdetben hogyan legyen beállítva.
AUTOMATIKUS
Lehetővé teszi a közvetlen vetést. Ez a módszer a másodlagos rendelkezésre állási csoportot a hálózaton keresztül irányítja. Ez a módszer nem igényli az elsődleges adatbázis másolatának biztonsági mentését és visszaállítását a másodlagos rendelkezésre állási csoport replikáin.
KÉZIKÖNYV
Manuális vetést (alapértelmezett) ad meg. Ehhez a módszerhez létre kell hoznia egy biztonsági másolatot az adatbázisról az elsődleges replikán, és manuálisan kell visszaállítania a biztonsági másolatot a másodlagos rendelkezésre állási csoport replikáin.
"dns_name" FIGYELŐ ( listener_option )
Új rendelkezésre állási csoport figyelőt határoz meg ehhez a rendelkezésre állási csoporthoz. A FIGYELŐ argumentum nem kötelező.
Fontos
Az első figyelő létrehozása előtt javasoljuk, hogy olvassa el Rendelkezésre állási csoport figyelőjének (SQL Server)létrehozását vagy konfigurálását.
Miután létrehozott egy figyelőt egy adott rendelkezésre állási csoporthoz, határozottan javasoljuk, hogy tegye a következőket:
- Kérje meg a hálózati rendszergazdát, hogy foglalja le a figyelő IP-címét a kizárólagos használatra.
- Adja meg a figyelő DNS-állomásnevét az alkalmazásfejlesztőknek a kapcsolati sztringekben való használathoz, amikor ügyfélkapcsolatokat kérnek ehhez a rendelkezésre állási csoporthoz.
dns_name
Megadja a rendelkezésre állási csoport figyelőjének DNS-állomásnevét. A figyelő DNS-nevének egyedinek kell lennie a tartományban és a NetBIOS-ban.
dns_name egy sztringérték. Ez a név tetszőleges sorrendben csak alfanumerikus karaktereket, kötőjeleket (-) és kötőjeleket (_) tartalmazhat. A DNS-gazdagépnevek nem érzéketlenek. A maximális hossz 63 karakter.
Javasoljuk, hogy adjon meg egy értelmes sztringet. Egy AG1nevű rendelkezésre állási csoport esetében például a DNS-gazdagép neve ag1-listener.
Fontos
A NetBIOS csak az első 15 karaktert ismeri fel a dns_name. Ha két olyan WSFC-fürtje van, amelyet ugyanaz az Active Directory vezérel, és a rendelkezésre állási csoport figyelőit mindkét fürtben 15 karakternél több névvel és azonos 15 karakteres előtaggal próbálja létrehozni, hibaüzenet jelenik meg arról, hogy a virtuális hálózatnév-erőforrást nem sikerült online állapotba hozni. További információ a DNS-nevek előtag-elnevezési szabályairól: Tartománynevek hozzárendelése.
listener_option
A FIGYELŐ a következő <listener_option> lehetőségek egyikét használja:
A DHCP - [ ON { ('four_part_ipv4_address','four_part_ipv4_mask') } ]
Megadja, hogy a rendelkezésre állási csoport figyelője a Dynamic Host Configuration Protocol (DHCP) protokollt használja. Igény szerint az ON záradék használatával azonosíthatja azt a hálózatot, amelyen a figyelő létrejön. A DHCP egyetlen alhálózatra korlátozódik, amely minden olyan kiszolgálópéldányhoz használható, amely replikát üzemeltet a rendelkezésre állási csoportban.
Fontos
Éles környezetben nem javasoljuk a DHCP használatát. Ha van leállás, és a DHCP IP-címbérlet lejár, további időre van szükség a figyelő DNS-nevéhez társított új DHCP-hálózati IP-cím regisztrálásához, és ez hatással van az ügyfélkapcsolatra. A DHCP azonban alkalmas a fejlesztési és tesztelési környezet beállítására a rendelkezésre állási csoportok alapvető funkcióinak ellenőrzéséhez és az alkalmazásokkal való integrációhoz.
Például:
WITH DHCP ON ('10.120.19.0','255.255.254.0')
IP-címmel ( { ('four_part_ipv4_address','four_part_ipv4_mask') | ('ipv6_address') } [ , ... n ] ) [ , PORT =listener_port ]
Megadja, hogy a DHCP használata helyett a rendelkezésre állási csoport figyelője egy vagy több statikus IP-címet használ. Ha több alhálózaton szeretne rendelkezésre állási csoportot létrehozni, minden alhálózathoz egy statikus IP-cím szükséges a figyelő konfigurációjában. Egy adott alhálózat esetében a statikus IP-cím lehet IPv4-cím vagy IPv6-cím. Az új rendelkezésre állási csoport replikáját üzemeltető alhálózatok statikus IP-címének lekéréséhez forduljon a hálózati rendszergazdához.
Például:
WITH IP ( ('10.120.19.155','255.255.254.0') )
ip4_address
Egy rendelkezésre állási csoport figyelőjének négyrészes IPv4-címét adja meg. Például 10.120.19.155.
ipv4_mask
Egy rendelkezésre állási csoport figyelőjének IPv4 négyrészes maszkját adja meg. Például 255.255.254.0.
ipv6_address
Egy rendelkezésre állási csoport figyelőjének IPv6-címét adja meg. Például 2001::4898:23:1002:20f:1fff:feff:b3a3.
PORT = listener_port
Megadja a rendelkezésre állási csoport figyelője által használandó portszámot (listener_port), amelyet egy IP-záradék határoz meg. A PORT nem kötelező.
Az alapértelmezett portszám (1433) támogatott. Ha azonban biztonsági problémák merülnek fel, javasoljuk, hogy használjon másik portszámot.
Például: WITH IP ( ('2001::4898:23:1002:20f:1fff:feff:b3a3') ) , PORT = 7777
Előfeltételek és korlátozások
A rendelkezésre állási csoport létrehozásának előfeltételeiről további információt Always On rendelkezésre állási csoportok (SQL Server) előfeltételeiről, korlátozásairól és javaslatairól.
A RENDELKEZÉSRE ÁLLÁSI CSOPORT Transact-SQL utasításokra vonatkozó korlátozásokról a Always On rendelkezésre állási csoportokra (SQL Server) vonatkozóTransact-SQL utasítások áttekintése című témakörben talál további információt.
Biztonság
Engedélyek
A sysadmin rögzített kiszolgálói szerepkörben való tagságot igényel, valamint a RENDELKEZÉSRE ÁLLÁSI CSOPORT kiszolgálói engedélyének, a RENDELKEZÉSREÁLLÁSi csoport engedélyének módosítása vagy a CONTROL SERVER engedélynek.
Példák
Egy. Biztonsági mentés konfigurálása másodlagos replikákon, rugalmas feladatátvételi szabályzaton és kapcsolati hozzáférésen
Az alábbi példa egy MyAg nevű rendelkezésre állási csoportot hoz létre két felhasználói adatbázishoz, ThisDatabase és ThatDatabase. Az alábbi táblázat a rendelkezésre állási csoport egészéhez beállított beállításokhoz megadott értékeket foglalja össze.
| Csoportbeállítás | Beállítás | Leírás |
|---|---|---|
| AUTOMATED_BACKUP_PREFERENCE | MÁSODLAGOS | Ez az automatikus biztonsági mentési beállítás azt jelzi, hogy a biztonsági mentéseknek másodlagos replikán kell történnie, kivéve, ha az elsődleges replika az egyetlen online replika (ez az alapértelmezett viselkedés). Ahhoz, hogy a AUTOMATED_BACKUP_PREFERENCE beállítás bármilyen hatással legyen, a rendelkezésre állási adatbázisok biztonsági mentési feladatainak szkripttel kell rendelkeznie, hogy figyelembe vegye az automatikus biztonsági mentési beállítást. |
| FAILURE_CONDITION_LEVEL | 3 | Ez a hibaállapotszint-beállítás azt határozza meg, hogy automatikus feladatátvételt kell kezdeményezni kritikus SQL Server-belső hibák, például árva spinlockok, súlyos írási-hozzáférési szabálysértések vagy túl sok memóriakép esetén. |
| HEALTH_CHECK_TIMEOUT | 600 000 | Ez az állapot-ellenőrzési időtúllépési érték (60 másodperc) azt határozza meg, hogy a WSFC-fürt 60000 ezredmásodpercet vár a rendszer által tárolt sp_server_diagnostics eljárásra, hogy a szinkron véglegesítési replikát üzemeltető kiszolgáló-állapotadatokat adja vissza automatikusan, mielőtt a fürt feltételezi, hogy a gazdakiszolgáló példánya lassú vagy nem válaszol. (Az alapértelmezett érték 30000 ezredmásodperc). |
Három rendelkezésre állási replikát kell üzemeltetnie az alapértelmezett kiszolgálópéldányoknak a COMPUTER01, COMPUTER02és COMPUTER03nevű számítógépeken. Az alábbi táblázat összefoglalja az egyes replikák replikabeállításaihoz megadott értékeket.
| Replika lehetőség | Beállítás a COMPUTER01 |
Beállítás a COMPUTER02 |
Beállítás a COMPUTER03 |
Leírás |
|---|---|---|---|---|
| ENDPOINT_URL | TCP:// COMPUTER01:5022 | TCP:// COMPUTER02:5022 | TCP:// COMPUTER03:5022 | Ebben a példában a rendszerek ugyanaz a tartomány, így a végponti URL-címek a számítógéprendszer nevét használhatják a rendszercímként. |
| AVAILABILITY_MODE | SYNCHRONOUS_COMMIT | SYNCHRONOUS_COMMIT | ASYNCHRONOUS_COMMIT | Két replika szinkron véglegesítési módot használ. Szinkronizáláskor adatvesztés nélkül támogatják a feladatátvételt. A harmadik replika, amely aszinkron véglegesítési rendelkezésre állási módot használ. |
| átkapcsolási mód | AUTOMATIKUS | AUTOMATIKUS | KÉZIKÖNYV | A szinkron véglegesítési replikák támogatják az automatikus feladatátvételt és a tervezett manuális feladatátvételt. A szinkron véglegesítési rendelkezésre állási mód replikája csak a kényszerített manuális feladatátvételt támogatja. |
| BACKUP_PRIORITY | 30 | 30 | 90 | A rendszer magasabb prioritást (90) rendel az aszinkron véglegesítési replikához, mint a szinkron-véglegesítési replikákhoz. A biztonsági másolatok általában az aszinkron véglegesítési replikát üzemeltető kiszolgálópéldányon fordulnak elő. |
| SECONDARY_ROLE | ( ALLOW_CONNECTIONS = NEM, READ_ONLY_ROUTING_URL = "TCP://COMPUTER01:1433" ) |
( ALLOW_CONNECTIONS = NEM, READ_ONLY_ROUTING_URL = "TCP://COMPUTER02:1433" ) |
( ALLOW_CONNECTIONS = READ_ONLY, READ_ONLY_ROUTING_URL = "TCP://COMPUTER03:1433" ) |
Csak az aszinkron véglegesítési replika szolgál olvasható másodlagos replikaként. Megadja a számítógép nevét és az adatbázismotor alapértelmezett portszámát (1433). Ez az argumentum nem kötelező. |
| PRIMARY_ROLE | ( ALLOW_CONNECTIONS = READ_WRITE, READ_ONLY_ROUTING_LIST = (COMPUTER03) ) |
( ALLOW_CONNECTIONS = READ_WRITE, READ_ONLY_ROUTING_LIST = (COMPUTER03) ) |
( ALLOW_CONNECTIONS = READ_WRITE, READ_ONLY_ROUTING_LIST = SEMMI ) |
Az elsődleges szerepkörben az összes replika elutasítja az olvasási szándékú kapcsolati kísérleteket. Az olvasási szándékú kapcsolatkérések COMPUTER03 lesznek átirányítva, ha a helyi replika a másodlagos szerepkör alatt fut. Ha a replika az elsődleges szerepkör alatt fut, az írásvédett útválasztás le lesz tiltva. Ez az argumentum nem kötelező. |
| SESSION_TIMEOUT | 10 | 10 | 10 | Ez a példa a munkamenet alapértelmezett időtúllépési értékét (10) adja meg. Ez az argumentum nem kötelező. |
Végül a példa megadja az opcionális LISTENER záradékot, amely létrehoz egy rendelkezésre állási csoport figyelőt az új rendelkezésre állási csoporthoz. A figyelőhöz egyedi DNS-nevet (MyAgListenerIvP6) ad meg. A két replika különböző alhálózatokon található, ezért a figyelőnek statikus IP-címeket kell használnia. A két rendelkezésre állási replika mindegyikéhez a WITH IP záradék egy statikus IP-címet, 2001:4898:f0:f00f::cf3c és 2001:4898:e0:f213::4ce2határoz meg, amely az IPv6 formátumot használja. Ez a példa az opcionális PORT argumentumot is használja a port 60173 figyelőportként való megadásához.
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 AVAILABILITY GROUP [MyAg]
ADD LISTENER 'MyAgListenerIvP6' ( WITH IP ( ('2001:db88:f0:f00f::cf3c'),('2001:4898:e0:f213::4ce2') ) , PORT = 60173 );
GO
B. Titkosítás kényszerítése rendelkezésre állási csoporttal létesített kapcsolatokban
Az ebben a szakaszban szereplő példák a rendelkezésre állási csoporthoz kapcsolódó kapcsolatok titkosításátAccountsAG kényszerítik ki.
Ha a kiszolgáló neve szerepel az egyes tanúsítványokban a bármelyik módszer által meghatározott módon, kihagyhatja a HostNameInCertificate következő lehetőséget:
CREATE AVAILABILITY GROUP [AccountsAG]
SET (
CLUSTER_CONNECTION_OPTIONS = 'Encrypt=Strict')
Ha követte az 1. módszert, és a kiszolgáló neve nem szerepel a tanúsítvány tulajdonos alternatív neveként , akkor meg kell adnia bármilyen értéket, amelyet a tulajdonos alternatív neve beállításban HostNameInCertificate felsorolt.
CREATE AVAILABILITY GROUP [AccountsAG]
SET (
CLUSTER_CONNECTION_OPTIONS = 'Encrypt=Strict;HostNameInCertificate=<Subject Alternative Name>')
Ha az 1. metódust követte, és a tulajdonságot szeretné használni ahelyett ServerCertificate , hogy értéket adna a következőhöz HostNameInCertificate:
CREATE AVAILABILITY GROUP [AccountsAG]
SET (
CLUSTER_CONNECTION_OPTIONS = 'Encrypt=Strict;ServerCertificate=C:\Users\admin\SqlAGCertificate.cer')
Kapcsolódó tevékenységek
A rendelkezésre állási csoport varázsló (SQL Server Management Studio)
Az Új rendelkezésre állási csoport párbeszédpanel (SQL Server Management Studio)
A rendelkezésre állási csoport varázsló (SQL Server Management Studio)
Lásd még:
ALTER RENDELKEZÉSRE ÁLLÁSI CSOPORT (Transact-SQL)
ADATBÁZISKÉSZLET MÓDOSÍTÁSA HADR (Transact-SQL)
ELÉRHETŐSÉGI CSOPORT ELDOBÁSA (Transact-SQL)
Always On rendelkezésre állási csoportok konfigurációjának (SQL Server) hibaelhárítása
Always On rendelkezésre állási csoportok (SQL Server) áttekintése
rendelkezésre állási csoport figyelői, az ügyfélkapcsolatok és az alkalmazás feladatátvétele (SQL Server)