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.
Visszaállítja a BACKUP paranccsal készített SQL Database-biztonsági mentéseket.
Termék kiválasztása
A következő sorban válassza ki a kívánt terméknevet, és csak az adott termék adatai jelenjenek meg.
A szintaxisi konvenciókról további információt Transact-SQL szintaxiskonvenciákat.
* SQL Server *
SQL Server
Ez a parancs a következő visszaállítási forgatókönyveket teszi lehetővé:
- Teljes adatbázis visszaállítása teljes adatbázis-biztonsági mentésből (teljes visszaállítás).
- Adatbázis egy részének visszaállítása (részleges visszaállítás).
- Adott fájlok vagy fájlcsoportok visszaállítása adatbázisba (fájl-visszaállítás).
- Adott lapok visszaállítása adatbázisba (lap-visszaállítás).
- Tranzakciónapló visszaállítása adatbázisba (tranzakciónapló visszaállítása).
- Adatbázis visszaállítása az adatbázis pillanatképe által rögzített időpontra.
Egyéb erőforrások
- További információ az SQL Server visszaállítási forgatókönyveiről: Visszaállítás és helyreállítás – áttekintés.
- Amikor egy adatbázist egy másik példányból állít vissza, vegye figyelembe a Metaadatok kezelése, amikor egy adatbázist elérhetővé tesz egy másik kiszolgálópéldányon (SQL Server).
- A Microsoft Azure Blob Storage-ból való visszaállításról további információt az SQL Server Biztonsági mentés és visszaállítás a Microsoft Azure Blob Storage használatával című témakörben talál.
- Az SQL Server 2022 -ben (16.x) bevezették a biztonsági mentést és az S3-kompatibilis objektumtárolóra való visszaállítást. További információ az S3-kompatibilis objektumtárolóból való visszaállításról: SQL Server biztonsági mentés és visszaállítás S3-kompatibilis objektumtárolóval. Tekintse át az SQL Server S3-kompatibilis objektumtároló URL-címére történő biztonsági mentésének lehetőségét is.
Szemantika
- Az argumentumok leírásáról további információt a RESTORE argumentumok című témakörben talál.
--To Restore an Entire Database from a Full database backup (a Complete Restore):
RESTORE DATABASE { database_name | @database_name_var }
[ FROM <backup_device> [ ,...n ] ]
[ WITH
{
[ RECOVERY | NORECOVERY | STANDBY =
{standby_file_name | @standby_file_name_var }
]
| , <general_WITH_options> [ ,...n ]
| , <replication_WITH_option>
| , <change_data_capture_WITH_option>
| , <FILESTREAM_WITH_option>
| , <service_broker_WITH options>
| , <point_in_time_WITH_options-RESTORE_DATABASE>
} [ ,...n ]
]
[;]
--To perform the first step of the initial restore sequence of a piecemeal restore:
RESTORE DATABASE { database_name | @database_name_var }
<files_or_filegroups> [ ,...n ]
[ FROM <backup_device> [ ,...n ] ]
WITH
PARTIAL, NORECOVERY
[ , <general_WITH_options> [ ,...n ]
| , <point_in_time_WITH_options-RESTORE_DATABASE>
] [ ,...n ]
[;]
--To Restore Specific Files or Filegroups:
RESTORE DATABASE { database_name | @database_name_var }
<file_or_filegroup> [ ,...n ]
[ FROM <backup_device> [ ,...n ] ]
WITH
{
[ RECOVERY | NORECOVERY ]
[ , <general_WITH_options> [ ,...n ] ]
} [ ,...n ]
[;]
--To Restore Specific Pages:
RESTORE DATABASE { database_name | @database_name_var }
PAGE = 'file:page [ ,...n ]'
[ , <file_or_filegroups> ] [ ,...n ]
[ FROM <backup_device> [ ,...n ] ]
WITH
NORECOVERY
[ , <general_WITH_options> [ ,...n ] ]
[;]
--To Restore a Transaction Log:
RESTORE LOG { database_name | @database_name_var }
[ <file_or_filegroup_or_pages> [ ,...n ] ]
[ FROM <backup_device> [ ,...n ] ]
[ WITH
{
[ RECOVERY | NORECOVERY | STANDBY =
{standby_file_name | @standby_file_name_var }
]
| , <general_WITH_options> [ ,...n ]
| , <replication_WITH_option>
| , <point_in_time_WITH_options-RESTORE_LOG>
} [ ,...n ]
]
[;]
--To Revert a Database to a Database Snapshot:
RESTORE DATABASE { database_name | @database_name_var }
FROM DATABASE_SNAPSHOT = database_snapshot_name
<backup_device>::=
{
{ logical_backup_device_name |
@logical_backup_device_name_var }
| { DISK
| TAPE
| URL
} = { 'physical_backup_device_name' |
@physical_backup_device_name_var }
}
<files_or_filegroups>::=
{
FILE = { logical_file_name_in_backup | @logical_file_name_in_backup_var }
| FILEGROUP = { logical_filegroup_name | @logical_filegroup_name_var }
| READ_WRITE_FILEGROUPS
}
<general_WITH_options> [ ,...n ]::=
--Restore Operation Options
MOVE 'logical_file_name_in_backup' TO 'operating_system_file_name'
[ ,...n ]
| REPLACE
| RESTART
| RESTRICTED_USER | CREDENTIAL
--Backup Set Options
| FILE = { backup_set_file_number | @backup_set_file_number }
| PASSWORD = { password | @password_variable }
| [ METADATA_ONLY | SNAPSHOT ] [ DBNAME = { database_name | @database_name_variable } ]
--Media Set Options
| MEDIANAME = { media_name | @media_name_variable }
| MEDIAPASSWORD = { mediapassword | @mediapassword_variable }
| BLOCKSIZE = { blocksize | @blocksize_variable }
--Data Transfer Options
| BUFFERCOUNT = { buffercount | @buffercount_variable }
| MAXTRANSFERSIZE = { maxtransfersize | @maxtransfersize_variable }
--Error Management Options
| { CHECKSUM | NO_CHECKSUM }
| { STOP_ON_ERROR | CONTINUE_AFTER_ERROR }
--Monitoring Options
| STATS [ = percentage ]
--Tape Options.
| { REWIND | NOREWIND }
| { UNLOAD | NOUNLOAD }
<replication_WITH_option>::=
| KEEP_REPLICATION
<change_data_capture_WITH_option>::=
| KEEP_CDC
<FILESTREAM_WITH_option>::=
| FILESTREAM ( DIRECTORY_NAME = directory_name )
<service_broker_WITH_options>::=
| ENABLE_BROKER
| ERROR_BROKER_CONVERSATIONS
| NEW_BROKER
<point_in_time_WITH_options-RESTORE_DATABASE>::=
| {
STOPAT = { 'datetime'| @datetime_var }
| STOPATMARK = 'lsn:lsn_number'
[ AFTER 'datetime']
| STOPBEFOREMARK = 'lsn:lsn_number'
[ AFTER 'datetime']
}
<point_in_time_WITH_options-RESTORE_LOG>::=
| {
STOPAT = { 'datetime'| @datetime_var }
| STOPATMARK = { 'mark_name' | 'lsn:lsn_number' }
[ AFTER 'datetime']
| STOPBEFOREMARK = { 'mark_name' | 'lsn:lsn_number' }
[ AFTER 'datetime']
}
Arguments
Az argumentumok leírását a RESTORE argumentumok című témakörben találhatja meg.
Tudnivalók a visszaállítási forgatókönyvekről
Az SQL Server számos visszaállítási forgatókönyvet támogat:
Adatbázis-visszaállítás befejezése
Visszaállítja a teljes adatbázist, kezdve a teljes adatbázis biztonsági mentésével, amelyet a különbségi adatbázis biztonsági mentésének (és a naplók biztonsági mentésének) visszaállítása követhet. További információ: Teljes adatbázis-visszaállítás – Egyszerű helyreállítási modell vagy Teljes adatbázis-visszaállítás – Teljes helyreállítási modell.
Fájl visszaállítása
Több fájlcsoportos adatbázisban lévő fájl vagy fájlcsoport visszaállítása. Az egyszerű helyreállítási modellben a fájlnak írásvédett fájlcsoporthoz kell tartoznia. A teljes fájl-visszaállítás után a különbségfájl biztonsági mentése visszaállítható. További információ: Fájl-visszaállítások – Teljes helyreállítási modell és fájl-visszaállítás – Egyszerű helyreállítási modell.
Lap visszaállítása
Visszaállítja az egyes oldalakat. A lap-visszaállítás csak a teljes és tömegesen naplózott helyreállítási modellek alatt érhető el. További információ: Oldalak visszaállítása – SQL Server.
Darabos visszaállítás
Az adatbázist szakaszokban állítja vissza, kezdve az elsődleges fájlcsoporttal és egy vagy több másodlagos fájlcsoporttal. A darabos visszaállítás a RÉSZLEGES beállítással egy VISSZAÁLLÍTÁSI ADATBÁZISsal kezdődik, és megad egy vagy több visszaállítandó másodlagos fájlcsoportot. További információ: Darabos visszaállítások – SQL Server.
Csak helyreállítás
Helyreállítja az adatbázissal már konzisztens adatokat, és csak elérhetővé kell tenni. További információ: Adatbázis helyreállítása adatok visszaállítása nélkül.
Tranzakciónapló visszaállítása.
A teljes vagy tömegesen naplózott helyreállítási modellben a napló biztonsági másolatainak visszaállítása szükséges a kívánt helyreállítási pont eléréséhez. A napló biztonsági mentéseinek visszaállításáról további információt a Tranzakciónapló biztonsági mentéseinek alkalmazása – SQL Server című témakörben talál.
Rendelkezésre állási adatbázis előkészítése Always On rendelkezésre állási csoporthoz
További információ: Másodlagos adatbázis manuális előkészítése rendelkezésre állási csoporthoz – SQL Server.
Tükrözött adatbázis előkészítése adatbázis-tükrözéshez
További információ: Tüköradatbázis előkészítése tükrözéshez – SQL Server.
Online visszaállítás
Megjegyzés:
Az online visszaállítás csak az SQL Server Enterprise kiadásában engedélyezett.
Ha az online visszaállítás támogatott, ha az adatbázis online állapotban van, a fájl-visszaállítások és a lap-visszaállítások automatikusan online visszaállítást, valamint a másodlagos fájlcsoport visszaállítását is elvégzik a darabos visszaállítás kezdeti szakasza után.
Megjegyzés:
Az online visszaállítások késleltetett tranzakciókat is magukban foglalhatnak.
További információ: Online visszaállítás.
További szempontok a VISSZAÁLLÍTÁSi beállításokról
Megszűnt visszaállítási kulcsszavak
Az SQL Server 2008(10.0.x) a következő kulcsszavakat szüntette meg:
| Megszűnt kulcsszó | Helyére... | Példa csere kulcsszóra |
|---|---|---|
| RAKOMÁNY | RESTORE | RESTORE DATABASE |
| TRANZAKCIÓ | LOGFÁJL | RESTORE LOG |
| DBO_ONLY | RESTRICTED_USER | RESTORE DATABASE ... WITH RESTRICTED_USER |
VISSZAÁLLÍTÁSI NAPLÓ
A VISSZAÁLLÍTÁSI NAPLÓ tartalmazhat egy fájllistát, amely lehetővé teszi a fájlok létrehozását a rollforward során. Ezt akkor használja a rendszer, ha a napló biztonsági mentése olyan naplórekordokat tartalmaz, amelyek akkor íródtak, amikor egy fájlt hozzáadtak az adatbázishoz.
Megjegyzés:
A teljes vagy tömegesen naplózott helyreállítási modellt használó adatbázisok esetében a legtöbb esetben biztonsági másolatot kell készítenie a napló farkáról az adatbázis visszaállítása előtt. Ha egy adatbázist a napló farkának első biztonsági mentése nélkül állít vissza, hiba lép fel, kivéve, ha a RESTORE DATABASE utasítás tartalmazza a WITH REPLACE vagy a WITH STOPAT záradékot, amelynek meg kell adnia egy időpontot vagy tranzakciót, amely az adatmentés befejezése után következett be. További információ a tail-log biztonsági mentésekről: Tail-Log Biztonsági másolatok.
A RECOVERY és a NORECOVERY összehasonlítása
A visszaállítást a RESTORE utasítás szabályozza a [ RECOVERY | NORECOVERY ] beállítások:
A NORECOVERY azt határozza meg, hogy a visszaállítás nem történik meg. Ez lehetővé teszi, hogy a rollforward folytassa a következő utasítást a sorozatban.
Ebben az esetben a visszaállítási sorrend visszaállítja a többi biztonsági mentést, és előregörgeti őket.
A RECOVERY (alapértelmezett) azt jelzi, hogy a visszaállítást az aktuális biztonsági mentéshez végzett rollforward után kell végrehajtani. További biztonsági másolatok nem állíthatók vissza. Válassza ezt a lehetőséget, miután visszaállította az összes szükséges biztonsági mentést.
Az adatbázis helyreállításához a teljes visszaállítandó adatkészlet (a rollforward-készlet) összhangban kell lennie az adatbázissal. Ha a rollforward-készlet nem lett eléggé előregördülve ahhoz, hogy konzisztens legyen az adatbázissal, és a RECOVERY meg van adva, az adatbázismotor hibát okoz. A helyreállítási folyamatról további információt a Visszaállítás és helyreállítás áttekintése (SQL Server) című témakörben talál.
Kompatibilitási támogatás
Az mastermodel SQL Server egy korábbi verziójával létrehozott biztonsági msdb másolatokat az SQL Server nem tudja visszaállítani.
Megjegyzés:
Az SQL Server biztonsági mentése nem állítható vissza az SQL Server egy korábbi verziójára, mint az a verzió, amelyen a biztonsági mentést létrehozták.
Az SQL Server minden verziója eltérő alapértelmezett elérési utat használ, mint a korábbi verziók. Ezért a korábbi verziós biztonsági másolatok alapértelmezett helyén létrehozott adatbázis visszaállításához a MOVE lehetőséget kell használnia. Az új alapértelmezett elérési útról további információt az SQL Server alapértelmezett és elnevezett példányainak fájlhelyei című témakörben talál.
Miután visszaállított egy korábbi verziójú adatbázist az SQL Serverre, a rendszer automatikusan frissíti az adatbázist. Az adatbázis általában azonnal elérhetővé válik. Ha azonban egy SQL Server 2005(9.x) adatbázis teljes szöveges indexekkel rendelkezik, a frissítési folyamat importálja, alaphelyzetbe állítja vagy újraépíti őket a upgrade_option kiszolgálótulajdonság beállításától függően. Ha a frissítési beállítás importálásra (upgrade_option = 2) vagy újraépítésre (upgrade_option = 0) van beállítva, a teljes szöveges indexek nem lesznek elérhetők a frissítés során. Az indexelt adatok mennyiségétől függően az importálás több órát is igénybe vehet, az újraépítés pedig akár tízszer hosszabb időt is igénybe vehet. Azt is vegye figyelembe, hogy ha a frissítési beállítás importálásra van állítva, a társított teljes szöveges indexek újraépülnek, ha egy teljes szöveges katalógus nem érhető el. A upgrade_option kiszolgálótulajdonság beállításának módosításához használja a sp_fulltext_service.
Amikor egy adatbázist először csatolnak vagy visszaállítanak egy új SQL Server-példányra, a rendszer még nem tárolja a kiszolgálón az adatbázis főkulcsának egy példányát (amelyet a szolgáltatás főkulcsa titkosít). Az adatbázis főkulcsának (DMK) visszafejtéséhez az OPEN MASTER KEY utasítást kell használnia. A DMK visszafejtése után a jövőben engedélyezheti az automatikus visszafejtést az ALTER MASTER KEY REGENERATE utasítással a kiszolgáló üzembe helyezéséhez a szolgáltatás főkulcsával (SMK) titkosított DMK másolatával. Ha egy adatbázist frissítettek egy korábbi verzióról, a DMK-t újra létre kell hozni az újabb AES-algoritmus használatához. A DMK újragenerálásával kapcsolatos további információkért lásd: ALTER MASTER KEY. A DMK-kulcs AES-re való frissítéséhez szükséges idő a DMK által védett objektumok számától függ. A DMK-kulcs újragenerálása az AES-re való frissítéshez csak egyszer szükséges, és nincs hatással a jövőbeli regenerációkra a kulcsforgatási stratégia részeként.
Megjegyzések
Offline visszaállítás esetén, ha a megadott adatbázis használatban van, a RESTORE rövid késleltetés után kikapcsolja a felhasználókat. Nem elsődleges fájlcsoport online visszaállítása esetén az adatbázis használatban maradhat, kivéve, ha a visszaállított fájlcsoport offline állapotba kerül. A megadott adatbázisban lévő adatokat a visszaállított adatok váltják fel.
A platformfüggetlen visszaállítási műveletek a különböző processzortípusok között is elvégezhetők, amíg az operációs rendszer támogatja az adatbázis rendszerezését.
A RESTORE hiba után újraindulhat. Emellett utasíthatja a RESTORE-t, hogy a hibák ellenére is folytassa, és a lehető legtöbb adatot állítsa vissza (lásd a CONTINUE_AFTER_ERROR lehetőséget).
A RESTORE nem engedélyezett explicit vagy implicit tranzakcióban.
A sérült master adatbázis visszaállítása speciális eljárással történik. További információ: Rendszeradatbázisok biztonsági mentése és visszaállítása.
Az adatbázis visszaállítása törli a visszaállítandó adatbázis tervgyorsítótárát. A tervgyorsítótár törlése az összes későbbi végrehajtási terv újrafordítását okozza, és a lekérdezési teljesítmény hirtelen, átmeneti csökkenését okozhatja.
Rendelkezésre állási adatbázis visszaállításához először állítsa vissza az adatbázist az SQL Server példányára, majd adja hozzá az adatbázist a rendelkezésre állási csoporthoz.
Integrált gyorsítás és kiszervezés a biztonsági mentés tömörítéséhez és tömörítéséhez
Az SQL Server 2022 (16.x) bemutatja ALGORITHMa művelet tömörítési algoritmusát. További információ: Backup COMPRESSION.
További információ: Visszaállítási műveletek
Visszaállítás URL-címről
Az URL-cím a Microsoft Azure Blob Storage vagy az S3-kompatibilis objektumtároló helyének és fájlnevének megadására használt formátum. Bár az Azure Blob Storage szolgáltatás, az implementáció a lemezhez és a szalaghoz hasonló, így egységes és zökkenőmentes visszaállítási élményt biztosít minden eszköz számára.
A Microsoft Azure Blob Storage-ból való visszaállításról további információt az SQL Server Biztonsági mentés és visszaállítás a Microsoft Azure Blob Storage használatával című témakörben talál.
Az SQL Server 2022 -ben (16.x) bevezették a biztonsági mentést és az S3-kompatibilis objektumtárolóra való visszaállítást. További információ az S3-kompatibilis objektumtárolóból való visszaállításról: SQL Server biztonsági mentés és visszaállítás S3-kompatibilis objektumtárolóval. Tekintse át az SQL Server S3-kompatibilis objektumtároló URL-címére történő biztonsági mentésének lehetőségét is.
Interoperability
Adatbázis-beállítások és visszaállítás
A visszaállítás során az ALTER DATABASE használatával beállítható adatbázis-beállítások többsége a biztonsági mentés végén érvényes értékekre lesz visszaállítva.
A WITH RESTRICTED_USER beállítás használata azonban felülírja ezt a viselkedést a felhasználói hozzáférési beállításnál. Ez a beállítás mindig a RESTORE utasítást követve van beállítva, amely tartalmazza a WITH RESTRICTED_USER beállítást.
Titkosított adatbázis visszaállítása
Titkosított adatbázis visszaállításához hozzá kell férnie az adatbázis titkosításához használt tanúsítványhoz vagy aszimmetrikus kulcshoz. A tanúsítvány vagy az aszimmetrikus kulcs nélkül az adatbázis nem állítható vissza. Ennek eredményeképpen az adatbázis titkosítási kulcsának titkosításához használt tanúsítványt meg kell őrizni, amíg a biztonsági mentésre szükség van. További információ: SQL Server-tanúsítványok és aszimmetrikus kulcsok.
A vardecimális tároláshoz engedélyezett adatbázis visszaállítása
A biztonsági mentés és a visszaállítás megfelelően működik a vardecimális tárolási formátummal. A vardecimális tárolási formátumról további információt a sp_db_vardecimal_storage_format talál.
Teljes szöveges adatok visszaállítása
A teljes szöveges adatok a teljes visszaállítás során más adatbázisadatokkal együtt lesznek visszaállítva. A normál RESTORE DATABASE database_name FROM backup_device szintaxis használatával a teljes szövegű fájlok az adatbázisfájl visszaállításának részeként lesznek visszaállítva.
A RESTORE utasítás arra is használható, hogy visszaállítsa a másodlagos helyeket, a különbségi visszaállításokat, a fájl- és fájlcsoport-visszaállításokat, valamint a teljes szöveges adatok különbségi fájl- és fájlcsoport-visszaállítását. Emellett a RESTORE csak a teljes szöveges fájlokat és az adatbázis-adatokat is visszaállíthatja.
Megjegyzés:
Az SQL Server 2005-ből (9.x) importált teljes szöveges katalógusok továbbra is adatbázisfájlokként lesznek kezelve. Ezek esetében a teljes szöveges katalógusok biztonsági mentésére szolgáló SQL Server 2005 (9.x) eljárás továbbra is alkalmazható marad, azzal a kivételével, hogy a biztonsági mentési művelet során történő szüneteltetés és újralépés már nem szükséges. További információt a Full-Text katalógusok biztonsági mentéséről és visszaállításáról talál.
Visszaállítás az SQL Server 2022-be és az automatikus elvetési funkció
Amikor egy adatbázist visszaállít az SQL Server 2022-re (16.x) egy korábbi verzióról, javasoljuk, hogy futtassa sp_updatestats az adatbázist, és állítsa be a statisztikák automatikus elvetési funkciójának megfelelő metaadatait. További információt a statisztika automatikus elvetési lehetőségében talál.
SQL Server Big Data-fürtök
Bizonyos műveletekhez, például a kiszolgálói (példányszintű) beállítások konfigurálásához vagy egy adatbázis rendelkezésre állási csoporthoz való manuális hozzáadásához az SQL Server-példányhoz való csatlakozás szükséges. Az olyan műveletek, mint a sp_configure, RESTORE DATABASEvagy egy rendelkezésre állási csoporthoz tartozó adatbázis bármely DDL-parancsa, az SQL Server-példányhoz való csatlakozást igénylik. Alapértelmezés szerint a big data-fürtök nem tartalmaznak olyan végpontot, amely lehetővé teszi a példányhoz való kapcsolódást. Ezt a végpontot manuálisan kell elérhetővé tennie.
Útmutatásért lásd: Csatlakozás az elsődleges replika adatbázisaihoz.
Metadaták
Az SQL Server biztonsági mentési és visszaállítási előzménytáblákat tartalmaz, amelyek nyomon követik az egyes kiszolgálópéldányok biztonsági mentési és visszaállítási tevékenységeit. A visszaállítás végrehajtásakor a biztonsági mentési előzménytáblák is módosulnak. Ezekről a táblákról további információt a Biztonsági mentési előzmények és fejlécadatok című témakörben talál.
A CSERE lehetőség hatása
A REPLACE-t ritkán és csak alapos megfontolás után szabad használni. A visszaállítás általában megakadályozza, hogy véletlenül felülírjon egy adatbázist egy másik adatbázissal. Ha a RESTORE utasításban megadott adatbázis már létezik az aktuális kiszolgálón, és a megadott adatbáziscsalád GUID-azonosítója eltér a biztonsági mentési csoportban rögzített adatbáziscsalád GUID azonosítójától, az adatbázis nem lesz visszaállítva. Ez egy fontos védelem.
A CSERE beállítás felülbírál számos fontos biztonsági ellenőrzést, amelyek általában a visszaállítást végzik. A felülírt ellenőrzések a következők:
Visszaállítás meglévő adatbázison egy másik adatbázis biztonsági másolatával.
A REPLACE beállítással a visszaállítással felülírhat egy meglévő adatbázist a biztonsági mentési csoportban szereplő bármely adatbázissal, még akkor is, ha a megadott adatbázisnév eltér a biztonsági mentési csoportban rögzített adatbázis nevétől. Ez azt eredményezheti, hogy véletlenül felülír egy adatbázist egy másik adatbázis.
Visszaállítás adatbázison keresztül a teljes vagy tömegesen naplózott helyreállítási modell használatával, ahol nem történt meg a tail-log biztonsági mentése, és a
STOPATbeállítás nem használható.A CSERE beállítással elveszítheti a véglegesített munkát, mert a legutóbb írt naplóról nem készült biztonsági mentés.
Meglévő fájlok felülírása.
Egy hiba például lehetővé teheti a nem megfelelő típusú fájlok felülírását, például .xls fájlokat, vagy amelyeket egy másik, nem online adatbázis használ. Tetszőleges adatvesztés lehetséges, ha a meglévő fájlokat felülírják, bár a visszaállított adatbázis befejeződött.
Visszaállítás ismételt elvégzése
A visszaállítás hatásainak visszavonása nem lehetséges; Az adatmásolás és a rollforward hatásának azonban a fájlonkénti újrakezdés révén tagadható meg. Az újrakezdéshez állítsa vissza a kívánt fájlt, és hajtsa végre újra a rollforward műveletet. Ha például véletlenül túl sok napló biztonsági mentését állította vissza, és túlképezte a kívánt leállítási pontot, újra kell indítania a sorozatot.
A visszaállítási sorozat megszakítható és újraindítható az érintett fájlok teljes tartalmának visszaállításával.
Adatbázis visszaállítása adatbázis-pillanatképre
Az adatbázis-visszaállítási művelet (a DATABASE_SNAPSHOT beállítással megadva) a teljes forrásadatbázist visszaviszi az időben egy adatbázis-pillanatkép idejére, azaz felülírja a forrásadatbázist a megadott adatbázis-pillanatképben fenntartott időpontból származó adatokkal. Jelenleg csak az a pillanatkép létezhet, amelyre visszaáll. A visszaállítási művelet ezután újraépíti a naplót (ezért később nem lehet visszaállítani egy visszaállított adatbázist a felhasználói hiba pontjára).
Az adatvesztés az adatbázis frissítésére korlátozódik a pillanatkép létrehozása óta. A visszaállított adatbázisok metaadatai megegyeznek a pillanatkép létrehozásakor megadott metaadatokkal. A pillanatképre való visszaállítás azonban elveti az összes teljes szöveges katalógust.
Az adatbázis-pillanatképből való visszaállítás nem adathordozó-helyreállításra szolgál. A normál biztonsági mentési csoporttól eltérően az adatbázis-pillanatkép az adatbázisfájlok hiányos másolata. Ha az adatbázis vagy az adatbázis pillanatképe sérült, a pillanatképből való visszaállítás valószínűleg lehetetlen lesz. Továbbá, még ha lehetséges is, a sérülés esetén történő visszaállítás nem valószínű, hogy kijavítja a problémát.
Visszaállítási korlátozások
A visszaállítás a következő feltételek mellett nem támogatott:
- A forrásadatbázis írásvédett vagy tömörített fájlcsoportokat tartalmaz.
- Minden olyan fájl offline állapotban van, amely a pillanatkép létrehozásakor online állapotban volt.
- Jelenleg több pillanatkép is létezik az adatbázisról.
További információ: Adatbázis visszaállítása adatbázis-pillanatképre.
Biztonság
A biztonsági mentési művelet opcionálisan megadhat jelszavakat egy médiakészlethez, egy biztonsági mentési csoporthoz vagy mindkettőhöz. Ha egy médiakészleten vagy biztonsági mentési készleten jelszó van meghatározva, a RESTORE utasításban meg kell adnia a megfelelő jelszót vagy jelszavakat. Ezek a jelszavak megakadályozzák a jogosulatlan visszaállítási műveleteket és a biztonsági mentési csoportok jogosulatlan hozzáfűzését a médiához SQL Server-eszközökkel. A jelszóval védett adathordozók azonban felülírhatók a BACKUP utasítás FORMAT beállításával.
Fontos
A jelszó által biztosított védelem gyenge. Célja, hogy megakadályozza az SQL Server-eszközökkel való helytelen visszaállítást az arra jogosult vagy jogosulatlan felhasználók számára. Ez nem akadályozza meg a biztonsági mentési adatok más módon történő beolvasását vagy a jelszó cseréjét. 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 biztonsági mentések védelmének ajánlott eljárása a biztonsági mentési szalagok biztonságos helyen történő tárolása vagy a megfelelő hozzáférés-vezérlési listákkal (ACL-ekkel) védett lemezfájlok biztonsági mentése. Az ACL-eket azon a címtárgyökeren kell beállítani, amely alatt a biztonsági másolatok létrejönnek.
Az SQL Server Microsoft Azure Blob Storage-beli biztonsági mentésével és visszaállításával kapcsolatos információkért lásd: SQL Server Backup and Restore with Microsoft Azure Blob Storage.
Az SQL Server 2022 -ben (16.x) bevezették a biztonsági mentést és az S3-kompatibilis objektumtárolóra való visszaállítást. További információ az S3-kompatibilis objektumtárolóból való visszaállításról: SQL Server biztonsági mentés és visszaállítás S3-kompatibilis objektumtárolóval. Tekintse át az SQL Server S3-kompatibilis objektumtároló URL-címére történő biztonsági mentésének lehetőségét is.
Permissions
Ha a visszaállított adatbázis nem létezik, a felhasználónak engedéllyel kell rendelkeznie CREATE DATABASE a VISSZAÁLLÍTÁS végrehajtásához. Ha az adatbázis létezik, a VISSZAÁLLÍTÁS engedélyek alapértelmezés szerint az adatbázis és a sysadmindbcreator rögzített kiszolgálói szerepkörök tagjai, valamint az adatbázis tulajdonosa (dbo) számára (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.
Példák
Az összes példa feltételezi, hogy teljes adatbázis-biztonsági mentést hajtottak végre.
A RESTORE példák a következők:
- A. Teljes adatbázis visszaállítása
- B. Teljes és különbözeti adatbázis biztonsági mentésének visszaállítása
- C. Adatbázis visszaállítása ÚJRAINDÍTÁS szintaxissal
- D. Adatbázis visszaállítása és fájlok áthelyezése
- E. Adatbázis másolása a BACKUP és a RESTORE használatával
- F. Időponthoz kötött visszaállítás a STOPAT használatával
- G. A tranzakciónapló visszaállítása egy jelre
- H. Visszaállítás a TAPE szintaxissal
- I. Visszaállítás a FILE és a FILEGROUP szintaxis használatával
- J. Visszaállítás adatbázis-pillanatképből
- K. Visszaállítás a Microsoft Azure Blob Storage-ból
- L. Visszaállítás pillanatkép biztonsági másolatból
Megjegyzés:
További példákért tekintse meg a Visszaállítás és helyreállítás áttekintésében felsorolt visszaállítási útmutatókat.
A. Teljes adatbázis visszaállítása
Az alábbi példa egy teljes adatbázis-biztonsági mentést állít vissza a logikai biztonsági mentési AdventureWorksBackups eszközről. Az eszköz létrehozásának példáját a Biztonsági mentési eszközök című témakörben talál.
RESTORE DATABASE AdventureWorks2022
FROM AdventureWorks2022Backups;
Megjegyzés:
A teljes vagy tömegesen naplózott helyreállítási modellt használó adatbázisok esetében az SQL Server a legtöbb esetben megköveteli, hogy az adatbázis visszaállítása előtt biztonsági másolatot készítsön a napló farkáról. További információ: Tail-Log biztonsági másolatok.
B. Teljes és különbözeti adatbázis biztonsági mentésének visszaállítása
Az alábbi példa egy teljes adatbázis biztonsági mentését állítja vissza, majd egy különbségi biztonsági mentést a Z:\SQLServerBackups\AdventureWorks2022.bak biztonsági mentési eszközről, amely mindkét biztonsági mentést tartalmazza. A visszaállítandó teljes adatbázis biztonsági mentése az eszközön (FILE = 6) a hatodik biztonsági mentési készlet, a különbségi adatbázis biztonsági mentése pedig az eszközön (FILE = 9) a kilencedik biztonsági mentési készlet. A különbségi biztonsági mentés helyreállítása után az adatbázis helyreáll.
RESTORE DATABASE AdventureWorks2022
FROM DISK = 'Z:\SQLServerBackups\AdventureWorks2022.bak'
WITH FILE = 6,
NORECOVERY;
RESTORE DATABASE AdventureWorks2022
FROM DISK = 'Z:\SQLServerBackups\AdventureWorks2022.bak'
WITH FILE = 9,
RECOVERY;
C. Adatbázis visszaállítása ÚJRAINDÍTÁS szintaxissal
Az alábbi példa egy RESTART kiszolgálói áramkimaradás által megszakított művelet újraindítására RESTORE szolgál.
-- This database RESTORE halted prematurely due to power failure.
RESTORE DATABASE AdventureWorks2022
FROM AdventureWorksBackups;
-- Here is the RESTORE RESTART operation.
RESTORE DATABASE AdventureWorks2022
FROM AdventureWorksBackups WITH RESTART;
D. Adatbázis visszaállítása és fájlok áthelyezése
Az alábbi példa egy teljes adatbázist és tranzakciónaplót állít vissza, és áthelyezi a visszaállított adatbázist a C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Data könyvtárba.
RESTORE DATABASE AdventureWorks2022
FROM AdventureWorksBackups
WITH NORECOVERY,
MOVE 'AdventureWorks2022_Data' TO
'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Data\NewAdvWorks.mdf',
MOVE 'AdventureWorks2022_Log'
TO 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Data\NewAdvWorks.ldf';
RESTORE LOG AdventureWorks2022
FROM AdventureWorksBackups
WITH RECOVERY;
E. Adatbázis másolása a BACKUP és a RESTORE használatával
Az alábbi példa az adatbázis másolatának készítéséhez használja az BACKUP utasításokat és RESTORE az AdventureWorks2025 utasításokat is. Az MOVE utasítás hatására az adatok és naplófájlok a megadott helyekre lesznek visszaállítva. Az RESTORE FILELISTONLY utasítás a visszaállítandó adatbázisban lévő fájlok számának és nevének meghatározására szolgál. Az adatbázis új példányának neve TestDB. További információ: RESTORE FILELISTONLY.
BACKUP DATABASE AdventureWorks2022
TO AdventureWorksBackups ;
RESTORE FILELISTONLY
FROM AdventureWorksBackups ;
RESTORE DATABASE TestDB
FROM AdventureWorksBackups
WITH MOVE 'AdventureWorks2022_Data' TO 'C:\MySQLServer\testdb.mdf',
MOVE 'AdventureWorks2022_Log' TO 'C:\MySQLServer\testdb.ldf';
GO
F. Időponthoz kötött visszaállítás a STOPAT használatával
Az alábbi példa egy adatbázis állapotát állítja vissza, 12:00 AM és egy olyan visszaállítási April 15, 2020 műveletet mutat be, amely több napló biztonsági mentését is magában foglalja. A biztonsági mentési eszközön AdventureWorksBackupsa visszaállítandó teljes adatbázis biztonsági mentése az eszközön a harmadik biztonsági mentési készlet (FILE = 3), az első napló biztonsági mentése a negyedik biztonsági mentési csoport (FILE = 4), a második pedig az ötödik biztonsági mentési csoport (FILE = 5).
RESTORE DATABASE AdventureWorks2022
FROM AdventureWorksBackups
WITH FILE = 3, NORECOVERY;
RESTORE LOG AdventureWorks2022
FROM AdventureWorksBackups
WITH FILE = 4, NORECOVERY, STOPAT = 'Apr 15, 2020 12:00 AM';
RESTORE LOG AdventureWorks2022
FROM AdventureWorksBackups
WITH FILE = 5, NORECOVERY, STOPAT = 'Apr 15, 2020 12:00 AM';
RESTORE DATABASE AdventureWorks2022 WITH RECOVERY;
G. A tranzakciónapló visszaállítása egy jelre
Az alábbi példa visszaállítja a tranzakciónaplót a megjelölt tranzakcióban ListPriceUpdateszereplő jelre.
USE AdventureWorks2022;
GO
BEGIN TRANSACTION ListPriceUpdate
WITH MARK 'UPDATE Product list prices';
GO
UPDATE Production.Product
SET ListPrice = ListPrice * 1.10
WHERE ProductNumber LIKE 'BK-%';
GO
COMMIT TRANSACTION ListPriceUpdate;
GO
-- Time passes. Regular database
-- and log backups are taken.
-- An error occurs in the database.
USE master;
GO
RESTORE DATABASE AdventureWorks2022
FROM AdventureWorksBackups
WITH FILE = 3, NORECOVERY;
GO
RESTORE LOG AdventureWorks2022
FROM AdventureWorksBackups
WITH FILE = 4,
RECOVERY,
STOPATMARK = 'UPDATE Product list prices';
H. Visszaállítás TAPE szintaxissal
Az alábbi példa egy teljes adatbázis biztonsági mentését állítja vissza egy biztonsági mentési TAPE eszközről.
RESTORE DATABASE AdventureWorks2022
FROM TAPE = '\\.\tape0';
I. Visszaállítás a FILE és a FILEGROUP szintaxissal
Az alábbi példa egy két fájllal, egy másodlagos fájlcsoporttal és egy tranzakciónaplóval rendelkező MyDatabase adatbázist állít vissza. Az adatbázis a teljes helyreállítási modellt használja.
Az adatbázis biztonsági mentése a kilencedik biztonsági mentési csoport a médiakészletben egy logikai biztonsági mentési eszköz neve.MyDatabaseBackups Ezután három naplóbeli biztonsági mentés lesz visszaállítva az eszközön a következő három biztonsági mentési készletben (1011és 12) a MyDatabaseBackups használatávalWITH NORECOVERY. Az utolsó napló biztonsági mentésének visszaállítása NORECOVERYután az adatbázis helyreáll.
Megjegyzés:
A helyreállítás külön lépésként történik, hogy csökkentse a túl korai helyreállítás lehetőségét, mielőtt az összes napló biztonsági mentése visszaállítva lett volna. A helyreállítási folyamatról további információt a Visszaállítás és helyreállítás áttekintése (SQL Server) című témakörben talál.
RESTORE DATABASEFigyelje meg, hogy kétféle FILE lehetőség létezik. A FILE biztonsági mentési eszköz nevét megelőző beállítások megadják a biztonsági mentési készletből visszaállítandó adatbázisfájlok logikai fájlneveit, FILE = 'MyDatabase_data_1'például. Ez a biztonsági mentési csoport nem az első adatbázis biztonsági mentése a médiakészletben; ezért a médiakészletben elfoglalt pozícióját a záradékban található FILE lehetőséggel WITH jelezzük. FILE = 9
RESTORE DATABASE MyDatabase
FILE = 'MyDatabase_data_1',
FILE = 'MyDatabase_data_2',
FILEGROUP = 'new_customers'
FROM MyDatabaseBackups
WITH
FILE = 9,
NORECOVERY;
GO
-- Restore the log backups
RESTORE LOG MyDatabase
FROM MyDatabaseBackups
WITH FILE = 10,
NORECOVERY;
GO
RESTORE LOG MyDatabase
FROM MyDatabaseBackups
WITH FILE = 11,
NORECOVERY;
GO
RESTORE LOG MyDatabase
FROM MyDatabaseBackups
WITH FILE = 12,
NORECOVERY;
GO
--Recover the database
RESTORE DATABASE MyDatabase WITH RECOVERY;
GO
J. Visszaállítás adatbázis-pillanatképből
Az alábbi példa egy adatbázis pillanatképét adja vissza. A példa feltételezi, hogy jelenleg csak egy pillanatkép létezik az adatbázisban. Az adatbázis pillanatképének létrehozására példa: Adatbázis-pillanatkép létrehozása.
Megjegyzés:
A pillanatképre való visszaállítás elveti az összes teljes szöveges katalógust.
USE master;
RESTORE DATABASE AdventureWorks2022 FROM DATABASE_SNAPSHOT = 'AdventureWorks_dbss1800';
GO
További információ: Adatbázis visszaállítása adatbázis-pillanatképre.
K. Visszaállítás a Microsoft Azure Blob Storage-ból
Az alábbi három példa a Microsoft Azure Storage szolgáltatás használatát foglalja magában. A tárfiók neve mystorageaccount. Az adatfájlok tárolójának neve myfirstcontainer. A biztonsági mentési fájlok tárolójának neve mysecondcontainer. Egy tárolt hozzáférési szabályzat lett létrehozva az egyes tárolók olvasási, írási, törlési és listázási jogosultságaival. Az SQL Server hitelesítő adatai a tárolt hozzáférési szabályzatokhoz társított közös hozzáférésű jogosultságkódok használatával lettek létrehozva. Az SQL Server Microsoft Azure Blob Storage-beli biztonsági mentésével és visszaállításával kapcsolatos információkért lásd: SQL Server Backup and Restore with Microsoft Azure Blob Storage.
K1. Teljes adatbázis biztonsági mentésének visszaállítása a Microsoft Azure Storage szolgáltatásból
A rendszer visszaállítja mysecondcontainera teljes adatbázis biztonsági mentésétSales, amely a következő helyen myfirstcontainertalálható: .
Sales jelenleg nem létezik a kiszolgálón.
RESTORE DATABASE Sales
FROM URL = 'https://mystorageaccount.blob.core.windows.net/mysecondcontainer/Sales.bak'
WITH MOVE 'Sales_Data1' to 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/Sales_Data1.mdf',
MOVE 'Sales_log' to 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/Sales_log.ldf',
STATS = 10;
K2. Teljes adatbázis biztonsági mentésének visszaállítása a Microsoft Azure Storage szolgáltatásból a helyi tárolóba
A teljes adatbázis biztonsági mentése, amely a következő helyen mysecondcontainertalálható, Sales a helyi tárolóba lesz visszaállítva.
Sales jelenleg nem létezik a kiszolgálón.
RESTORE DATABASE Sales
FROM URL = 'https://mystorageaccount.blob.core.windows.net/mysecondcontainer/Sales.bak'
WITH MOVE 'Sales_Data1' to 'H:\DATA\Sales_Data1.mdf',
MOVE 'Sales_log' to 'O:\LOG\Sales_log.ldf',
STATS = 10;
K3. Teljes adatbázis biztonsági mentésének visszaállítása a helyi tárolóból a Microsoft Azure Storage szolgáltatásba
RESTORE DATABASE Sales
FROM DISK = 'E:\BAK\Sales.bak'
WITH MOVE 'Sales_Data1' to 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/Sales_Data1.mdf',
MOVE 'Sales_log' to 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/Sales_log.ldf',
STATS = 10;
L. Visszaállítás pillanatkép biztonsági másolatból
Bevezetés az SQL Server 2022-ben (16.x). További információ: Transact-SQL pillanatkép biztonsági mentése.
L1. Teljes biztonsági mentés visszaállítása
RESTORE DATABASE Sales
FROM DISK = 'D:\MSSQL\Backup\SalesSnapshotFull.bkm'
WITH METADATA_ONLY;
L2. Biztonsági mentés visszaállítása és tranzakciónapló alkalmazása
RESTORE DATABASE Sales
FROM DISK = 'D:\MSSQL\Backup\SalesSnapshotFull.bkm'
WITH METADATA_ONLY,
NORECOVERY;
RESTORE LOG Sales
FROM DISK = 'D:\MSSQL\Backup\SalesLog.trn'
WITH RECOVERY;
L3. Visszaállítás pillanatkép-biztonsági mentésből, adatbázis- és naplófájlok elhelyezése új helyre
RESTORE DATABASE Sales
FROM DISK = 'D:\MSSQL\Backup\SalesSnapshotFull.bkm'
WITH METADATA_ONLY,
MOVE Sales_Data TO 'D:\MSSQL\Sales.mdf',
MOVE Sales_Log TO 'D:\MSSQL\Sales_log.ldf';
Következő lépések
- Visszaállítás és helyreállítás – áttekintés (SQL Server)
- SQL Server-adatbázisok biztonsági mentése és visszaállítása
- Rendszeradatbázisok biztonsági mentése és visszaállítása (SQL Server)
- Adatbázis biztonsági mentésének visszaállítása SSMS használatával
- Full-Text katalógusok és indexek biztonsági mentése és visszaállítása
- Replikált adatbázisok biztonsági mentése és visszaállítása
- BIZTONSÁGI MENTÉS
- Médiakészletek, médiacsaládok és biztonsági mentési csoportok
- VISSZAÁLLÍTÁS VISSZATEKERÉS
- VISSZAÁLLÍTÁS ELLENŐRZÉSE
- FILELISTONLY VISSZAÁLLÍTÁSA (Transact-SQL)
- HEADERONLY VISSZAÁLLÍTÁSA (Transact-SQL)
- Biztonsági mentési előzmények és fejlécadatok
* felügyelt SQL-példány *
Azure SQL Managed Instance
Ez a parancs lehetővé teszi egy teljes adatbázis visszaállítását teljes adatbázis-biztonsági mentésből (teljes visszaállítás) az Azure Blob Storage-fiókból.
További támogatott RESTORE parancsok:
- FILELISTONLY VISSZAÁLLÍTÁSA (Transact-SQL)
- HEADERONLY VISSZAÁLLÍTÁSA (Transact-SQL)
- CSAK FELIRATOS VISSZAÁLLÍTÁS (Transact-SQL)
- VISSZAÁLLÍTÁS ELLENŐRZÉSE (Transact-SQL)
Fontos
Ha az SQL Managed Instance automatikus biztonsági mentéséről szeretne visszaállítani, tekintse meg az SQL Database-visszaállítást.
Szemantika
--To Restore an Entire Database from a Full database backup (a Complete Restore):
RESTORE DATABASE { database_name | @database_name_var }
FROM URL = { 'physical_device_name' | @physical_device_name_var } [ ,...n ]
[;]
Arguments
DATABASE
Megadja a céladatbázist.
FELADÓ URL-CÍME
A visszaállítási művelethez használni kívánt URL-címeken elhelyezett egy vagy több biztonsági mentési eszközt határoz meg. Az URL-formátum a Microsoft Azure Storage szolgáltatásból származó biztonsági másolatok visszaállítására szolgál.
Fontos
Ahhoz, hogy több eszközről is vissza lehessen állítani az URL-címről való visszaállítást, közös hozzáférésű jogosultságkód (SAS) jogkivonatokat kell használnia. A megosztott hozzáférésű jogosultságkódok létrehozásával kapcsolatos példákért tekintse meg az SQL Server URL-címre történő biztonsági mentését és az SQL-hitelesítő adatok közös hozzáférésű jogosultságkód (SAS) jogkivonatokkal való létrehozását az Azure Storage-ban a PowerShell-lel.
n Egy helyőrző, amely azt jelzi, hogy legfeljebb 64 biztonsági mentési eszköz adható meg vesszővel elválasztott listában.
Megjegyzések
Előfeltételként létre kell hoznia egy hitelesítő adatot a blob storage-fiók URL-címének megfelelő névvel és a titkosként elhelyezett közös hozzáférésű jogosultságkóddal. A RESTORE parancs megkeresi a hitelesítő adatokat a blobtároló URL-címével a biztonsági mentési eszköz olvasásához szükséges információk megkereséséhez.
A RESTORE művelet aszinkron – a visszaállítás akkor is folytatódik, ha az ügyfélkapcsolat megszakad. Ha megszakad a kapcsolat, ellenőrizheti sys.dm_operation_status visszaállítási művelet állapotát (valamint a CREATE és DROP adatbázist).
A következő adatbázis-beállítások vannak beállítva/felülbíráltak, és később nem módosíthatók:
- NEW_BROKER (ha a közvetítő nincs engedélyezve .bak fájlban)
- ENABLE_BROKER (ha a közvetítő nincs engedélyezve .bak fájlban)
- AUTO_CLOSE=KI (ha egy adatbázis .bak fájlban AUTO_CLOSE=BE)
- RECOVERY FULL (ha egy .bak fájlban lévő adatbázis egyszerű vagy BULK_LOGGED helyreállítási modellel rendelkezik)
- A rendszer hozzáadja a memóriaoptimalizált fájlcsoportot, és XTP-nek hívja, ha nem a forrásfájlban .bak. Minden meglévő memóriaoptimalizált fájlcsoport átnevezése XTP-re
- SINGLE_USER és RESTRICTED_USER beállítások MULTI_USER
Korlátozások – felügyelt SQL-példány
Ezek a korlátozások a következőkre vonatkoznak:
- . A több biztonsági mentési csoportot tartalmazó BAK-fájlok nem állíthatók vissza.
- . A több naplófájlt tartalmazó BAK-fájlok nem állíthatók vissza.
- A visszaállítás sikertelen lesz, ha .bak FILESTREAM-adatokat tartalmaz.
- Az aktív memóriabeli objektumokkal rendelkező adatbázisokat tartalmazó biztonsági másolatok nem állíthatók vissza általános célú teljesítményszintre.
- Az adatbázisokat írásvédett módban tartalmazó biztonsági másolatok jelenleg nem állíthatók vissza.
További információ: Felügyelt Azure SQL-példány
Titkosított adatbázis visszaállítása
Titkosított adatbázis visszaállításához hozzá kell férnie az adatbázis titkosításához használt tanúsítványhoz vagy aszimmetrikus kulcshoz. A tanúsítvány vagy az aszimmetrikus kulcs nélkül az adatbázis nem állítható vissza. Ennek eredményeképpen az adatbázis titkosítási kulcsának titkosításához használt tanúsítványt meg kell őrizni, amíg a biztonsági mentésre szükség van. További információ: SQL Server-tanúsítványok és aszimmetrikus kulcsok.
Permissions
A felhasználónak rendelkeznie CREATE DATABASE kell engedélyekkel a VISSZAÁLLÍTÁS végrehajtásához.
CREATE LOGIN mylogin WITH PASSWORD = 'Very Strong Pwd123!';
GRANT CREATE ANY DATABASE TO [mylogin];
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.
Példák
Az alábbi példák csak másolati adatbázis-biztonsági mentést állíthatnak vissza AZ URL-címről, beleértve a hitelesítő adatok létrehozását is.
A. Adatbázis visszaállítása négy biztonsági mentési eszközről
-- Create credential
CREATE CREDENTIAL [https://mybackups.blob.core.windows.net/wide-world-importers]
WITH IDENTITY = 'SHARED ACCESS SIGNATURE',
SECRET = 'sv=2017-11-09&ss=bq&srt=sco&sp=rl&se=2022-06-19T22:41:07Z&st=2018-06-01T14:41:07Z&spr=https&sig=s7wddcf0w%3D';
GO
-- Restore database
RESTORE DATABASE WideWorldImportersStandard
FROM URL = N'https://mybackups.blob.core.windows.net/wide-world-importers/00-WideWorldImporters-Standard.bak',
URL = N'https://mybackups.blob.core.windows.net/wide-world-importers/01-WideWorldImporters-Standard.bak',
URL = N'https://mybackups.blob.core.windows.net/wide-world-importers/02-WideWorldImporters-Standard.bak',
URL = N'https://mybackups.blob.core.windows.net/wide-world-importers/03-WideWorldImporters-Standard.bak'
Az alábbi hiba jelenik meg, ha az adatbázis már létezik: Msg 1801, Level 16, State 1, Line 9 Database 'WideWorldImportersStandard' already exists. Choose a different database name.
B. Változóval megadott adatbázis visszaállítása
DECLARE @db_name sysname = 'WideWorldImportersStandard';
DECLARE @url nvarchar(400) = N'https://mybackups.blob.core.windows.net/wide-world-importers/WideWorldImporters-Standard.bak';
RESTORE DATABASE @db_name
FROM URL = @url
C. A visszaállítási utasítás előrehaladásának nyomon követése
SELECT query = a.text, start_time, percent_complete,
eta = dateadd(second,estimated_completion_time/1000, getdate())
FROM sys.dm_exec_requests r
CROSS APPLY sys.dm_exec_sql_text(r.sql_handle) a
WHERE r.command = 'RESTORE DATABASE'
Megjegyzés:
Ez a nézet valószínűleg két visszaállítási kérést jelenít meg. Az egyik az ügyfél által küldött eredeti RESTORE utasítás, a másik pedig a háttérben futó RESTORE utasítás, amely akkor is végrehajtja, ha az ügyfélkapcsolat meghiúsul.
* Elemzés
Platformrendszer (PDW) *
Elemzési platformrendszer
Visszaállít egy Analytics Platform System (PDW) felhasználói adatbázist egy adatbázis biztonsági mentéséből egy Analytics Platform System (PDW) berendezésre. Az adatbázis egy olyan biztonsági másolatból áll vissza, amelyet korábban az Analytics Platform System (PDW) BACKUP DATABASE – Analytics Platform System parancs hozott létre. A biztonsági mentési és visszaállítási műveletekkel vészhelyreállítási tervet hozhat létre, vagy adatbázisokat helyezhet át egyik berendezésről a másikra.
Megjegyzés:
A rendszeradatbázis visszaállítása magában foglalja a master berendezés bejelentkezési adatainak visszaállítását is. Az master adatbázis visszaállításához használja a Master Database visszaállítása lapot a Configuration Manager eszközben. Ezt a műveletet a Vezérlő csomóponthoz hozzáféréssel rendelkező rendszergazda hajthatja végre. Az Analytics Platform System (PDW) adatbázis biztonsági mentéseiről további információt a Analytics Platform System (PDW) termékdokumentációjábana "Biztonsági mentés és visszaállítás" című témakörben talál.
Szemantika
-- Restore the master database
-- Use the Configuration Manager tool.
Restore a full user database backup.
RESTORE DATABASE database_name
FROM DISK = '\\UNC_path\full_backup_directory'
[;]
--Restore a full user database backup and then a differential backup.
RESTORE DATABASE database_name
FROM DISK = '\\UNC_path\differential_backup_directory'
WITH [ ( ] BASE = '\\UNC_path\full_backup_directory' [ ) ]
[;]
--Restore header information for a full or differential user database backup.
RESTORE HEADERONLY
FROM DISK = '\\UNC_path\backup_directory'
[;]
Arguments
ADATBÁZIS-database_name VISSZAÁLLÍTÁSA
Megadja, hogy egy felhasználói adatbázist visszaállítsunk egy database_name nevű adatbázisba. A visszaállított adatbázisnak más neve lehet, mint a biztonsági másolatban szereplő forrásadatbázisnak. database_name még nem létezik adatbázisként a célberendezésen. Az engedélyezett adatbázisnevekről további információt az Analytics Platform System (PDW) termékdokumentációjában található "Objektumelnevezési szabályok" című témakörben talál.
A felhasználói adatbázis visszaállítása visszaállítja a teljes adatbázis biztonsági mentését, majd opcionálisan visszaállítja a különbségi biztonsági mentést a berendezésre. A felhasználói adatbázisok visszaállítása magában foglalja az adatbázis-felhasználók és az adatbázis-szerepkörök visszaállítását.
FROM DISK = '\\UNC_path\backup_directory'
Az a hálózati elérési út és könyvtár, amelyről az Analytics Platform System (PDW) visszaállítja a biztonsági mentési fájlokat. PÉLDÁUL FROM DISK = '\\xxx.xxx.xxx.xxx\backups\2012\Monthly\08.2012.Mybackup'.
backup_directory Megadja annak a könyvtárnak a nevét, amely tartalmazza a teljes vagy a különbségi biztonsági mentést. Végrehajthat például EGY RESTORE HEADERONLY műveletet egy teljes vagy különbségi biztonsági mentésen.
full_backup_directory Megadja a teljes biztonsági mentést tartalmazó könyvtár nevét.
differential_backup_directory Megadja annak a könyvtárnak a nevét, amely a különbségi biztonsági mentést tartalmazza.
- Az elérési útnak és a biztonsági mentési könyvtárnak már léteznie kell, és teljes körűen minősített univerzális elnevezési konvencióként (UNC) kell megadnia.
- A biztonsági mentési könyvtár elérési útja nem lehet helyi elérési út, és nem lehet az Elemzési platformrendszer (PDW) berendezés csomópontjainak egyikén sem.
- Az UNC elérési út és a biztonsági mentési könyvtár nevének maximális hossza 200 karakter.
- A kiszolgálót vagy gazdagépet IP-címként kell megadni.
FEJLÉC VISSZAÁLLÍTÁSA
Megadja, hogy csak egy felhasználói adatbázis biztonsági mentésének fejlécadatait adja vissza. A többi mező mellett a fejléc tartalmazza a biztonsági mentés szöveges leírását és a biztonsági mentés nevét. A biztonsági mentés nevének nem kell megegyeznie a biztonsági mentési fájlokat tároló könyvtár nevével.
A RESTORE HEADERONLY eredmények az SQL Server RESTORE HEADERONLY eredményei után lesznek mintázva. Az eredmény több mint 50 oszlopból áll, amelyeket az Analytics Platform System (PDW) nem használ. Az SQL Server RESTORE HEADERONLY eredményeinek oszlopainak leírását lásd: RESTORE HEADERONLY.
Permissions
CREATE ANY DATABASE Engedélyre van szükség.
Olyan Windows-fiókra van szükség, amely rendelkezik hozzáféréssel és olvasási engedéllyel a biztonsági mentési könyvtárból. A Windows-fiók nevét és jelszavát az Analytics platformrendszerben (PDW) is tárolnia kell.
- Ha ellenőrizni szeretné, hogy a hitelesítő adatok már léteznek-e, használja a sys.dm_pdw_network_credentials.
- A hitelesítő adatok hozzáadásához vagy frissítéséhez használja a sp_pdw_add_network_credentials – Azure Synapse Analytics szolgáltatást.
- Ha el szeretné távolítani a hitelesítő adatokat az Analytics Platform Systemből (PDW), használja a sp_pdw_remove_network_credentials – Azure Synapse Analytics szolgáltatást.
Hibakezelés
A RESTORE DATABASE parancs a következő feltételekkel eredményez hibákat:
- A visszaállítandó adatbázis neve már létezik a célberendezésen. Ennek elkerülése érdekében válasszon ki egy egyedi adatbázisnevet, vagy a visszaállítás futtatása előtt dobja el a meglévő adatbázist.
- A biztonsági mentési könyvtárban érvénytelen biztonsági mentési fájlok találhatók.
- A bejelentkezési engedélyek nem elegendőek az adatbázisok visszaállításához.
- Az Analytics Platform System (PDW) nem rendelkezik a megfelelő engedélyekkel arra a hálózati helyre, ahol a biztonsági mentési fájlok találhatók.
- A biztonsági mentési könyvtár hálózati helye nem létezik, vagy nem érhető el.
- Nincs elegendő lemezterület a számítási csomópontokon vagy a vezérlőcsomóponton. Az Analytics Platform System (PDW) nem erősíti meg, hogy elegendő lemezterület van-e a berendezésen a visszaállítás megkezdése előtt. Ezért a RESTORE DATABASE utasítás futtatásakor lemezterületen kívüli hiba is létrehozható. Ha nincs elegendő lemezterület, az Analytics Platform System (PDW) visszaállítja a visszaállítást.
- A célberendezés, amelyre az adatbázist visszaállítják, kevesebb számítási csomóponttal rendelkezik, mint az a forrásberendezés, amelyről az adatbázisról biztonsági másolatot készít.
- Az adatbázis visszaállítását egy tranzakción belül kísérli meg a rendszer.
Megjegyzések
Az Analytics Platform System (PDW) nyomon követi az adatbázis-visszaállítások sikerességét. A különbségi adatbázis biztonsági mentésének visszaállítása előtt az Analytics Platform System (PDW) ellenőrzi, hogy a teljes adatbázis-visszaállítás sikeresen befejeződött-e.
A visszaállítás után a felhasználói adatbázis adatbázis-kompatibilitási szintje 120 lesz. Ez az eredeti kompatibilitási szinttől függetlenül minden adatbázisra igaz.
Visszaállítás nagyobb számú számítási csomóponttal rendelkező berendezésre
Futtassa a DBCC SHRINKLOG -t (Azure Synapse Analytics), miután visszaállított egy adatbázist egy kisebbről nagyobb berendezésre, mivel az újraterjesztés növeli a tranzakciónaplót.
Ha nagyobb számú számítási csomóponttal rendelkező berendezésre állít vissza biztonsági másolatot, az a számítási csomópontok számával arányban növeli a lefoglalt adatbázis méretét.
Ha például egy 60 GB-os adatbázist egy 2 csomópontos berendezésből (csomópontonként 30 GB) egy 6 csomópontos berendezésre állít vissza, az Analytics Platform System (PDW) létrehoz egy 180 GB-os adatbázist (6 csomópont csomópontonként 30 GB-ot) a 6 csomópontos berendezésen. Az Analytics Platform System (PDW) kezdetben 2 csomópontra állítja vissza az adatbázist a forráskonfigurációnak megfelelően, majd újraosztja az adatokat mind a 6 csomópontra.
Az újraterjesztés után minden számítási csomópont kevesebb tényleges adatot és több szabad területet tartalmaz, mint a kisebb forrásberendezés egyes számítási csomópontja. A további hely használatával további adatokat adhat hozzá az adatbázishoz. Ha a visszaállított adatbázis mérete nagyobb a szükségesnél, az ALTER DATABASE – PDW használatával szűkítheti az adatbázisfájl méretét.
Korlátozások és korlátozások
Ezen korlátozások és korlátozások esetén a forrásberendezés az a berendezés, amelyről az adatbázis biztonsági mentését létrehozták, és a célberendezés az a berendezés, amelyre az adatbázis vissza lesz állítva.
- Az adatbázis visszaállítása nem építi újra automatikusan a statisztikákat.
- A berendezésen egyszerre csak egy RESTORE DATABASE vagy BACKUP DATABASE utasítás futtatható. Ha egyszerre több biztonsági mentési és visszaállítási utasítást is elküld, a berendezés egy üzenetsorba helyezi őket, és egyenként dolgozza fel őket.
- Az adatbázis biztonsági mentését csak olyan Analytics Platform System (PDW) célberendezésre állíthatja vissza, amely ugyanannyi vagy több számítási csomóponttal rendelkezik, mint a forrásberendezés. A célberendezés nem rendelkezhet kevesebb számítási csomóponttal, mint a forrásberendezés.
- Sql Server 2012 PDW hardverrel rendelkező berendezésen létrehozott biztonsági másolat nem állítható vissza olyan berendezésre, amely SQL Server 2008 R2 hardverrel rendelkezik. Ez akkor is igaz, ha a berendezést eredetileg az SQL Server 2008 R2 PDW hardverrel vásárolta, és most SQL Server 2012 PDW szoftvert futtat.
Zárolás
Kizárólagos zárolást hoz létre a DATABASE objektumon.
Példák
A. Egyszerű VISSZAÁLLÍTÁSi példák
Az alábbi példa egy teljes biztonsági mentést állít vissza az SalesInvoices2013 adatbázisba. A biztonsági mentési fájlok a \\\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Full könyvtárban vannak tárolva. Az SalesInvoices2013 adatbázis nem létezik a célberendezésen, vagy ez a parancs hiba miatt meghiúsul.
RESTORE DATABASE SalesInvoices2013
FROM DISK = '\\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Full';
B. Teljes és különbségi biztonsági mentés visszaállítása
Az alábbi példa egy teljes, majd egy különbségi biztonsági mentést állít vissza az SalesInvoices2013 adatbázisba
Az adatbázis teljes biztonsági mentése a címtárban \\\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Full tárolt teljes biztonsági másolatból lesz visszaállítva. Ha a visszaállítás sikeresen befejeződött, a rendszer visszaállítja a különbségi biztonsági mentést az SalesInvoices2013 adatbázisba. A különbségi biztonsági mentés a \\\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Diff könyvtárban van tárolva.
RESTORE DATABASE SalesInvoices2013
FROM DISK = '\\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Diff'
WITH BASE = '\\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Full'
[;]
C. A biztonsági mentés fejlécének visszaállítása
Ez a példa visszaállítja az adatbázis biztonsági mentésének \\\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Fullfejlécadatait. A parancs egy sornyi információt eredményez a Invoices2013Full biztonsági mentéshez.
RESTORE HEADERONLY
FROM DISK = '\\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Full'
[;]
A fejlécadatok segítségével ellenőrizheti a biztonsági mentés tartalmát, vagy ellenőrizheti, hogy a cél-visszaállítási berendezés kompatibilis-e a forrás biztonsági mentési berendezésével, mielőtt megkísérli visszaállítani a biztonsági mentést.