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 cikk azt ismerteti, hogyan hozhat létre teljes adatbázis-biztonsági mentést az SQL Server Management Studio, a Transact-SQL vagy a PowerShell használatával az SQL Serverben.
További információ: SQL Server biztonsági mentés és visszaállítás az Azure Blob Storage és az SQL Server biztonsági mentésével az Azure Blob Storage URL-címére.
Korlátozások
- A
BACKUPutasítás nem engedélyezett explicit vagy implicit tranzakcióban. - Az SQL Server újabb verziói által létrehozott biztonsági másolatok nem állíthatók vissza az SQL Server korábbi verzióiban.
A biztonsági mentés fogalmainak és feladatainak áttekintéséhez és részletesebb megismeréséhez tekintse meg a biztonsági mentés áttekintését (SQL Server) a folytatás előtt.
Ajánlások
- Az adatbázisok méretének növekedésével a teljes adatbázis-biztonsági mentések több időt vesznek igénybe, és több tárterületet igényelnek. Nagyméretű adatbázisok esetén fontolja meg a teljes adatbázis-biztonsági mentések kiegészítését különböző adatbázis biztonsági másolatainak.
- Becsülje meg a teljes adatbázis biztonsági mentésének méretét a sp_spaceused rendszer által tárolt eljárással.
- Alapértelmezés szerint minden sikeres biztonsági mentési művelet hozzáad egy bejegyzést az SQL Server hibanaplójába és a rendszer eseménynaplójába. Ha gyakran készít biztonsági másolatot, a sikeres üzenetek gyorsan halmozódnak fel, ami hatalmas hibanaplókat eredményez, ami megnehezíti a többi üzenet megkeresését. Ilyen esetekben letilthatja ezeket a biztonsági mentési naplóbejegyzéseket a 3226-os nyomkövetési jelző használatával, ha egyik szkript sem függ ezektől a bejegyzésektől. További információ: Nyomkövetési jelzők beállítása a DBCC TRACEON használatával.
Biztonság
TRUSTWORTHY beállítás egy adatbázis biztonsági mentésére van beállítva OFF . A beállítás TRUSTWORTHYONmódjáról az ALTER DATABASE SET beállításai című témakörben talál további információt.
Az SQL Server 2012-től (11.x) kezdődően a PASSWORD biztonsági mentések létrehozásához nem érhetők el a beállítások és MEDIAPASSWORD a beállítások. Továbbra is visszaállíthatja a jelszóval létrehozott biztonsági másolatokat.
Engedélyek
BACKUP DATABASE és 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 Server szolgáltatásnak az eszközről kell olvasnia és írnia. Annak a fióknak, amely alatt az SQL Server szolgáltatás fut, írási engedélyekkel kell rendelkeznie a biztonsági mentési eszközhöz. Azonban sp_addumpdevice, 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ában lévő problémák nem jelennek meg a biztonsági mentés használatáig vagy a visszaállítási kísérletig.
Az SQL Server Management Studio használata
Jegyzet
Ha az SQL Server Management Studio használatával ad meg biztonsági mentési feladatot, a megfelelő Transact-SQL BACKUP-szkriptet a Szkript gombra kattintva, majd egy szkript célhelyének kiválasztásával hozhatja létre.
Miután csatlakozott az SQL Server adatbázismotor megfelelő példányához, az Object Explorerben bontsa ki a kiszolgálófát.
Bontsa ki adatbázisok, majd válasszon ki egy felhasználói adatbázist, vagy bontsa ki rendszeradatbázisok, majd válasszon ki egy rendszeradatbázist.
Kattintson a jobb gombbal a biztonsági másolatot készíteni kívánt adatbázisra, mutasson a Feladatok pontra, majd válassza a Biztonsági mentés... lehetőséget.
A Biztonsági mentési adatbázis párbeszédpanelen a kijelölt adatbázis megjelenik a legördülő listában. (Az adatbázist bármely más adatbázisra módosíthatja a kiszolgálón.)
A Biztonsági mentés típusa listában válassza ki a biztonsági mentés típusát. Az alapértelmezett érték a Teljes.
Fontos
A különbségi vagy tranzakciónaplók biztonsági mentésének végrehajtása előtt legalább egy teljes adatbázis-biztonsági mentést végre kell hajtania.
A Biztonsági mentés összetevőterületen válassza Adatbázislehetőséget.
A Cél szakaszban tekintse át a biztonsági mentési fájl alapértelmezett helyét (a ../mssql/data mappában).
A biztonsági mentéssel másik eszközt választhat ki. Válassza a Hozzáadás lehetőséget biztonsági mentési objektumok és/vagy célhelyek hozzáadásához. A biztonsági mentési csoportot több fájlra is lecsíkosíthatja a nagyobb biztonsági mentési sebesség érdekében.
A biztonsági mentési célhely eltávolításához jelölje ki, majd válassza az Eltávolítás lehetőséget. Meglévő biztonsági mentési célhely tartalmának megtekintéséhez jelölje ki, majd válassza a Tartalom lehetőséget.
(Nem kötelező) Tekintse át a Médiabeállítások és a Biztonsági mentés beállításai lapon elérhető egyéb beállításokat.
A különböző biztonsági mentési lehetőségekről további információt az Adatbázis biztonsági mentése (általános lap), az Adatbázis biztonsági mentése (Médiabeállítások lap) és az Adatbázis biztonsági mentése (Biztonsági mentési beállítások lap) című témakörben talál.
Válassza az OK lehetőséget a biztonsági mentés elindításához.
Ha a biztonsági mentés sikeresen befejeződött, az OK gombra kattintva zárja be az SQL Server Management Studio párbeszédpanelt.
További információk
A teljes adatbázis-biztonsági mentés létrehozása után létrehozhat egy különbözeti adatbázis-biztonsági mentést vagy egy tranzakciónapló-biztonsági mentést.
(Nem kötelező) A csak másolási biztonsági mentés létrehozásához jelölje be a Csak másolás jelölőnégyzetet. A csak másolásra készült biztonsági mentés olyan SQL Server-biztonsági mentés, amely független a hagyományos SQL Server-biztonsági mentések sorozatától. További információ: Csak másolási biztonsági másolatok. Másolatokat készítő biztonsági mentés nem érhető el a különbözeti biztonsági mentési típushoz.
Az Adathordozó felülírása beállítás le van tiltva a Médiabeállítások lapon, ha egy URL-címről készít biztonsági másolatot.
Példák
Az alábbi példákhoz hozzon létre egy tesztadatbázist a következő Transact-SQL kóddal:
USE [master]
GO
CREATE DATABASE [SQLTestDB]
GO
USE [SQLTestDB]
GO
CREATE TABLE SQLTest
(
ID INT NOT NULL PRIMARY KEY,
c1 VARCHAR(100) NOT NULL,
dt1 DATETIME NOT NULL DEFAULT getdate()
);
GO
USE [SQLTestDB]
GO
INSERT INTO SQLTest (ID, c1) VALUES (1, 'test1')
INSERT INTO SQLTest (ID, c1) VALUES (2, 'test2')
INSERT INTO SQLTest (ID, c1) VALUES (3, 'test3')
INSERT INTO SQLTest (ID, c1) VALUES (4, 'test4')
INSERT INTO SQLTest (ID, c1) VALUES (5, 'test5')
GO
SELECT * FROM SQLTest
GO
Egy. Teljes biztonsági mentés a lemezre az alapértelmezett helyre
Ebben a példában az adatbázisról biztonsági SQLTestDB másolatot készít a rendszer az alapértelmezett biztonsági mentési helyen lévő lemezre.
Miután csatlakozott az SQL Server adatbázismotor megfelelő példányához, az Object Explorerben bontsa ki a kiszolgálófát.
Bontsa ki Adatbázisok, kattintson a jobb gombbal a
SQLTestDB, mutasson a Tevékenységek elemre, majd válassza a Biztonsági mentés...lehetőséget.Válassza OKlehetőséget.
Ha a biztonsági mentés sikeresen befejeződött, az OK gombra kattintva zárja be az SQL Server Management Studio párbeszédpanelt.
B. Teljes biztonsági mentés a lemezről egy nem hibás helyre
Ebben a példában az SQLTestDB adatbázis biztonsági másolatot készít a lemezről egy ön által választott helyen.
Miután csatlakozott az SQL Server adatbázismotor megfelelő példányához, az Object Explorerben bontsa ki a kiszolgálófát.
Bontsa ki Adatbázisok, kattintson a jobb gombbal a
SQLTestDB, mutasson a Tevékenységek elemre, majd válassza a Biztonsági mentés...lehetőséget.A Cél szakasz Általános lapján válassza a Lemez lehetőséget a Biztonsági mentés listához.
Válassza az Eltávolítás lehetőséget, amíg az összes meglévő biztonsági mentési fájlt el nem távolítja.
Válassza a Hozzáadás lehetőséget. Megnyílik a Biztonsági mentési cél kiválasztása párbeszédpanel.
Adjon meg érvényes elérési utat és fájlnevet a Fájlnév mezőben. A .bak kiterjesztéssel egyszerűsítheti a fájl besorolását.
Válassza OK, majd a biztonsági mentés elindításához válassza OK lehetőséget.
Ha a biztonsági mentés sikeresen befejeződött, az OK gombra kattintva zárja be az SQL Server Management Studio párbeszédpanelt.
C. Titkosított biztonsági mentés létrehozása
Ebben a példában az adatbázist titkosítással SQLTestDB készíti el az alapértelmezett biztonsági mentési helyre.
Miután csatlakozott az SQL Server adatbázismotor megfelelő példányához, az Object Explorerben bontsa ki a kiszolgálófát.
Bontsa ki az Adatbázisok elemet, bontsa ki a Rendszeradatbázisok elemet, kattintson
mastera jobb gombbal, majd válassza az Új lekérdezés lehetőséget egy adatbázis-kapcsolattal rendelkező lekérdezési ablak megnyitásáhozSQLTestDB.Futtassa az alábbi parancsokat egy adatbázis-főkulcs és egy tanúsítvány adatbázison
masterbelüli létrehozásához.-- Create the master key. CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<password>'; -- If the master key already exists, open it in the same session that you create the certificate. (See next step.) OPEN MASTER KEY DECRYPTION BY PASSWORD = '<password>' -- Create the certificate encrypted by the master key. CREATE CERTIFICATE MyCertificate WITH SUBJECT = 'Backup Cert', EXPIRY_DATE = '20201031';Az Object ExplorerAdatbázisok csomópontban kattintson a jobb gombbal a
SQLTestDBelemre, mutasson Feladatok, majd válassza a Biztonsági mentés...lehetőséget.A Médiabeállítások lap Média felülírása szakaszában válassza a Biztonsági mentés új médiakészletre lehetőséget, és törölje az összes meglévő biztonsági mentési csoportot.
A Biztonsági mentés beállításai lap Titkosítás szakaszában válassza a Biztonsági mentés titkosítása lehetőséget.
Az Algoritmusok listában válassza az AES 256 elemet.
A Tanúsítvány vagy az Aszimmetrikus kulcs listában válassza a lehetőséget
MyCertificate.Válassza OKlehetőséget.
D. Mentés az Azure Blob tárolóba
Ez a példa létrehoz egy teljes adatbázis-biztonsági másolatot az SQLTestDB Azure Blob Storage-ba. A példa azzal a feltételezéssel van megírva, hogy már rendelkezik blobtárolóval rendelkező tárfiókkal. A példa létrehoz egy közös hozzáférésű jogosultságkódot. A példa meghiúsul, ha a tároló rendelkezik meglévő közös hozzáférésű jogosultságkóddal.
Ha nem rendelkezik Blob Storage-tárolóval egy tárfiókban, a folytatás előtt hozzon létre egyet. Lásd: Általános célú tárfiók létrehozása és tároló létrehozása .
Miután csatlakozott az SQL Server adatbázismotor megfelelő példányához, az Object Explorerben bontsa ki a kiszolgálófát.
Bontsa ki Adatbázisok, kattintson a jobb gombbal a
SQLTestDB, mutasson a Tevékenységek elemre, majd válassza a Biztonsági mentés...lehetőséget.Az Általános lap Cél szakaszában válassza a Biztonsági mentés lista URL-címét.
Válassza a Hozzáadás lehetőséget. Megnyílik a Biztonsági mentési cél kiválasztása párbeszédpanel.
Ha korábban regisztrálta az SQL Server Management Studióval használni kívánt Azure Storage-tárolót, válassza ki. Ellenkező esetben válassza az új tároló regisztrálásához Új tároló lehetőséget.
A Csatlakozás Microsoft-előfizetéshez párbeszédpanelen jelentkezzen be a fiókjába.
A Tárfiók kiválasztása mezőben válassza ki a tárfiókot.
A Blobtároló kiválasztása mezőben válassza ki a blobtárolót.
A Közös hozzáférésű hozzáférési szabályzat lejárati naptárában válassza ki az ebben a példában létrehozott közös hozzáférési szabályzat lejárati dátumát.
Válassza Hitelesítő adatok létrehozása lehetőséget, ha közös hozzáférésű jogosultságkódot és hitelesítő adatokat szeretne létrehozni az SQL Server Management Studióban.
Az OK gombra kattintva zárja be a Csatlakozás Microsoft-előfizetéshez párbeszédpanelt.
A Biztonsági mentési fájl mezőben módosítsa a biztonsági mentési fájl nevét, ha szeretné.
A Biztonsági mentési cél kiválasztása párbeszédpanel bezárásához kattintson az OK gombra.
Válassza az OK lehetőséget a biztonsági mentés elindításához.
Ha a biztonsági mentés sikeresen befejeződött, az OK gombra kattintva zárja be az SQL Server Management Studio párbeszédpanelt.
Jegyzet
A Blob Storage-ba felügyelt identitások használatával történő biztonsági mentés jelenleg nem támogatott.
Transact-SQL használata
Hozzon létre egy teljes adatbázis biztonsági mentését az BACKUP DATABASE utasítás futtatásával, a következő megadásával:
- A biztonsági másolatot készíteni kívánt adatbázis neve.
- Az a biztonsági mentési eszköz, amelyen a teljes adatbázis biztonsági mentése meg van írva.
A teljes adatbázis biztonsági mentésének alapszintű Transact-SQL szintaxisa a következő:
BACKUP DATABASE <database>
TO <backup_device> [ , ...n ]
[ WITH <with_options> [ , ...o ] ];
| Opció | Leírás |
|---|---|
<database> |
A biztonsági másolatot készíteni kívánt adatbázis. |
<backup_device> [ , ...n ] |
A biztonsági mentési művelethez használandó 1 és 64 biztonsági mentési eszköz listáját adja meg. Megadhat egy fizikai biztonsági mentési eszközt, vagy megadhat egy megfelelő logikai biztonsági mentési eszközt, ha már van definiálva. Fizikai biztonsági mentési eszköz megadásához használja az DISK alábbi TAPE lehetőséget:{ DISK | TAPE } =physical_backup_device_nameTovábbi információ: Biztonsági mentési eszközök (SQL Server). |
WITH <with_options> [ , ...o ] |
Egy vagy több beállítás megadására szolgál, o. Az alábbi alapvető WITH lehetőségek némelyikével kapcsolatos információk. |
Igény szerint adjon meg egy vagy több WITH lehetőséget. Itt néhány alapvető WITH lehetőséget ismertetünk. Az összes beállításról további információt a WITHBACKUP című témakörben talál.
Alapszintű biztonsági mentési beállítások WITH :
- { COMPRESSION | NO_COMPRESSION }. Az SQL Server 2008 (10.0.x) Enterprise és újabb verzióiban a rendszer meghatározza, hogy a biztonsági másolat tömörítése a biztonsági mentésen történik-e, felülírva a kiszolgálószintű alapértelmezett értéket.
- TITKOSÍTÁS (ALGORITMUS, KISZOLGÁLÓTANÚSÍTVÁNY | ASZIMMETRIKUS KULCS). Csak az SQL Server 2014-ben vagy újabb verzióiban adja meg a használni kívánt titkosítási algoritmust, valamint a titkosítás biztonságossá tételéhez használandó tanúsítványt vagy aszimmetrikus kulcsot.
- DESCRIPTION = { 'text' | @text_variable }. Megadja a biztonsági mentési csoportot leíró szabad formátumú szöveget. A sztring legfeljebb 255 karakter hosszúságú lehet.
-
NAME = { backup_set_name | @backup_set_name_var }. Megadja a biztonsági mentési csoport nevét. A nevek legfeljebb 128 karakter hosszúságúak lehetnek. Ha
NAMEnincs megadva, akkor üres.
Alapértelmezés szerint BACKUP hozzáfűzi a biztonsági másolatot egy meglévő médiakészlethez, megőrizve a meglévő biztonsági mentési csoportokat. A konfiguráció explicit megadásához használja a NOINIT lehetőséget. A meglévő biztonsági mentési csoportokhoz való hozzáfűzésről további információt a Médiakészletek, médiacsaládok és biztonsági mentési csoportok (SQL Server) című témakörben talál.
A biztonsági mentési adathordozó formázásához használja a FORMAT következő lehetőséget:
FORMAT [ , MEDIANAME = { media_name | @media_name_variable } ] [ , MEDIADESCRIPTION = { text | @text_variable } ]
A záradékot FORMAT akkor használja, amikor először használ adathordozót, vagy ha az összes meglévő adatot felülírni szeretné. Igény szerint rendeljen hozzá egy médianevet és leírást az új adathordozóhoz.
Fontos
Legyen óvatos, ha az FORMAT utasítás záradékát BACKUP használja, mert ez a beállítás megsemmisíti a biztonsági mentési adathordozón korábban tárolt biztonsági másolatokat.
Példák
Az alábbi példákhoz hozzon létre egy tesztadatbázist a következő Transact-SQL kóddal:
USE [master]
GO
CREATE DATABASE [SQLTestDB]
GO
USE [SQLTestDB]
GO
CREATE TABLE SQLTest (
ID INT NOT NULL PRIMARY KEY,
c1 VARCHAR(100) NOT NULL,
dt1 DATETIME NOT NULL DEFAULT GETDATE()
)
GO
USE [SQLTestDB]
GO
INSERT INTO SQLTest (ID, c1) VALUES (1, 'test1')
INSERT INTO SQLTest (ID, c1) VALUES (2, 'test2')
INSERT INTO SQLTest (ID, c1) VALUES (3, 'test3')
INSERT INTO SQLTest (ID, c1) VALUES (4, 'test4')
INSERT INTO SQLTest (ID, c1) VALUES (5, 'test5')
GO
SELECT * FROM SQLTest
GO
Egy. Biztonsági mentés lemezeszközre
Az alábbi példa biztonsági másolatot készít a teljes SQLTestDB adatbázisról a lemezre. Új médiakészletet hoz FORMAT létre.
USE SQLTestDB;
GO
BACKUP DATABASE SQLTestDB
TO DISK = 'c:\tmp\SQLTestDB.bak'
WITH FORMAT,
MEDIANAME = 'SQLServerBackups',
NAME = 'Full Backup of SQLTestDB';
GO
B. Biztonsági mentés egy szalagos eszközre
Az alábbi példa biztonsági másolatot készít a teljes SQLTestDB adatbázisról szalagra. Hozzáfűzi a biztonsági másolatot az előző biztonsági másolatokhoz.
USE SQLTestDB;
GO
BACKUP DATABASE SQLTestDB
TO TAPE = '\\.\Tape0'
WITH NOINIT,
NAME = 'Full Backup of SQLTestDB';
GO
C. Biztonsági mentés készítése logikai szalagos eszközre
Az alábbi példa létrehoz egy logikai biztonsági mentési eszközt egy szalagos meghajtóhoz. A példa ezután biztonsági másolatot készít a teljes SQLTestDB adatbázisról az adott eszközre.
-- Create a logical backup device,
-- SQLTestDB_Bak_Tape, for tape device \\.\tape0.
USE master;
GO
EXEC sp_addumpdevice 'tape', 'SQLTestDB_Bak_Tape', '\\.\tape0'; USE SQLTestDB;
GO
BACKUP DATABASE SQLTestDB
TO SQLTestDB_Bak_Tape
WITH FORMAT,
MEDIANAME = 'SQLTestDB_Bak_Tape',
MEDIADESCRIPTION = '\\.\tape0',
NAME = 'Full Backup of SQLTestDB';
GO
A PowerShell használata
Használja a Backup-SqlDatabase parancsmagot. A teljes adatbázis biztonsági mentésének explicit jelzéséhez adja meg az -BackupAction alapértelmezett értékkel rendelkező paramétert. Database Ez a paraméter nem kötelező a teljes adatbázis biztonsági mentéséhez.
Jegyzet
Ezekhez a példákhoz az SqlServer modul szükséges. Annak megállapításához, hogy telepítve van-e, futtassa a parancsot Get-Module -Name SqlServer. A telepítéshez futtassa Install-Module -Name SqlServer a PowerShell rendszergazdai munkamenetében.
További információ: SQL Server PowerShell-szolgáltató.
Fontos
Ha az SQL Server Management Studióban (SSMS) megnyit egy PowerShell-ablakot az SQL Server egy példányához való csatlakozáshoz, kihagyhatja a hitelesítő adatokat, mert az SSMS-ben lévő hitelesítő adatok automatikusan a PowerShell és az SQL Server-példány közötti kapcsolat létrehozásához használatosak.
Példák
Egy. Teljes biztonsági mentés (helyi)
Az alábbi példa a <myDatabase> adatbázis teljes adatbázis-biztonsági mentését hozza létre a kiszolgálópéldány alapértelmezett biztonsági mentési helyére Computer\Instance. Ez a példa opcionálisan megadja -BackupAction Database.
A szintaxis teljes példáit a Backup-SqlDatabase című témakörben talál.
$credential = Get-Credential
Backup-SqlDatabase -ServerInstance Computer[\Instance] -Database <myDatabase> -BackupAction Database -Credential $credential
B. Teljes biztonsági mentés az Azure-ba
Az alábbi példa létrehoz egy teljes biztonsági másolatot a <myDatabase> példány adatbázisáról a <myServer> Blob Storage-ba. Egy tárolt hozzáférési szabályzat lett létrehozva olvasási, írási és listázási jogosultságokkal. Az SQL Server hitelesítő https://<myStorageAccount>.blob.core.windows.net/<myContainer>adatait a tárolt hozzáférési szabályzathoz társított közös hozzáférési aláírással hozták létre. A parancs a paramétert használja a $backupFile hely (URL) és a biztonsági mentési fájl nevének megadásához.
$credential = Get-Credential
$container = 'https://<myStorageAccount>blob.core.windows.net/<myContainer>'
$fileName = '<myDatabase>.bak'
$server = '<myServer>'
$database = '<myDatabase>'
$backupFile = $container + '/' + $fileName
Backup-SqlDatabase -ServerInstance $server -Database $database -BackupFile $backupFile -Credential $credential
Kapcsolódó tevékenységek
- Különbségi adatbázis biztonsági mentése (SQL Server)
- Adatbázis biztonsági mentésének visszaállítása az SSMS használatával
- Adatbázis biztonsági mentésének visszaállítása az egyszerű helyreállítási modellben (Transact-SQL)
- Adatbázis visszaállítása hibapontra – teljes helyreállítás
- Adatbázis visszaállítása új helyre (SQL Server)
- Használja a karbantartási terv varázslót
Kapcsolódó tartalom
- Az SQL Server biztonsági mentési és visszaállítási műveleteinek hibaelhárítása
- Biztonsági mentés áttekintése (SQL Server)
- Tranzakciónapló biztonsági mentései (SQL Server)
- Médiakészletek, médiacsaládok és biztonsági mentési csoportok (SQL Server)
- sp_addumpdevice (Transact-SQL)
- BIZTONSÁGI MENTÉS (Transact-SQL)
- Adatbázis biztonsági mentése (általános lap)
- Adatbázis biztonsági mentése (Biztonsági mentési beállítások lap)
- Különbözeti biztonsági másolatok (SQL Server)
- Teljes adatbázis-biztonsági mentések (SQL Server)