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


Adatbázistükrözési tanúsító hozzáadása Windows-hitelesítéssel (Transact-SQL)

A következőkre vonatkozik:SQL Server

Caution

Ez a funkció az SQL Server egy későbbi verziójában lesz eltávolítva. Ne használja ezt a funkciót az új fejlesztési munkában, és tervezze meg a funkciót jelenleg használó alkalmazások módosítását. A magas rendelkezésre állás érdekében használja inkább az Always On rendelkezésre állási csoportokat.

Fontos

Az SQL Server adatbázis-tükrözése a Microsoft Fabric Database Mirroringtől eltérő technológia. A Fabric platformra való tükrözés jobb analitikai teljesítményt biztosít, lehetővé teszi az adatkezelési környezet egyesítését a Fabricban lévő OneLake használatával, és nyílt hozzáférést biztosít az adatokhoz Delta Parquet formátumban.

A Microsoft Fabric tükrözésével folyamatosan replikálhatja meglévő adattulajdonát közvetlenül a OneLake in Fabricbe, beleértve az SQL Server 2016+, az Azure SQL Database, az Azure SQL Managed Instance, a Cosmos DB, az Oracle, a Snowflake adatait is.

Egy adatbázis megfigyelőjének beállításához az adatbázis tulajdonosa hozzárendel egy adatbázismotor-példányt a megfigyelő kiszolgáló szerepköréhez. A tanúsító kiszolgálópéldány futtatható ugyanazon a számítógépen, mint a fő vagy a tükör kiszolgálópéldány, de ez jelentősen csökkenti az automatikus áttállás robusztusságát.

Határozottan javasoljuk, hogy a tanú külön számítógépen tartózkodjon. Egy adott kiszolgáló több egyidejű adatbázis-tükrözési munkamenetben is részt vehet ugyanazokkal vagy más partnerekkel. Egy adott kiszolgáló lehet partner egyes munkamenetekben, és tanúsító lehet más munkamenetekben.

A tanú kizárólag magas biztonsági módban, automatikus átkapcsolással használható. Mielőtt beállít egy tanút, határozottan javasoljuk, hogy győződjön meg arról, hogy a SAFETY tulajdonság jelenleg FULL értékre van állítva.

Fontos

Javasoljuk, hogy csúcsidőn kívül konfigurálja az adatbázis-tükrözést, mert a konfiguráció hatással lehet a teljesítményre.

Tanúsító létrehozása

  1. A tanúsító kiszolgáló példányán győződjön meg arról, hogy létezik egy végpont az adatbázis-tükrözési műveletekhez. A támogatott tükrözési munkamenet számától függetlenül a kiszolgálópéldánynak csak egy adatbázis-tükrözési végponttal kell rendelkeznie. Ha ezt a kiszolgálópéldányt kizárólag tanúként szeretné használni az adatbázis-tükrözési munkamenetekben, rendelje hozzá a tanúsító szerepkört a végponthoz (ROLE**=**WITNESS). Ha ezt a kiszolgálópéldányt szeretné partnerként használni egy vagy több más adatbázis-tükrözési munkamenetben, rendelje hozzá a végpont szerepkörét ALL-ként.

    A SET WITNESS utasítás végrehajtásához az adatbázistükrözési munkamenetet már el kell indítani (a partnerek között), és a tanúsító végpontjának ÁLLAPOTÁT a STARTED értékre kell állítani.

    Annak megállapításához, hogy a tanúsító kiszolgáló példánya rendelkezik-e adatbázis-tükrözési végponttal, és hogy megtudja a szerepkörét és állapotát, használja az alábbi Transact-SQL utasítást:

    SELECT role_desc, state_desc FROM sys.database_mirroring_endpoints  
    

    Fontos

    Ha létezik adatbázistükrözési végpont, és már használatban van, javasoljuk, hogy ezt a végpontot használja a kiszolgálópéldány minden munkamenetéhez. A használatban lévő végpont elvetése megszakítja a meglévő munkamenetek kapcsolatait. Ha egy tanú be van állítva egy munkamenetre, az adatbázistükrözési végpont eltávolításával az adott munkamenet elsődleges kiszolgálója elveszítheti a kvórumát; ha ez történik, az adatbázis offline állapotba kerül, és a felhasználók kapcsolata megszakad. További információért lásd: Kvórum: Hogyan befolyásolja a tanú az adatbázis rendelkezésre állását (adatbázis-tükrözés).

    Ha a tanú nem rendelkezik végponttal, tekintse meg a Windows-hitelesítés adatbázis-tükrözési végpont létrehozása (Transact-SQL) című témakört.

  2. Ha a partnerpéldányok különböző tartományi felhasználói fiókokban futnak, hozzon létre egy bejelentkezést a különböző fiókokhoz az egyes példányok főadatbázisában. További információt az Adatbázistükrözési végpont hálózati hozzáférésének engedélyezése Windows-hitelesítéssel (SQL Server) című témakörben talál.

  3. Csatlakozzon a fő kiszolgálóhoz, és adja ki a következő utasítást:

    ALTER DATABASE <database_name> TANÚSÍTÓ =<SERVER_NETWORK_ADDRESS> BEÁLLÍTÁSA

    ahol <database_name> a tükrözni kívánt adatbázis neve (ez a név mindkét partnernél ugyanaz), és <server_network_address> a tanúsító kiszolgálópéldány kiszolgálóhálózati címe.

    A kiszolgáló hálózati címének szintaxisa a következő:

    TCP://<system-address>:<port>

    ahol < a rendszercím> egy sztring, amely egyértelműen azonosítja a célszámítógép-rendszert, a <port> pedig a partnerkiszolgáló-példány tükrözési végpontja által használt portszám. További információ: Kiszolgáló hálózati címének megadása (adatbázis-tükrözés).

    A fő kiszolgálói példányon például az alábbi ALTER DATABASE utasítás állítja be a tanút. Az adatbázis neve AdventureWorks, a tanú rendszer címe a DBSERVER3, és a tanú adatbázis tükrözési végpontja által használt port a következő 7022:

    ALTER DATABASE AdventureWorks   
      SET WITNESS = 'TCP://DBSERVER3:7022'  
    

Example

Az alábbi példa egy adattükrözési tanút hoz létre. A tanúsító kiszolgáló példányán (alapértelmezett példány: WITNESSHOST4):

  1. Hozzon létre végpontot ehhez a kiszolgálópéldányhoz a WITNESS szerepkörhöz csak port 7022használatával.

    CREATE ENDPOINT Endpoint_Mirroring  
        STATE=STARTED   
        AS TCP (LISTENER_PORT=7022)   
        FOR DATABASE_MIRRORING (ROLE=WITNESS)  
    GO  
    
  2. Hozzon létre bejelentkezést a partnerpéldányok tartományi felhasználói fiókjához, ha azok különböznek; például tételezzük fel, hogy a tanúként használt példány SOMEDOMAIN\witnessuser fut, de a partnerek példányai MYDOMAIN\dbousername futnak. Hozzon létre egy bejelentkezést a partnerek számára az alábbiak szerint:

    --Create a login for the partner server instances,  
    --which are both running as MYDOMAIN\dbousername:  
    USE master ;  
    GO  
    CREATE LOGIN [MYDOMAIN\dbousername] FROM WINDOWS ;  
    GO  
    --Grant connect permissions on endpoint to login account   
    --of partners  
    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [MYDOMAIN\dbousername];  
    GO  
    
  3. Minden partnerkiszolgáló példányán hozzon létre egy felhasználónevet a tanú kiszolgáló példányához:

    --Create a login for the witness server instance,  
    --which is running as SOMEDOMAIN\witnessuser:  
    USE master ;  
    GO  
    CREATE LOGIN [SOMEDOMAIN\witnessuser] FROM WINDOWS ;  
    GO  
    --Grant connect permissions on endpoint to login account   
    --of partners  
    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [SOMEDOMAIN\witnessuser];  
    GO  
    
  4. A főkiszolgálón állítsa be a tanúsítót (amely be van kapcsolva WITNESSHOST4):

    ALTER DATABASE AdventureWorks   
        SET WITNESS =   
        'TCP://WITNESSHOST4:7022'  
    GO  
    

Megjegyzés:

A kiszolgáló hálózati címe a célkiszolgáló-példányt a portszám alapján jelzi, amely a példány tükrözési végpontjára van leképezve.

A biztonsági beállításokat, a tükrözési adatbázis előkészítését, a partnerek beállítását és a tanúsító hozzáadását bemutató teljes példáért tekintse meg az Adatbázis-tükrözés beállítása (SQL Server) című témakört.

Lásd még:

ADATBÁZIS MÓDOSÍTÁSA (Transact-SQL)
Adatbázistükrözési végpont hálózati hozzáférésének engedélyezése Windows-hitelesítéssel (SQL Server)
Adatbázis-tükrözési végpont létrehozása Windows-hitelesítéshez (Transact-SQL)
Adatbázis-tükrözési munkamenet létrehozása Windows-hitelesítéssel (Transact-SQL)
A tanúsító eltávolítása adatbázistükrözési munkamenetből (SQL Server)
Adatbázis-tükrözési tanú