Csak olvasható hozzáférés konfigurálása egy Always On rendelkezésre állási csoport másodlagos replikájának

A következőkre vonatkozik:SQL Server

Alapértelmezés szerint mind az írási, mind az olvasási szándék hozzáférése engedélyezett az elsődleges replikához, és az Always On rendelkezésre állási csoport másodlagos replikáihoz nem lehet kapcsolatot létesíteni. Ez a témakör azt ismerteti, hogyan konfigurálhatja a kapcsolati hozzáférést egy Always On rendelkezésre állási csoport rendelkezésre állási replikáján SQL Server SQL Server Management Studio, Transact-SQL vagy PowerShell használatával.

Egy másodlagos replika írásvédett hozzáférésének engedélyezésével kapcsolatos információkért, valamint a kapcsolati hozzáférés ismertetéséhez lásd: Az ügyfélkapcsolati hozzáférés ismertetése a rendelkezésre állási replikákhoz (SQL Server) és Aktív másodlagos replikák: olvasható másodlagos replikák (Always On rendelkezésre állási csoportok).

Előfeltételek és korlátozások

  • A különböző kapcsolati hozzáférés konfigurálásához az elsődleges replikát üzemeltető kiszolgálópéldányhoz kell csatlakoznia.

Jogosultságok

Feladatok Jogosultságok
Replikák konfigurálása rendelkezésre állási csoport létrehozásakor Szükséges a sysadmin rögzített kiszolgálószerepkörben való tagság, valamint az alábbi engedélyek egyike: CREATE AVAILABILITY GROUP kiszolgálói engedély, ALTER ANY AVAILABILITY GROUP engedély vagy CONTROL SERVER engedély.
A rendelkezésre állási replika módosítása Engedély szükséges ALTER AVAILABILITY GROUP a rendelkezésre állási csoporthoz, a CONTROL AVAILABILITY GROUP engedélyhez, az ALTER ANY AVAILABILITY GROUP engedélyhez vagy a CONTROL SERVER engedélyhez.

Az SQL Server Management Studio használata

Hozzáférés konfigurálása rendelkezésre állási replika esetén

  1. Az Object Explorerben csatlakozzon az elsődleges replikát üzemeltető kiszolgálópéldányhoz, és bontsa ki a kiszolgálófát.

  2. Bontsa ki az Always On High Availability csomópontot és az Availability Groups csomópontot.

  3. Kattintson arra a rendelkezésre állási csoportra, amelynek a replikáját módosítani szeretné.

  4. Kattintson a jobb gombbal a rendelkezésre állási replikára, és válassza a Tulajdonságok parancsot.

  5. A Rendelkezésre állási replika tulajdonságai párbeszédpanelen az alábbiak szerint módosíthatja az elsődleges és a másodlagos szerepkör kapcsolati hozzáférését:

    • A másodlagos szerepkör esetében válasszon egy új értéket az Olvasható másodlagos legördülő listából az alábbiak szerint:

      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 beállítás.

      Csak olvasási szándék
      Csak olvasási kapcsolatok engedélyezettek a replika másodlagos adatbázisaihoz. A másodlagos adatbázis(ok) mind elérhetők olvasási hozzáféréshez.

      Yes
      A replika összes kapcsolata másodlagos adatbázishoz engedélyezett, de csak olvasási hozzáféréshez. A másodlagos adatbázis(ok) mind elérhetők olvasási hozzáféréshez.

    • Az elsődleges szerepkör esetében válasszon egy új értéket a Kapcsolatok elemből az elsődleges szerepkör legördülő listájában az alábbiak szerint:

      Az összes kapcsolat engedélyezése
      Az elsődleges replika adatbázisaihoz minden kapcsolat engedélyezett. Ez az alapértelmezett beállítás.

      Olvasási/írási kapcsolatok engedélyezése
      Ha az Application Intent tulajdonság ReadWrite értékre van állítva, vagy az Application Intent kapcsolati tulajdonság nincs beállítva, a kapcsolat engedélyezett. Azok a kapcsolatok, amelyeknél az Application Intent kapcsolati tulajdonság értéke ReadOnly, nem engedélyezettek. Ez segíthet megakadályozni, hogy az ügyfelek véletlenül az elsődleges replikához csatlakoztassanak egy olvasási szándékú munkaterhelést. Az Application Intent kapcsolati tulajdonságról további információt a következő témakörben talál: A kapcsolati sztring kulcsszavainak használata az SQL Server Native Client programmal.

Transact-SQL használata

Hozzáférés konfigurálása rendelkezésre állási replikán

Note

Erre az eljárásra példa: Példa (Transact-SQL), a szakasz későbbi részében.

  1. Csatlakozzon az elsődleges replikát üzemeltető kiszolgálópéldányhoz.

  2. Ha egy új rendelkezésre állási csoport replikáját adja meg, használja a CREATE AVAILABILITY GROUPTransact-SQL utasítást. Ha meglévő rendelkezésre állási csoport replikáját ad hozzá vagy módosítja, használja a ALTER AVAILABILITY GROUPTransact-SQL utasítást.

    • A másodlagos szerepkör kapcsolati hozzáférésének konfigurálásához az ADD REPLICA vagy MODIFY REPLICA WITH záradékban adja meg a SECONDARY_ROLE lehetőséget az alábbiak szerint:

      SECONDARY_ROLE ( ALLOW_CONNECTIONS = { NO | READ_ONLY | ALL } )

      hol

      NEM
      A replika másodlagos adatbázisaihoz nem engedélyezett közvetlen kapcsolat. Olvasási hozzáféréshez nem érhetők el. Ez az alapértelmezett beállítás.

      READ_ONLY
      A replika másodlagos adatbázisaihoz csak olvasási kapcsolat engedélyezett. A másodlagos adatbázis(ok) mind elérhetők olvasási hozzáféréshez.

      Összes
      A replika összes kapcsolata másodlagos adatbázishoz engedélyezett, de csak olvasási hozzáféréshez. A másodlagos adatbázis(ok) mind elérhetők olvasási hozzáféréshez.

  3. Az elsődleges szerepkör kapcsolati hozzáférésének konfigurálásához az ADD REPLICA vagy MODIFY REPLICA WITH záradékban adja meg a PRIMARY_ROLE beállítást az alábbiak szerint:

    PRIMARY_ROLE ( ALLOW_CONNECTIONS = { READ_WRITE | ALL } )

    hol

    READ_WRITE
    Azok a kapcsolatok, amelyekben az Application Intent kapcsolati tulajdonság ReadOnly van beállítva, nem engedélyezettek. Ha az Application Intent tulajdonság ReadWrite értékre van állítva, vagy az Application Intent kapcsolati tulajdonság nincs beállítva, a kapcsolat engedélyezett. Az Application Intent kapcsolati tulajdonságról további információt a következő témakörben talál: Kapcsolati sztringkulcsok használata az SQL Server Native Clienttel.

    Összes
    Az elsődleges replika adatbázisaihoz minden kapcsolat engedélyezett. Ez az alapértelmezett beállítás.

Példa (Transact-SQL)

Az alábbi példa egy másodlagos replikát ad hozzá egy AG2 nevű rendelkezésre állási csoporthoz. Az új rendelkezésre állási replika üzemeltetéséhez egy különálló kiszolgálópéldány ( COMPUTER03\HADR_INSTANCE) van megadva. Ez a replika úgy van konfigurálva, hogy csak olvasási-írási kapcsolatokat engedélyezzen az elsődleges szerepkörhöz, és csak olvasási szándékú kapcsolatokat engedélyezzen a másodlagos szerepkörhöz.

ALTER AVAILABILITY GROUP AG2   
   ADD REPLICA ON   
      'COMPUTER03\HADR_INSTANCE' WITH   
         (  
         ENDPOINT_URL = 'TCP://COMPUTER03:7022',  
         PRIMARY_ROLE ( ALLOW_CONNECTIONS = READ_WRITE ),  
         SECONDARY_ROLE (ALLOW_CONNECTIONS = READ_ONLY )  
         );   
GO  

PowerShell használata

Hozzáférés konfigurálása rendelkezésre állási replikán

Note

Példakódért lásd a jelen szakasz későbbi, Példa (PowerShell) című szakaszát.

  1. Módosítsa a könyvtárat (cd) az elsődleges replikát üzemeltető kiszolgálópéldányra.

  2. Amikor rendelkezésre állási replikát ad hozzá egy rendelkezésre állási csoporthoz, használja a New-SqlAvailabilityReplica parancsmagot. Meglévő rendelkezésre állási replika módosításakor használja a Set-SqlAvailabilityReplica parancsmagot. A vonatkozó paraméterek a következők:

    • A másodlagos szerepkör kapcsolati hozzáférésének konfigurálásához adja meg a ConnectionModeInSecondaryRolesecondary_role_keyword paramétert, ahol secondary_role_keyword az alábbi értékek egyikével egyenlő:

      AllowNoConnections
      A másodlagos replika adatbázisaihoz nem engedélyezett közvetlen kapcsolat, és az adatbázisok nem érhetők el olvasási hozzáférésre. Ez az alapértelmezett beállítás.

      AllowReadIntentConnectionsOnly
      A kapcsolatok csak a másodlagos replikában lévő adatbázisokhoz engedélyezettek, ahol az Application Intent tulajdonság értéke ReadOnly. További információ erről a tulajdonságról: Kapcsolati sztring kulcsszavak használata az SQL Server natív ügyfélalkalmazással.

      AllowAllConnections
      A másodlagos replikában lévő adatbázisokhoz minden kapcsolat engedélyezett a csak olvasható hozzáféréshez.

    • Az elsődleges szerepkör kapcsolati hozzáférésének konfigurálásához adja meg a ConnectionModeInPrimaryRoleprimary_role_keyword, ahol a primary_role_keyword az alábbi értékek egyikével egyenlő:

      AllowReadWriteConnections
      Azok a kapcsolatok, ahol az Application Intent kapcsolati tulajdonság értéke ReadOnly, nem engedélyezettek. Ha az Application Intent tulajdonság ReadWrite értékre van állítva, vagy az Application Intent kapcsolati tulajdonság nincs beállítva, a kapcsolat engedélyezett. Az Application Intent kapcsolati tulajdonságról további információt a következő témakörben talál: Kapcsolati sztringkulcsok használata az SQL Server Native Clienttel.

      AllowAllConnections
      Az elsődleges replika adatbázisaihoz minden kapcsolat engedélyezett. Ez az alapértelmezett beállítás.

    Note

    A parancsmag szintaxisának megtekintéséhez használja a Get-Help parancsmagot az SQL Server PowerShell-környezetben. További információ: Súgó SQL Server PowerShell.

Az SQL Server PowerShell-szolgáltató beállítása és használata

Példa (PowerShell)

Az alábbi példa a ConnectionModeInSecondaryRole és a ConnectionModeInPrimaryRole paramétereket AllowAllConnections értékre állítja.

Set-Location SQLSERVER:\SQL\PrimaryServer\default\AvailabilityGroups\MyAg  
$primaryReplica = Get-Item "AvailabilityReplicas\PrimaryServer"  
Set-SqlAvailabilityReplica -ConnectionModeInSecondaryRole "AllowAllConnections" `   
-InputObject $primaryReplica  
Set-SqlAvailabilityReplica -ConnectionModeInPrimaryRole "AllowAllConnections" `   
-InputObject $primaryReplica  
  

Utólagos teendők: a rendelkezésre állási replika csak olvasható hozzáférésének konfigurálása után

Írásvédett hozzáférés egy olvasható másodlagos replikához

  • A bcp segédprogram vagy az sqlcmd segédprogram használatakor a -K ReadOnly kapcsoló megadásával megadhatja az írásvédett hozzáférésre engedélyezett másodlagos replikák írásvédett hozzáférését.

  • Ha engedélyezni szeretné, hogy az ügyfélalkalmazások olvasható másodlagos replikákhoz csatlakozzanak:

Prerequisite Link
Győződjön meg arról, hogy a rendelkezésre állási csoport rendelkezik figyelővel. Rendelkezésre állási csoport figyelőjének (SQL Server) létrehozása vagy konfigurálása
A rendelkezésre állási csoport csak olvasható útválasztásának konfigurálása. Konfigurálja az elérhetőségi csoport útválasztását (SQL Server) számára Read-Only

Olyan tényezők, amelyek hatással lehetnek az eseményindítókra és a feladatokra a feladatátvétel után

Ha olyan eseményindítók és feladatok vannak, amelyek sikertelenek lesznek, ha nem olvasható másodlagos adatbázisban vagy olvasható másodlagos adatbázisban fut, az eseményindítókat és a feladatokat szkripttel kell ellenőriznie egy adott replikán annak megállapításához, hogy az adatbázis elsődleges adatbázis-e, vagy olvasható másodlagos adatbázis-e. Ezen információk beszerzéséhez használja a DATABASEPROPERTYEX függvényt az adatbázis Frissíthetőség tulajdonságának visszaadásához. Egy írásvédett adatbázis azonosításához adja meg a READ_ONLY értéket az alábbiak szerint:

DATABASEPROPERTYEX([db name],'UpdateAbility') = N'READ_ONLY'  

Az olvasási-írási adatbázis azonosításához adja meg a READ_WRITE értéket.

Kapcsolódó tevékenységek

Kapcsolódó tartalom

Lásd még

Az "Always On" rendelkezésre állási csoportok (SQL Server) áttekintése
Aktív másodpéldányok: Olvasható másodlagos replikák (Mindig rendelkezésre állási csoportok)
Az ügyfélkapcsolat rendelkezésre állási replikákhoz való hozzáféréséről (SQL Server)