Megosztás a következőn keresztül:


Csatlakozás Always On rendelkezésre állási csoport figyelőhöz

A következőkre vonatkozik:SQL Server

Ez a cikk bemutatja, hogyan csatlakozhat az SQL Server Always On rendelkezésre állási csoport figyelőihez . A rendelkezésre állási csoport figyelője egy virtuális hálózat neve, amelyet az ügyfelek egy rendelkezésre állási csoportban üzemeltetett adatbázishoz való csatlakozáshoz használnak. A figyelő konzisztens kapcsolati végpontot biztosít az ügyfélalkalmazásokhoz, függetlenül attól, hogy jelenleg melyik rendelkezésre állási replika üzemelteti az elsődleges adatbázist. A figyelő lehetővé teszi a csak olvasható útvonaltervezés és az automatikus feladatátvétel támogatását is.

Miután konfigurálta a figyelőt, frissítse a kapcsolati sztringeket úgy, hogy a figyelőre mutasson, hogy az alkalmazásforgalom automatikusan a kívánt replikához legyen irányítva anélkül, hogy minden feladatátvétel után manuálisan frissítenie kellene a kapcsolati sztringet.

Csatlakozás az elsődleges replikához

Adja meg a rendelkezésre állási csoport figyelőjének DNS-nevét a kapcsolati sztringben az olvasási-írási hozzáférés elsődleges replikájához való csatlakozáshoz.

Ha például az SQL Server Management Studio elsődleges replikájához szeretne csatlakozni a figyelőn keresztül, írja be a figyelő DNS-nevét a kiszolgálónév mezőbe:

Képernyőkép a figyelőhöz való csatlakozásról az SSMS-ben.

A feladatátvétel során, amikor az elsődleges replika megváltozik, a figyelő meglévő kapcsolatai megszakadnak, és az új kapcsolatok az új elsődleges replikához lesznek irányítva.

Példa egy egyszerű kapcsolati sztringre a ADO.NET szolgáltatóhoz (Microsoft.Data.SqlClient vagy System.Data.SqlClient):

Server=tcp: AGListener,1433;Database=MyDB;Integrated Security=SSPI

Megjegyzés:

Microsoft.Data.SqlClient az új alkalmazásfejlesztéshez ajánlott ADO.NET adatszolgáltató. Ugyanazokat a kapcsolati sztring-kulcsszavakat támogatja, mint a System.Data.SqlClient. További információ: Bevezetés a Microsoft.Data.SqlClient névtérbe.

A következő Transact-SQL (T-SQL) parancs futtatásával ellenőrizheti, hogy melyik replikához csatlakozik jelenleg a figyelőn keresztül:

SELECT @@SERVERNAME

Ha például az SQLVM1 az elsődleges replika:

Képernyőkép a replika kapcsolatának ellenőrzéséről.

Továbbra is csatlakozhat közvetlenül az SQL Server példányához az elsődleges vagy másodlagos replika példánynevével a rendelkezésre állási csoport figyelőjének használata helyett. Azonban így elveszítjük azt az előnyt, hogy az új kapcsolatok automatikusan a jelenlegi elsődleges replikához legyenek átirányítva. Emellett elveszíti az írásvédett útvonalak előnyeit, ahol a megadott read-intent kapcsolatok automatikusan az olvasható másodlagos replikára lesznek irányítva.

Csatlakozás egy írásvédett másolathoz

Az írásvédett útválasztás a bejövő figyelőkapcsolatok automatikus átirányítását jelenti egy olvasható másodlagos replikához, amely írásvédett számítási feladatok engedélyezésére van konfigurálva.

A rendszer automatikusan átirányítja a kapcsolatokat a csak olvasható replikára, ha az alábbiak teljesülnek:

  • Legalább egy másodlagos replika írásvédett hozzáférésre van beállítva, és minden írásvédett másodlagos replika és az elsődleges replika úgy van konfigurálva, hogy támogassa az írásvédett útválasztást.

  • A kapcsolati sztring a rendelkezésre állási csoportban érintett adatbázisra hivatkozik. Alternatíva lehet, ha a kapcsolatban használt felhasználói név alapértelmezett adatbázisaként van konfigurálva az adatbázis. További információkért tekintse meg ezt a cikket az algoritmus csak olvasható útválasztással való működéséről.

  • A kapcsolati sztring egy rendelkezésre állási csoport figyelőre hivatkozik, és a bejövő kapcsolat alkalmazás szándéka írásvédettre van állítva (például az Application Intent=ReadOnly kulcsszóval az ODBC- vagy OLEDB-kapcsolati sztringekben vagy kapcsolatattribútumokban vagy tulajdonságokban).

Az alkalmazás szándék attribútuma a bejelentkezés során az ügyfél munkamenetében lesz tárolva. Az SQL Server példánya feldolgozza a szándékot, és meghatározza, hogy mi a teendő a rendelkezésre állási csoport konfigurációja és a céladatbázis aktuális írási-olvasási állapota alapján a másodlagos replikában.

Ha például írásvédett replikához szeretne csatlakozni az SQL Server Management Studio használatával, válassza a Beállítások lehetőséget a Csatlakozás a kiszolgálóhoz párbeszédpanelen, válassza a További kapcsolati paraméterek lapot, majd adja meg ApplicationIntent=ReadOnly a szövegmezőben:

Képernyőkép az írásvédett kapcsolatról az SSMS-ben.

Példa egy kapcsolati sztringre az ADO.NET szolgáltató (Microsoft.Data.SqlClient vagy System.Data.SqlClient) számára, amely csak olvasási alkalmazási célt jelöl:

Server=tcp:AGListener;Database=AdventureWorks;Integrated Security=SSPI;ApplicationIntent=ReadOnly

További információkért lásd: Írásvédett hozzáférés konfigurálása egy rendelkezésre állási replikában (SQL Server)

Nem alapértelmezett port

A figyelő létrehozásakor ki kell jelölnie egy portot a figyelő számára. Ha a port az 1433 alapértelmezett portja, akkor nem kell portszámot megadnia a figyelőhöz való csatlakozáskor. Ha azonban a port nem 1433, akkor a portot a kapcsolati sztringben a következő formátumban listenername,port kell megadni:

Képernyőkép a Csatlakozás nem alapértelmezett porttal való használatáról.

Példa egy kapcsolati sztringre az ADO.NET szolgáltató (Microsoft.Data.SqlClient vagy System.Data.SqlClient) számára, amely nem alapértelmezett portot ad meg a figyelő számára:

Server=tcp:AGListener,1445;Database=AdventureWorks;Integrated Security=SSPI

Figyelők megkerülése

Bár a rendelkezésre állási csoport figyelői támogatják a feladatátvételi átirányítást és az írásvédett útválasztást, az ügyfélkapcsolatokra nincs szükség a használatukhoz. Az ügyfélkapcsolat közvetlenül hivatkozhat az SQL Server példányára a rendelkezésre állási csoport figyelője helyett.

Az SQL Server példánya számára nem számít, hogy egy kapcsolat bejelentkezik-e a rendelkezésre állási csoport figyelőjével vagy egy másik példányvégpont használatával. Az SQL Server példánya ellenőrzi a megcélzott adatbázis állapotát, és engedélyezi vagy letiltja a kapcsolatot a rendelkezésre állási csoport konfigurációja és a példányon lévő adatbázis aktuális állapota alapján. Ha például egy ügyfélalkalmazás közvetlenül csatlakozik az SQL Server-port egy példányához, és egy rendelkezésre állási csoportban üzemeltetett céladatbázishoz csatlakozik, és a céladatbázis elsődleges és online állapotban van, akkor a kapcsolat sikeres lesz. Ha a céladatbázis offline vagy átmeneti állapotban van, az adatbázishoz való kapcsolódás meghiúsul.

Alternatív megoldásként az adatbázis-tükrözésről Always On rendelkezésre állási csoportokra való migráláskor az alkalmazások megadhatják az adatbázis-tükrözési kapcsolati sztringet mindaddig, amíg csak egy másodlagos replika létezik, és nem engedélyezi a felhasználói kapcsolatokat.

Adatbázis tükrözés kapcsolat karakterláncok

Ha egy rendelkezésre állási csoport csak egy másodlagos replikával rendelkezik, és ALLOW_CONNECTIONS = READ_ONLY vagy ALLOW_CONNECTIONS = NONE értékekkel van konfigurálva a másodlagos replikához, az ügyfelek egy adatbázistükrözési kapcsolati sztring használatával csatlakozhatnak az elsődleges replikához. Ez a módszer akkor lehet hasznos, ha egy meglévő alkalmazást az adatbázis-tükrözésről egy rendelkezésre állási csoportra migrál, amíg a rendelkezésre állási csoportot két rendelkezésre állási replikára (elsődleges és egy másodlagos replikára) korlátozza. Ha további másodlagos replikákat ad hozzá, létre kell hoznia egy rendelkezésre állási csoport figyelőt a rendelkezésre állási csoporthoz, és frissítenie kell az alkalmazásokat, hogy a rendelkezésre állási csoport figyelő DNS-nevét használják.

Adatbázis-tükrözési kapcsolati sztringek használata esetén az ügyfél használhatja az SQL Server natív ügyfelet vagy a .NET-keretrendszer adatszolgáltatóját az SQL Serverhez. Az ügyfél által biztosított kapcsolati sztringnek minimálisan meg kell adnia egy kiszolgálópéldány nevét, a kezdeti partnernevet annak a kiszolgálópéldánynak a azonosításához, amely kezdetben a csatlakozni kívánt rendelkezésre állási replikát üzemelteti. A kapcsolati sztring megadhat egy másik kiszolgálópéldány nevét, a feladatátvételi partner nevét, hogy az eredetileg a másodlagos replikát üzemeltető kiszolgálópéldányt feladatátvételi partner névként azonosítsa.

Az adatbázis-tükrözési kapcsolati sztringekről további információt az Ügyfelek csatlakoztatása adatbázistükrözési munkamenethez (SQL Server) című témakörben talál.

Több alhálózatos átkapcsolás

Ha olyan ügyfélkódtárakat használ, amelyek támogatják a MultiSubnetFailover kapcsolati lehetőséget a kapcsolati sztringben, optimalizálhatja a rendelkezésre állási csoport feladatátvételét egy másik alhálózatra úgy, hogy a MultiSubnetFailovert "True" vagy "Yes" értékre állítja a használt szolgáltató szintaxisától függően.

Megjegyzés:

Ezt a beállítást a rendelkezésre állási csoportok figyelőivel és az SQL Server feladatátvevő fürtpéldánynevekkel való egy- és többalhálózatos kapcsolatok esetében egyaránt javasoljuk. Ennek a beállításnak az engedélyezése további optimalizálási lehetőségeket is biztosít, még az egy alhálózatos forgatókönyvek esetében is.

A MultiSubnetFailover kapcsolati lehetőség csak a TCP hálózati protokollal működik, és csak akkor támogatott, ha egy rendelkezésre állási csoport figyelőjével és az SQL Serverhez csatlakozó virtuális hálózatnévhez csatlakozik.

Példa a több alhálózatos feladatátvételt lehetővé tevő ADO.NET szolgáltatói (Microsoft.Data.SqlClient vagy System.Data.SqlClient) kapcsolati sztringre:

Server=tcp:AGListener,1433;Database=AdventureWorks;Integrated Security=SSPI; MultiSubnetFailover=True

A MultiSubnetFailover kapcsolati beállítást igaz értékre kell állítani akkor is, ha a rendelkezésre állási csoport csak egyetlen alhálózatra terjed ki. Ezzel a beállítással előre konfigurálhatja az új ügyfeleket az alhálózatok jövőbeni átnyúlásának támogatásához anélkül, hogy szükség lesz az ügyfélkapcsolati sztring jövőbeli módosításaira, és optimalizálja a feladatátvételi teljesítményt az önálló alhálózati feladatátvételekhez. Bár a MultiSubnetFailover kapcsolati lehetőség nem szükséges, ez biztosítja a gyorsabb alhálózati feladatátvétel előnyeit. A klienstömeghajtó megkísérli megnyitni a TCP-csatlakozót a rendelkezésre állási csoporthoz társított egyes IP-címekhez párhuzamosan. Az ügyfélillesztő megvárja, amíg az első IP-cím sikeres választ ad, és ha igen, a kapcsolathoz használja.

Figyelők és TLS/SSL tanúsítványok

Rendelkezésre állási csoport figyelőhöz való csatlakozáskor, ha az SQL Server részt vevő példányai TLS-/SSL-tanúsítványokat használnak a munkamenet-titkosítással együtt, a csatlakozó ügyfélillesztőnek támogatnia kell a TLS/SSL-tanúsítvány tulajdonos alternatív nevét a titkosítás kényszerítéséhez.

Egy X.509 tanúsítványt kell konfigurálni a feladatátvevő fürt minden résztvevő kiszolgálócsomópontjára, és az összes elérhetőségi csoport hallgatójának listáját a tanúsítvány Subject Alternative Name mezőjében kell megadni.

A tanúsítványértékek formátuma a következő:

CN = Server.FQDN
SAN = Server.FQDN,Listener1.FQDN,Listener2.FQDN

Például a következő értékekkel rendelkezik:

Servername: Win2019
Instance: SQL2019
AG: AG2019
Listener: Listener2019
Domain: contoso.com  (which is also the FQDN)

Egyetlen rendelkezésre állási csoporttal rendelkező WSFC esetén a tanúsítványnak rendelkeznie kell a kiszolgáló teljes tartománynevével (FQDN) és a figyelő teljes tartománynevével:

CN: Win2019.contoso.com
SAN: Win2019.contoso.com, Listener2019.contoso.com

Ezzel a konfigurációval a kapcsolat titkosítva lesz, amikor a példányhoz (WIN2019\SQL2019) vagy a figyelőhöz (Listener2019) csatlakozik.

A hálózatkezelés konfigurálásának módjától függően előfordulhat, hogy az ügyfelek egy kis része is hozzá kell adnia a NetBIOS-t a SAN-hoz. Ebben az esetben a tanúsítvány értékének a következőnek kell lennie:

CN: Win2019.contoso.com
SAN: Win2019,Win2019.contoso.com,Listener2019,Listener2019.contoso.com

Ha a WSFC három rendelkezésre állási csoport figyelőjével rendelkezik, például: Figyelő1, Figyelő2, Figyelő3

Ezután a tanúsítvány értékének a következőnek kell lennie:

CN: Win2019.contoso.com
SAN: Win2019.contoso.com,Listener1.contoso.com,Listener2.contoso.com,Listener3.contoso.com

Figyelők és Kerberos (SPN-ek)

Egy tartományi rendszergazdának konfigurálnia kell egy SPN-t az Active Directoryban minden rendelkezésre állási csoport figyelőjéhez, hogy engedélyezze a Kerberost a figyelőhöz való ügyfélkapcsolatokhoz. Az SPN regisztrálásakor a rendelkezésre állási replikát üzemeltető kiszolgálópéldány szolgáltatásfiókját kell használnia. Ahhoz, hogy az SPN az összes replikán működjön, ugyanazt a szolgáltatásfiókot kell használni a rendelkezésre állási csoportot üzemeltető WSFC-fürt minden egyes példányához.

A setspn Windows parancssori eszközével konfigurálja a szolgáltatásneveket. Például konfigurálhat egy SPN-t egy AG1listener.Adventure-Works.com nevű rendelkezésre állási csoport figyelőjéhez, amelyet egy SQL Server példánysorozat hostol, és amelyek a corp\svclogin2 tartományi fiók alatt futnak.

setspn -A MSSQLSvc/AG1listener.Adventure-Works.com:1433 corp\svclogin2

Az SQL Server egyszerű szolgáltatásneveinek manuális regisztrációjáról további információt a Kerberos-kapcsolatok egyszerű szolgáltatásnevének regisztrálása című témakörben talál.