Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Ez a témakör azt ismerteti, hogyan készíthet elő adatbázist az SQL Server Always On rendelkezésre állási csoportjához az SQL Server Management Studio, a Transact-SQL vagy a PowerShell használatával. Az adatbázis előkészítéséhez két lépésre van szükség:
- Az elsődleges adatbázis legutóbbi adatbázis-biztonsági mentésének és az azt követő naplók biztonsági mentésének visszaállítása a másodlagos replikát futtató kiszolgálópéldányokra a RESTORE WITH NORECOVERY használatával
- Csatlakozzon a visszaállított adatbázishoz a rendelkezésre állási csoporthoz.
Borravaló
Ha már rendelkezik naplószállítási konfigurációval, lehetséges, hogy a naplószállítás elsődleges adatbázisát egy vagy több másodlagos adatbázissal együtt egy rendelkezésre állási csoport elsődleges replikájává és egy vagy több másodlagos replikává konvertálhatja. További információ: A naplós szállításról az Always On rendelkezésre állási csoportokba (SQL Server)való migrálás előfeltételei.
Előfeltételek és korlátozások
Győződjön meg arról, hogy a rendszer, ahol adatbázist kíván elhelyezni, rendelkezik-e elegendő lemezmeghajtóval a másodlagos adatbázisok számára.
A másodlagos adatbázis nevének meg kell egyeznie az elsődleges adatbázis nevével.
A RESTORE WITH NORECOVERY parancs használata minden visszaállítási művelethez.
Ha a másodlagos adatbázisnak az elsődleges adatbázistól eltérő fájlelérési útvonalon kell lennie (beleértve a meghajtóbetűjelet is), a visszaállítási parancsnak az egyes adatbázisfájlokHOZ tartozó WITH MOVE beállítással is meg kell adnia őket a másodlagos adatbázis elérési útjára.
Ha az adatbázis-fájlcsoportot fájlcsoportonként állítja vissza, mindenképpen állítsa vissza a teljes adatbázist.
Az adatbázis visszaállítása után az utolsó visszaállított adatmentés óta létrehozott összes napló biztonsági mentését vissza kell állítania (NORECOVERY használatával).
Ajánlások
Az SQL Server önálló példányai esetében azt javasoljuk, hogy ha lehetséges, az adott másodlagos adatbázis fájlelérési útvonala (beleértve a meghajtóbetűjelet is) azonos legyen a megfelelő elsődleges adatbázis elérési útjával. Ennek az az oka, hogy ha egy másodlagos adatbázis létrehozásakor áthelyezi az adatbázisfájlokat, előfordulhat, hogy egy későbbi bővítményfájl-művelet meghiúsul a másodlagos adatbázisban, és a másodlagos adatbázist fel kell függeszteni.
A másodlagos adatbázisok előkészítése előtt javasoljuk, hogy a másodlagos replikák inicializálásáig függessze fel az ütemezett naplók biztonsági mentését a rendelkezésre állási csoportban lévő adatbázisokon.
Biztonság
Az adatbázis biztonsági mentésekor a TRUSTWORTHY adatbázistulajdonság KI értékre van állítva. Ezért a TRUSTWORTHY mindig ki van kapcsolva egy újonnan visszaállított adatbázisban.
Engedélyek
A BACKUP DATABASE és a BACKUP LOG engedélyek alapértelmezés szerint a sysadmin rögzített kiszolgálói szerepkör, valamint a db_owner és db_backupoperator rögzített adatbázis-szerepkörök tagjai számára. További információ: BACKUP (Transact-SQL).
Ha a visszaállított adatbázis nem létezik a kiszolgálópéldányon, a RESTORE utasításhoz CREATE DATABASE-engedélyekre van szükség. További információ: RESTORE (Transact-SQL).
Az SQL Server Management Studio használata
Jegyzet
Ha a biztonsági mentési és visszaállítási fájl elérési útjai megegyeznek az elsődleges replikát üzemeltető kiszolgálópéldány és a másodlagos replikát üzemeltető összes példány között, másodlagos replika-adatbázisokat kell létrehoznia Új rendelkezésreállási csoport varázslóval, Replika hozzáadása a rendelkezésre állási csoporthoz varázsló, vagy Adatbázis hozzáadása a rendelkezésre állási csoporthoz varázslóval.
Másodlagos adatbázis előkészítése
Ha nem rendelkezik az elsődleges adatbázis legutóbbi adatbázis-biztonsági mentésével, hozzon létre egy új teljes vagy különbségi adatbázis biztonsági mentését. Ajánlott eljárásként helyezze ezt a biztonsági mentést és az azt követő naplók biztonsági mentését az ajánlott hálózati megosztásra.
Hozzon létre legalább egy új napló biztonsági másolatot az elsődleges adatbázisról.
Jegyzet
Előfordulhat, hogy a tranzakciónapló biztonsági mentése nem szükséges, ha a tranzakciónapló biztonsági mentését korábban nem rögzítették az elsődleges replika adatbázisában. A Microsoft azt javasolja, hogy készítsen biztonsági másolatot a tranzakciónaplóról minden alkalommal, amikor egy új adatbázis csatlakozik a rendelkezésre állási csoporthoz.
A másodlagos replikát üzemeltető kiszolgálópéldányon állítsa vissza az elsődleges adatbázis teljes adatbázis-biztonsági mentését (és opcionálisan egy különbségi biztonsági mentést), majd az azt követő napló biztonsági mentéseit.
A RESTORE DATABASE Options lapon válassza Hagyja az adatbázist nem működőként, és ne állítsa vissza a nem véglegesített tranzakciókat. További tranzakciónaplók állíthatók vissza. (VISSZAÁLLÍTÁS NORECOVERY HASZNÁLATÁVAL).
Ha az elsődleges adatbázis és a másodlagos adatbázis fájlelérési útjai eltérnek, például ha az elsődleges adatbázis az "F:" meghajtón található, de a másodlagos replikát üzemeltető kiszolgálópéldány nem tartalmaz F: meghajtót, akkor a WITH záradékban adja meg a MOVE lehetőséget.
A másodlagos adatbázis konfigurálásához csatlakoznia kell a másodlagos adatbázishoz a rendelkezésre állási csoporthoz. További információ: Másodlagos adatbázis csatlakoztatása rendelkezésre állási csoporthoz (SQL Server).
Jegyzet
A biztonsági mentési és visszaállítási műveletek végrehajtásával kapcsolatos információkért tekintse meg kapcsolódó biztonsági mentési és visszaállítási feladatokcímű szakasz későbbi szakaszát.
Kapcsolódó biztonsági mentési és visszaállítási feladatok
Adatbázis biztonsági mentés létrehozása
Napló biztonsági mentésének létrehozása
Biztonsági másolatok visszaállítása
Adatbázis biztonsági mentésének visszaállítása SSMS- használatával
Differenciális adatbázis-biztonsági mentés visszaállítása (SQL Server)
A Transact-SQL használata
Másodlagos adatbázis előkészítése
Jegyzet
Erre az eljárásra a jelen témakör korábbi, Példa (Transact-SQL)című szakaszában talál példát.
Ha nem rendelkezik az elsődleges adatbázis legutóbbi teljes biztonsági mentésével, csatlakozzon az elsődleges replikát üzemeltető kiszolgálópéldányhoz, és hozzon létre egy teljes adatbázis-biztonsági másolatot. Ajánlott eljárásként helyezze ezt a biztonsági mentést és az azt követő naplók biztonsági mentését az ajánlott hálózati megosztásra.
A másodlagos replikát futtató kiszolgálópéldányon állítsa vissza az elsődleges adatbázis teljes adatbázis-biztonsági mentését (és opcionálisan egy különbségi biztonsági mentést), majd az összes további napló biztonsági mentését. Használja a NORECOVERY-t minden visszaállítási művelethez.
Ha az elsődleges adatbázis és a másodlagos adatbázis fájlelérési útjai eltérnek, például ha az elsődleges adatbázis az "F:" meghajtón található, de a másodlagos replikát üzemeltető kiszolgálópéldány nem tartalmaz F: meghajtót, akkor a WITH záradékban adja meg a MOVE lehetőséget.
Ha az elsődleges adatbázisban a szükséges napló biztonsági mentése óta biztonsági mentés történt, ezeket a másodlagos replikát üzemeltető kiszolgálópéldányra is át kell másolnia, és mindegyik napló biztonsági másolatát a másodlagos adatbázisra kell alkalmaznia, kezdve a legkorábbi és mindig a VISSZAÁLLÍTÁS NORECOVERY használatával.
Jegyzet
A napló biztonsági mentése nem létezik, ha az elsődleges adatbázist most hozták létre, és még nem készült napló biztonsági mentés, vagy ha a helyreállítási modellt egyszerűen teljesre módosították.
A másodlagos adatbázis konfigurálásához csatlakoznia kell a másodlagos adatbázishoz a rendelkezésre állási csoporthoz. További információ: Másodlagos adatbázis csatlakoztatása rendelkezésre állási csoporthoz (SQL Server).
Jegyzet
A biztonsági mentési és visszaállítási műveletek végrehajtásáról a jelen témakör későbbi, kapcsolódó biztonsági mentési és visszaállítási feladatokcímű szakaszában olvashat.
Transact-SQL példa
Az alábbi példa egy másodlagos adatbázist készít elő. Ez a példa a AdventureWorks2025 mintaadatbázist használja, amely alapértelmezés szerint az egyszerű helyreállítási modellt használja.
A
AdventureWorks2025adatbázis használatához módosítsa a teljes helyreállítási modell használatára:USE master; GO ALTER DATABASE MyDB1 SET RECOVERY FULL; GOMiután az adatbázis helyreállítási modelljét egyszerűről FULL-ra módosította, hozzon létre egy teljes biztonsági másolatot, amely a másodlagos adatbázis létrehozásához használható. Mivel a helyreállítási modell nemrég módosult, a WITH FORMAT beállítás meg van adva egy új médiakészlet létrehozásához. Ez akkor hasznos, ha a teljes helyreállítási modell biztonsági másolatait elkülöníti az egyszerű helyreállítási modellben készített korábbi biztonsági másolatoktól. Ebben a példában a biztonsági mentési fájl (C:\
AdventureWorks2025.bak) az adatbázissal megegyező meghajtón jön létre.Jegyzet
Éles adatbázis esetén mindig külön eszközre kell biztonsági másolatot készítenie.
Az elsődleges replikát (
INSTANCE01) futtató kiszolgálópéldányon hozzon létre egy teljes biztonsági másolatot az elsődleges adatbázisról az alábbiak szerint:BACKUP DATABASE MyDB1 TO DISK = 'C:\MyDB1.bak' WITH FORMAT GOMásolja a teljes biztonsági másolatot a másodlagos replikát üzemeltető kiszolgálópéldányra.
Állítsa vissza a teljes biztonsági mentést a RESTORE WITH NORECOVERY paranccsal a másodlagos replikát üzemeltető kiszolgálópéldányra. A visszaállítási parancs attól függ, hogy az elsődleges és a másodlagos adatbázisok elérési útjai azonosak-e.
Ha az elérési utak azonosak:
A másodlagos replikát futtató számítógépen állítsa vissza a teljes biztonsági mentést az alábbiak szerint:
RESTORE DATABASE MyDB1 FROM DISK = 'C:\MyDB1.bak' WITH NORECOVERY GOHa az elérési utak eltérnek:
Ha a másodlagos adatbázis elérési útja eltér az elsődleges adatbázis elérési útjától (például a meghajtóbetűjelek eltérnek), a másodlagos adatbázis létrehozásához a visszaállítási műveletnek tartalmaznia kell egy MOVE záradékot.
Fontos
Ha az elsődleges és a másodlagos adatbázisok elérési útja eltérő, nem adhat hozzá fájlt. Ennek az az oka, hogy a fájl hozzáadása művelet naplójának fogadásakor a másodlagos replika kiszolgálópéldánya megpróbálja az új fájlt az elsődleges adatbázis által használt elérési úton elhelyezni.
A következő parancs például visszaállítja egy elsődleges adatbázis biztonsági másolatát, amely az SQL Server alapértelmezett példányának, a C:\Program Files\Microsoft SQL Server\MSSQL12 adatkönyvtárában található. MSSQLSERVER\MSSQL\DATA. A visszaállítási adatbázis-műveletnek át kell helyeznie az adatbázist egy távoli SQL Server-példány adatkönyvtárába (Always On1), amely egy másik fürtcsomóponton tárolja a másodlagos replikát. Itt az adatok és naplófájlok a C:\Program Files\Microsoft SQL Server\MSSQL13 lesznek visszaállítva. Always On1\MSSQL\DATA könyvtár. A visszaállítási művelet a NORECOVERY használatával hagyja meg a másodlagos adatbázist a visszaállítási adatbázisban.
RESTORE DATABASE MyDB1 FROM DISK='C:\MyDB1.bak' WITH NORECOVERY, MOVE 'MyDB1_Data' TO 'C:\Program Files\Microsoft SQL Server\MSSQL13.Always On1\MSSQL\DATA\MyDB1_Data.mdf', MOVE 'MyDB1_Log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL13.Always On1\MSSQL\DATA\MyDB1_Data.ldf'; GO
A teljes biztonsági mentés visszaállítása után létre kell hoznia egy napló biztonsági mentését az elsődleges adatbázisban. Az alábbi Transact-SQL utasítás például biztonsági másolatot készít a naplóról egy E:\MyDB1_log.trnnevű biztonsági mentési fájlra:
BACKUP LOG MyDB1 TO DISK = 'E:\MyDB1_log.trn' GOMielőtt csatlakoztatná az adatbázist a másodlagos replikához, alkalmazza a szükséges napló biztonsági mentést (és az azt követő naplók biztonsági mentéseit).
Az alábbi Transact-SQL utasítás például visszaállítja az első naplót C:\MyDB1.trn:
RESTORE LOG MyDB1 FROM DISK = 'E:\MyDB1_log.trn' WITH FILE=1, NORECOVERY GOHa az adatbázis a másodlagos replikához való csatlakozás előtt további napló biztonsági mentéseket is végrehajt, az összes naplómásolatot sorozatban vissza kell állítania arra a kiszolgálópéldányra, amely a másodlagos replikát a RESTORE WITH NORECOVERY paranccsal üzemelteti.
Az alábbi Transact-SQL utasítás például két további naplót állít vissza E:\MyDB1_log.trn:
RESTORE LOG MyDB1 FROM DISK = 'E:\MyDB1_log.trn' WITH FILE=2, NORECOVERY GO RESTORE LOG MyDB1 FROM DISK = 'E:\MyDB1_log.trn' WITH FILE=3, NORECOVERY GO
A PowerShell használata
Másodlagos adatbázis előkészítése
Ha létre kell hoznia egy legutóbbi biztonsági másolatot az elsődleges adatbázisról, módosítsa a könyvtárat (cd) arra a kiszolgálópéldányra, amely az elsődleges replikát tárolja.
A biztonsági mentések létrehozásához használja a Backup-SqlDatabase parancsmagot.
Változtassa meg a könyvtárat (cd) arra a kiszolgálópéldányra, amely tartalmazza a másodlagos replikát.
Az egyes elsődleges adatbázisok adatbázisának és naplóinak visszaállításához használja a restore-SqlDatabase parancsmagot, és adja meg a NoRecovery visszaállítási paramétert. 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.
Jegyzet
A parancsmag szintaxisának megtekintéséhez használja a Get-Help parancsmagot az SQL Server PowerShell-környezetben. További információért lásd: SQL Server PowerShell - Segítség kérése.
A másodlagos adatbázis konfigurálásához csatlakoznia kell a rendelkezésre állási csoporthoz. További információ: Másodlagos adatbázis csatlakoztatása rendelkezésre állási csoporthoz (SQL Server).
Az SQL Server PowerShell-szolgáltató beállítása és használata
Példa biztonsági mentési és visszaállítási szkriptre és parancsra
Az alábbi PowerShell-parancsok biztonsági másolatot készítenek egy teljes adatbázis biztonsági mentéséről és tranzakciónaplójáról egy hálózati megosztásra, és visszaállítják az adott megosztásról származó biztonsági másolatokat. Ez a példa feltételezi, hogy az adatbázis visszaállításának elérési útja megegyezik azzal a fájlútvonallal, amelyen az adatbázis biztonsági másolat készült.
# Create database backup
Backup-SqlDatabase -Database "MyDB1" -BackupFile "\\share\backups\MyDB1.bak" -ServerInstance "SourceMachine\Instance"
# Create log backup
Backup-SqlDatabase -Database "MyDB1" -BackupAction "Log" -BackupFile "\\share\backups\MyDB1.trn" -ServerInstance "SourceMachine\Instance"
# Restore database backup
Restore-SqlDatabase -Database "MyDB1" -BackupFile "\\share\backups\MyDB1.bak" -NoRecovery -ServerInstance "DestinationMachine\Instance"
# Restore log backup
Restore-SqlDatabase -Database "MyDB1" -BackupFile "\\share\backups\MyDB1.trn" -RestoreAction "Log" -NoRecovery -ServerInstance "DestinationMachine\Instance"
Következő lépések
A másodlagos adatbázis konfigurálásához csatlakozzon az újonnan visszaállított adatbázishoz a rendelkezésre állási csoporthoz. További információ: Másodlagos adatbázis csatlakoztatása rendelkezésre állási csoporthoz (SQL Server).
Lásd még:
Az Always On rendelkezésre állási csoportok (SQL Server) áttekintése
BIZTONSÁGI MENTÉS (Transact-SQL)
RESTORE argumentumok (Transact-SQL)
HELYREÁLLÍTÁS (Transact-SQL)
Sikertelen Add-File művelet elhárítása (Always On rendelkezésre állási csoportok)