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


Adatbázis-tükrözés konfigurálása

A következőkre vonatkozik:SQL Server

Jegyzet

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. Használja inkább az Always On rendelkezésre állási csoportokat.

A tükrözött adatbázis előkészítése után (lásd Tüköradatbázis előkészítése tükrözéshez (SQL Server)), létrehozhat egy adatbázis-tükrözési munkamenetet. A fő, tükrözött és tanú kiszolgálópéldányoknak külön kiszolgálópéldányoknak kell lenniük, külön gazdagéprendszereken.

Fontos

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

Jegyzet

Egy adott kiszolgálópéldány több egyidejű adatbázis-tükrözési munkamenetben is részt vehet ugyanazzal vagy más partnerrel. A kiszolgálópéldány lehet partner egyes munkamenetekben, és tanú más munkamenetekben. A tükrözött kiszolgálópéldánynak az SQL Server ugyanazon kiadását kell futtatnia, mint az egyszerű kiszolgálópéldánynak. Az adatbázis-tükrözés nem érhető el a Microsoft SQL Server minden kiadásában. Az SQL Server kiadásai által támogatott funkciók listáját az SQL Server 2016-kiadásai által támogatott funkcióktalálja. Azt is javasoljuk, hogy hasonló rendszereken fussanak, amelyek képesek azonos számítási feladatokat kezelni.

Adatbázis-tükrözési munkamenet létrehozása

  1. Hozza létre a tükrözött adatbázist. További információ: Tüköradatbázis előkészítése tükrözéshez (SQL Server).

  2. Állítsa be a biztonságot az egyes kiszolgálópéldányokon.

    Az adatbázis-tükrözési munkamenet minden kiszolgálópéldányához szükség van egy adatbázis-tükrözési végpontra. Ha a végpont nem létezik, létre kell hoznia.

    Jegyzet

    Az adatbázis-tükrözéshez használt hitelesítési forma a kiszolgálópéldány adatbázis-tükrözési végpontjának egy tulajdonsága. Az adatbázis-tükrözéshez kétféle átviteli biztonság érhető el: Windows-hitelesítés vagy tanúsítványalapú hitelesítés. További információért lásd: Adatbázis tükrözés és Mindig Elérhető Elérhetőségi Csoportok (SQL Server) szállítási biztonsága.

    Minden partnerkiszolgálón győződjön meg arról, hogy létezik végpont az adatbázis-tükrözéshez. A támogatott tükrözési munkamenetek számától függetlenül a kiszolgálópéldány csak egy adatbázis-tükrözési végponttal rendelkezhet. Ha ezt a kiszolgálópéldányt kizárólag az adatbázis-tükrözési munkamenetekben lévő partnerek számára kívánja használni, hozzárendelheti a partner szerepkörét a végponthoz (ROLE**=**PARTNER). Ha ezt a kiszolgálót más adatbázis-tükrözési munkamenetekben is használni kívánja a tanú számára, rendelje hozzá a végpont szerepkörét ALL-ként.

    A SET PARTNER utasítás végrehajtásához mindkét partner végpontjának ÁLLAPOTÁT a STARTED értékre kell állítani.

    Annak megállapításához, hogy egy kiszolgálópéldány 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

    Ne konfiguráljon újra használaton belüli adatbázistükrözési végpontot. 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ésével a végpont újraindulhat, megszakítva a meglévő munkamenetek kapcsolatait, ami a többi kiszolgálópéldányra vonatkozó hibaként jelenhet meg. Ez különösen fontos az automatikus feladatátvétel esetében a magas biztonsági módban, amelyben a végpont partneren való újrakonfigurálása feladatátvételt okozhat. Továbbá, ha egy tanú be van állítva egy munkamenetre, az adatbázis tükrözési végpontjának elvetésével az adott munkamenet fő 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 megszakadnak. További információ: Kvórum: Hogyan befolyásolja egy tanú az adatbázis elérhetőségét (Adatbázis-tükrözés).

    Ha valamelyik partner nem rendelkezik végpontokkal, tekintse meg Adatbázistükrözési végpont létrehozása Windows-hitelesítéshez (Transact-SQL).

  3. Ha a kiszolgálópéldányok különböző tartományi felhasználói fiókokban futnak, mindegyikhez külön bejelentkezés szükséges a többi adatbázisába. Ha a bejelentkezés nem létezik, létre kell hoznia. További információ: Hálózati hozzáférés engedélyezése adatbázistükrözési végponthoz Windows-hitelesítéssel (SQL Server).

  4. Ha a fő kiszolgálót szeretné partnerként beállítani a tüköradatbázisban, csatlakozzon a tükörszerverhez, és adja ki a következő utasítást:

    ALTER DATABASE <database_name> PARTNER =<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), <server_network_address> pedig a fő kiszolgáló hálózati címe.

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

    TCP://<rendszercím>:<port>

    ahol <rendszercím> egy karakterlánc, amely egyértelműen azonosítja a célszámítógépet, és <port> a partnerkiszolgáló példányának 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 tükrözött kiszolgálópéldányon például az alábbi ALTER DATABASE utasítás állítja be a partnert az eredeti elsődleges kiszolgálópéldányként. Az adatbázis neve AdventureWorks, a rendszer címe DBSERVER1 a partner rendszerének neve, a partner adatbázis-tükrözési végpontja által használt port pedig 7022:

    ALTER DATABASE AdventureWorks   
       SET PARTNER = 'TCP://DBSERVER1:7022'  
    

    Ez az utasítás előkészíti a tükröző kiszolgálót, hogy munkamenetet alakítson ki, amikor a fő kiszolgáló kapcsolatba lép vele.

  5. Ha partnerként szeretné beállítani a tükrözött kiszolgálót az egyszerű adatbázisban, csatlakozzon az egyszerű kiszolgálóhoz, és adja ki a következő utasítást:

    ALTER DATABASE <database_name> SET PARTNER =<server_network_address>

    További információ: 4. lépés.

    A fő kiszolgálópéldányon például az alábbi ALTER DATABASE utasítás állítja be a partnert tükrözött kiszolgálópéldányként. Az adatbázis neve AdventureWorks, a rendszer címe DBSERVER2 a partner rendszerének neve, a partner adatbázis-tükrözési végpontja által használt port pedig 7025:

    ALTER DATABASE AdventureWorks SET PARTNER = 'TCP://DBSERVER2:7022'  
    

    Ha az elsődleges szerveren beírja ezt az utasítást, elindítja az adatbázis-tükrözési munkamenetet.

  6. Alapértelmezés szerint a munkamenet teljes tranzakcióbiztonságra van állítva (a BIZTONSÁG értéke FULL), amely szinkron, magas biztonsági módban indítja el a munkamenetet automatikus feladatátvétel nélkül. A munkamenetet újrakonfigurálhatja úgy, hogy magas biztonsági módban fusson automatikus feladatátvétellel vagy aszinkron, nagy teljesítményű módban, az alábbiak szerint:

Példa

Jegyzet

Az alábbi példa adatbázis-tükrözési munkamenetet hoz létre egy meglévő tükrözött adatbázis partnerei között. A tükrözött adatbázis létrehozásával kapcsolatos információkért lásd: Tüköradatbázis előkészítése tükrözéshez (SQL Server)=.

A példa bemutatja az adatbázis-tükrözési munkamenet létrehozásának alapvető lépéseit tanú nélkül. A két partner az alapértelmezett kiszolgálópéldány két számítógépes rendszeren (PARTNERHOST1 és PARTNERHOST5). A két partnerpéldány ugyanazt a Windows-tartományi felhasználói fiókot (MYDOMAIN\dbousername) futtatja.

  1. Az egyszerű kiszolgálópéldányon (a PARTNERHOST1 alapértelmezett példányán) hozzon létre egy végpontot, amely támogatja az összes szerepkört a 7022-s port használatával:

    --create an endpoint for this instance  
    CREATE ENDPOINT Endpoint_Mirroring  
        STATE=STARTED   
        AS TCP (LISTENER_PORT=7022)   
        FOR DATABASE_MIRRORING (ROLE=ALL)  
    GO  
    --Partners under same domain user; login already exists in master.  
    
  2. A tükrözött kiszolgálópéldányon (a PARTNERHOST5 alapértelmezett példányán) hozzon létre egy végpontot, amely minden szerepkört támogat a 7022-s port használatával:

    --create an endpoint for this instance  
    CREATE ENDPOINT Endpoint_Mirroring  
        STATE=STARTED   
        AS TCP (LISTENER_PORT=7022)   
        FOR DATABASE_MIRRORING (ROLE=ALL)  
    GO  
    --Partners under same domain user; login already exists in master.  
    
  3. A fő kiszolgálópéldányon (PARTNERHOST1) készítsen biztonsági másolatot az adatbázisról.

    BACKUP DATABASE AdventureWorks   
        TO DISK = 'C:\AdvWorks_dbmirror.bak'   
        WITH FORMAT  
    GO  
    
  4. A tükrözött kiszolgálópéldányon (PARTNERHOST5) állítsa vissza az adatbázist:

    RESTORE DATABASE AdventureWorks   
        FROM DISK = 'Z:\AdvWorks_dbmirror.bak'   
        WITH NORECOVERY  
    GO  
    
  5. A teljes adatbázis biztonsági mentésének létrehozása után létre kell hoznia egy napló biztonsági mentést a fő adatbázisban. Az alábbi Transact-SQL utasítás például biztonsági másolatot készít a naplóról ugyanarra a fájlra, amelyet az előző adatbázis biztonsági mentése használt:

    BACKUP LOG AdventureWorks   
        TO DISK = 'C:\AdventureWorks.bak'   
    GO  
    
  6. A tükrözés megkezdése előtt alkalmaznia kell a szükséges napló biztonsági mentését (és az azt követő napló biztonsági mentéseit).

    A következő Transact-SQL utasítás például visszaállítja az első naplót a C:\AdventureWorks.bak:

    RESTORE LOG AdventureWorks   
        FROM DISK = 'C:\ AdventureWorks.bak'   
        WITH FILE=1, NORECOVERY  
    GO  
    
  7. A tükrözött kiszolgálópéldányon állítsa be a kiszolgálópéldányt PARTNERHOST1 partnerként (így kezdeti elsődleges kiszolgálóként):

    USE master;  
    GO  
    ALTER DATABASE AdventureWorks   
        SET PARTNER =   
        'TCP://PARTNERHOST1:7022'  
    GO  
    

    Fontos

    alapértelmezés szerint az adatbázis-tükrözési munkamenet szinkron módban fut, amely a teljes tranzakcióbiztonságtól függ (a BIZTONSÁG értéke FULL). Ha azt szeretné, hogy egy munkamenet aszinkron, nagy teljesítményű módban fusson, állítsa SAFETY-t KI. További információkért lásd: Adatbázis Tükrözés Működési Módjai.

  8. A fő kiszolgálópéldányon állítsa be a kiszolgálópéldányt PARTNERHOST5 partnerként (ezzel az elsődleges tükörkiszolgálóként).

    USE master;  
    GO  
    ALTER DATABASE AdventureWorks   
        SET PARTNER = 'TCP://PARTNERHOST5:7022'  
    GO  
    
  9. Opcionálisan, ha magas biztonsági módot szeretne használni automatikus feladatátvétellel, állítsa be a tanú kiszolgálópéldányt. További információkért lásd: Adatbázis-tükrözési tanúsító hozzáadása Windows-hitelesítéssel (Transact-SQL).

Jegyzet

A biztonsági beállításokat, a tükrözött 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át Az adatbázis-tükrözés beállítása (SQL Server)című témakörben talál.

Lásd még:

Az adatbázis-tükrözés beállítása (SQL Server)
ALTER DATABASE (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)
Tüköradatbázis előkészítése tükrözéshez (SQL Server)
Adatbázis-tükrözési végpont létrehozása Windows-hitelesítéshez (Transact-SQL)
Adatbázis-tükrözés és naplóátvitel (SQL Server)
Adatbázis-tükrözés (SQL Server)
adatbázis-tükrözés és replikáció (SQL Server)
Az adatbázis tükrözésének beállítása (SQL Server)
Kiszolgáló hálózati címének (adatbázis-tükrözés) megadása
adatbázis-tükrözési üzemmódok