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


Always On rendelkezésre állási csoport létrehozása a PowerShell használatával

A következőkre vonatkozik:SQL Server

Ez a témakör azt ismerteti, hogyan hozhat létre és konfigurálhat Always On rendelkezésre állási csoportot PowerShell-parancsmagokkal az SQL Serverben a PowerShell használatával. A rendelkezésre állási csoport olyan felhasználói adatbázisok készletét határozza meg, amelyek egy egységként képesek feladatátvételt végrehajtani, valamint a feladatátvételt támogató feladatátvevő partnereket, más néven rendelkezésre állási replikákat.

Megjegyzés:

A rendelkezésre állási csoportokról az Always On rendelkezésre állási csoportok (SQL Server) áttekintésében olvashat.

Megjegyzés:

A PowerShell-parancsmagok használata helyett használhatja a Rendelkezésre állási csoport létrehozása varázslót vagy a Transact-SQL-t. További információt az Új rendelkezésreállási csoport párbeszédpanel (SQL Server Management Studio) vagy a Rendelkezésre állási csoport létrehozása (Transact-SQL) című témakörben talál.

Mielőtt hozzákezdene

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

  • A rendelkezésre állási csoport létrehozása előtt ellenőrizze, hogy az SQL Server példányai mindegyike egy WSFC-feladatátvevő fürt más-más Windows Server-feladatátvevő fürtcsomópontján helyezkedik el. Ellenőrizze továbbá, hogy a kiszolgálópéldányok megfelelnek-e a többi kiszolgálópéldányra vonatkozó előfeltételeknek, és hogy a többi Always On rendelkezésre állási csoportra vonatkozó követelmény teljesül-e, és tisztában van-e a javaslatokkal. További információkért javasoljuk, hogy olvassa el az Always On rendelkezésre állási csoportokra (SQL Server) vonatkozó előfeltételeket, korlátozásokat és javaslatokat.

Permissions

Tagságot igényel a sysadmin rögzített kiszolgálói szerepkörben, valamint az ELÉRHETŐSÉGI CSOPORT létrehozására vonatkozó kiszolgálói engedéllyel, BÁRMELY ELÉRHETŐSÉGI CSOPORT módosítására vonatkozó engedéllyel, vagy a CONTROL SERVER engedéllyel.

Rendelkezésre állási csoport létrehozása és konfigurálása a PowerShell használatával

Az alábbi táblázat felsorolja a rendelkezésre állási csoport konfigurálásával kapcsolatos alapvető feladatokat, és a PowerShell-parancsmagok által támogatottakat jelzi. Az Always On rendelkezésre állási csoportok feladatait abban a sorrendben kell végrehajtani, amelyben a táblázat tartalmazza őket.

Feladatok PowerShell-parancsmagok (ha elérhető) vagy Transact-SQL utasítás A feladat végrehajtásának helye
Adatbázis-tükrözési végpont létrehozása (SQL Server-példányonként egyszer) New-SqlHadrEndPoint Hajtsa végre minden olyan kiszolgálópéldányon, amely nem rendelkezik adatbázis-tükrözési végpontokkal.

Meglévő adatbázistükrözési végpont módosításához használja a Set-SqlHadrEndpointot.
Rendelkezésre állási csoport létrehozása Először a New-SqlAvailabilityReplica parancsmaggal és az -AsTemplate paraméterrel hozzon létre egy memóriabeli rendelkezésre állási replika objektumot a rendelkezésre állási csoportban felvenni kívánt két rendelkezésre állási replika mindegyikéhez.

Ezután hozza létre a rendelkezésre állási csoportot a New-SqlAvailabilityGroup parancsmaggal, és hivatkozzon a rendelkezésre állási replika objektumára.
Hajtsa végre a kezdeti elsődleges replikát üzemeltető kiszolgálópéldányon.
Másodlagos replika csatlakoztatása a rendelkezésre állási csoporthoz Join-SqlAvailabilityGroup Hajtsa végre az összes másodlagos replikát futtató kiszolgálópéldányon.
A másodlagos adatbázis előkészítése Backup-SqlDatabase és Restore-SqlDatabase Készítsen biztonsági másolatot az elsődleges replikát üzemeltető kiszolgálópéldányról.

A NoRecovery visszaállítási paraméterrel állítsa vissza a biztonsági másolatokat minden másodlagos replikát futtató kiszolgálópéldányon. Ha a fájl elérési útjai eltérnek az elsődleges replikát üzemeltető számítógépek és a másodlagos célreplika között, használja a RelocateFile visszaállítási paramétert is.
Adatszinkronizálás indítása az egyes másodlagos adatbázisok rendelkezésre állási csoporthoz való csatlakoztatásával Add-SqlAvailabilityDatabase Hajtson végre utasítást minden kiszolgálópéldányon, amely másodlagos replikát futtat.

Megjegyzés:

A megadott feladatok elvégzéséhez módosítsa a könyvtárat (cd) a megjelölt kiszolgálópéldányra vagy -példányokra.

PowerShell használata

Állítsa be és használja az SQL Server PowerShell-szolgáltatót.

Megjegyzés:

A szintaxis és egy adott parancsmag példájának megtekintéséhez használja a Get-Help parancsmagot az SQL Server PowerShell-környezetben. További információt az SQL Server PowerShell súgójának beolvasása című témakörben talál.

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

  2. Hozzon létre egy memóriabeli rendelkezésre állási replika objektumot az elsődleges replikához.

  3. Hozzon létre egy memóriabeli rendelkezésre állási replika objektumot az egyes másodlagos replikákhoz.

  4. Hozza létre a rendelkezésre állási csoportot.

    Megjegyzés:

    A rendelkezésre állási csoport nevének maximális hossza 128 karakter.

  5. Csatlakozzon az új másodlagos replikához a rendelkezésre állási csoporthoz. Lásd: Csatlakozás másodlagos replikához rendelkezésre állási csoporthoz (SQL Server).

  6. A rendelkezésre állási csoportban lévő összes adatbázishoz hozzon létre egy másodlagos adatbázist az elsődleges adatbázis legutóbbi biztonsági másolatainak visszaállításával a RESTORE WITH NORECOVERY használatával.

  7. Csatlakozzon minden új másodlagos adatbázishoz a rendelkezésre állási csoporthoz. Lásd: Csatlakozás másodlagos replikához rendelkezésre állási csoporthoz (SQL Server).

  8. (nem kötelező) Az új rendelkezésre állási csoport tartalmának ellenőrzéséhez használja a Windows dir parancsot.

Megjegyzés:

Ha a kiszolgálópéldányok SQL Server-szolgáltatásfiókjai különböző tartományi felhasználói fiókok alatt futnak, minden kiszolgálópéldányon hozzon létre egy bejelentkezést a másik kiszolgálópéldányhoz, és adja meg ezt a bejelentkezési CONNECT-engedélyt a helyi adatbázistükrözési végpontnak.

Example

Az alábbi PowerShell-példa egy egyszerű rendelkezésre állási csoportot <myAvailabilityGroup> hoz létre és konfigurál két rendelkezésre állási replikával és egy rendelkezésre állási adatbázissal. Példa:

  1. Menti a <myDatabase> és annak tranzakciónaplóját.

  2. A <myDatabase> és annak tranzakciónaplóját visszaállítja a -NoRecovery beállítással.

  3. Létrehozza az elsődleges replika memórián belüli ábrázolását, amelyet az SQL Server helyi példánya (neve) PrimaryComputer\Instancefog üzemeltetni.

  4. Létrehozza a másodlagos replika memórián belüli ábrázolását, amelyet az SQL Server egy példánya (neve) SecondaryComputer\Instancefog üzemeltetni.

  5. Létrehoz egy rendelkezésre állási csoportot .<myAvailabilityGroup>

  6. A másodlagos replika csatlakoztatása a rendelkezésre állási csoporthoz.

  7. A másodlagos adatbázis csatlakoztatása a rendelkezésre állási csoporthoz.

# Backup my database and its log on the primary  
Backup-SqlDatabase `  
    -Database "<myDatabase>" `  
    -BackupFile "\\share\backups\<myDatabase>.bak" `  
    -ServerInstance "PrimaryComputer\Instance"  
  
Backup-SqlDatabase `  
    -Database "<myDatabase>" `  
    -BackupFile "\\share\backups\<myDatabase>.log" `  
    -ServerInstance "PrimaryComputer\Instance" `  
    -BackupAction Log   
  
# Restore the database and log on the secondary (using NO RECOVERY)  
Restore-SqlDatabase `  
    -Database "<myDatabase>" `  
    -BackupFile "\\share\backups\<myDatabase>.bak" `  
    -ServerInstance "SecondaryComputer\Instance" `  
    -NoRecovery  
  
Restore-SqlDatabase `  
    -Database "<myDatabase>" `  
    -BackupFile "\\share\backups\<myDatabase>.log" `  
    -ServerInstance "SecondaryComputer\Instance" `  
    -RestoreAction Log `  
    -NoRecovery  
  
# Create an in-memory representation of the primary replica.  
$primaryReplica = New-SqlAvailabilityReplica `  
    -Name "PrimaryComputer\Instance" `  
    -EndpointURL "TCP://PrimaryComputer.domain.com:5022" `  
    -AvailabilityMode "SynchronousCommit" `  
    -FailoverMode "Automatic" `  
    -Version 12 `  
    -AsTemplate  
  
# Create an in-memory representation of the secondary replica.  
$secondaryReplica = New-SqlAvailabilityReplica `  
    -Name "SecondaryComputer\Instance" `  
    -EndpointURL "TCP://SecondaryComputer.domain.com:5022" `  
    -AvailabilityMode "SynchronousCommit" `  
    -FailoverMode "Automatic" `  
    -Version 12 `  
    -AsTemplate  
  
# Create the availability group  
New-SqlAvailabilityGroup `  
    -Name "<myAvailabilityGroup>" `  
    -Path "SQLSERVER:\SQL\PrimaryComputer\Instance" `  
    -AvailabilityReplica @($primaryReplica,$secondaryReplica) `  
    -Database "<myDatabase>"  
  
# Join the secondary replica to the availability group.  
Join-SqlAvailabilityGroup -Path "SQLSERVER:\SQL\SecondaryComputer\Instance" -Name "<myAvailabilityGroup>"  
  
# Join the secondary database to the availability group.  
Add-SqlAvailabilityDatabase -Path "SQLSERVER:\SQL\SecondaryComputer\Instance\AvailabilityGroups\<myAvailabilityGroup>" -Database "<myDatabase>"  

Kapcsolódó tevékenységek

Kiszolgálópéldány konfigurálása Always On rendelkezésre állási csoportokhoz

A rendelkezésre állási csoport és a replika tulajdonságainak konfigurálása

A rendelkezésre állási csoport konfigurálásának befejezése

Rendelkezésre állási csoport létrehozásának alternatív módjai

Az Always On rendelkezésre állási csoportok konfigurációjának hibaelhárítása

Kapcsolódó tartalom

Lásd még:

Az adatbázis tükrözési végpontja (SQL Server)
Always On rendelkezésre állási csoportok (SQL Server) áttekintése