Biztonsági mentés vagy visszaállítás megadása a hiba utáni folytatáshoz vagy leállításhoz

A következőkre vonatkozik:SQL Server

Ez a témakör azt ismerteti, hogyan adhatja meg, hogy a biztonsági mentési vagy visszaállítási művelet folytatódjon vagy leálljon, ha hibát tapasztal az SQL Serverben az SQL Server Management Studio vagy a Transact-SQL használatával.

ebben a témakörben

Mielőtt hozzákezdene

Biztonság

Engedélyek

BIZTONSÁGI MENTÉS
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.

A biztonsági mentési eszköz fizikai fájljának tulajdonjogi és engedélyproblémái zavarhatják a biztonsági mentési műveletet. Az SQL Servernek képesnek kell lennie az eszköz olvasására és írására; a fióknak, amely alatt az SQL Server szolgáltatás fut, írási engedélyekkel kell rendelkeznie. sp_addumpdeviceazonban, amely egy biztonsági mentési eszköz bejegyzését adja hozzá a rendszertáblákhoz, nem ellenőrzi a fájlhozzáférési engedélyeket. Előfordulhat, hogy a biztonsági mentési eszköz fizikai fájljának ilyen problémái mindaddig nem jelennek meg, amíg a fizikai erőforrás nem érhető el a biztonsági mentés vagy a visszaállítás megkísérlésekor.

HELYREÁLLÍT
Ha a visszaállított adatbázis nem létezik, a felhasználónak CREATE DATABASE-engedélyekkel kell rendelkeznie a VISSZAÁLLÍTÁS végrehajtásához. Ha az adatbázis létezik, a RESTORE engedélyek alapértelmezés szerint a sysadmin és a dbcreator rögzített kiszolgálói szerepkörök tagjaihoz, valamint az adatbázis tulajdonosához (dbo) tartoznak. (A FROM DATABASE_SNAPSHOT beállításnál az adatbázis mindig létezik.)

A VISSZAÁLLÍTÁSi engedélyek olyan szerepkörökhöz lesznek adva, amelyekben a tagsági adatok mindig könnyen elérhetők a kiszolgáló számára. Mivel a rögzített adatbázisszerepkör-tagság csak akkor ellenőrizhető, ha az adatbázis elérhető és sértetlen, ami nem mindig történik meg a VISSZAÁLLÍTÁS végrehajtásakor, a db_owner rögzített adatbázis-szerepkör tagjai nem rendelkeznek VISSZAÁLLÍTÁSi engedélyekkel.

Az SQL Server Management Studio használata

Annak megadása, hogy a biztonsági mentés hiba esetén folytatódjon vagy leálljon

  1. Kövesse az adatbázis biztonsági mentési lépéseit.

  2. A Beállítások lapon, a Megbízhatósági szakaszban kattintson a Ellenőrzőösszeg végrehajtása elemre, mielőtt a média ír, és Folytassa a hiba.

A Transact-SQL használata

Annak megadása, hogy a biztonsági mentési művelet folytatódik-e vagy leáll-e a hiba észlelése után

  1. Csatlakozzon az adatbázismotorhoz.

  2. A Standard sávon kattintson Új lekérdezéselemre.

  3. A BACKUP utasításban adja meg a CONTINUE_AFTER ERROR beállítást a folytatáshoz, vagy a STOP_ON_ERROR beállítást a leállításhoz. Az alapértelmezett viselkedés a hiba észlelése után leáll. Ez a példa arra utasítja a biztonsági mentési műveletet, hogy folytassa a műveletet, még akkor is, ha hibát észlel.

BACKUP DATABASE AdventureWorks2022   
 TO DISK = 'Z:\SQLServerBackups\AdvWorksData.bak'  
   WITH CHECKSUM, CONTINUE_AFTER_ERROR;  
GO  

Annak megadása, hogy a visszaállítási művelet folytatódik-e vagy leáll-e a hiba észlelése után

  1. Csatlakozzon az adatbázismotorhoz.

  2. A Standard sávon kattintson Új lekérdezéselemre.

  3. A RESTORE utasításban adja meg a CONTINUE_AFTER ERROR opciót a folytatáshoz vagy a STOP_ON_ERROR opciót a leállításhoz. Az alapértelmezett viselkedés a hiba észlelése után leáll. Ez a példa arra utasítja a visszaállítási műveletet, hogy folytassa annak ellenére, hogy hiba történt.

RESTORE DATABASE AdventureWorks2022   
 FROM DISK = 'Z:\SQLServerBackups\AdvWorksData.bak'   
   WITH CHECKSUM, CONTINUE_AFTER_ERROR;  
GO  

Lásd még:

RESTORE FILELISTONLY (Transact-SQL)
RESTORE HEADERONLY (Transact-SQL)
RESTORE LABELONLY (Transact-SQL)
RESTORE VERIFYONLY (Transact-SQL)
BIZTONSÁGI MENTÉS (Transact-SQL)
biztonsági másolatkészlet (Transact-SQL)
RESTORE argumentumok (Transact-SQL)
Lehetséges médiahibák a biztonsági mentés és visszaállítás során (SQL Server)
Biztonsági mentési ellenőrzőösszegek engedélyezése vagy letiltása mentés vagy visszaállítás során (SQL Server)