資料庫的備份與恢復
資料的備份的範圍可以是完整的資料庫、部分資料庫或者一組檔案或檔案組,一般對於SQL Server來說都支援完整備份和差異備份。
完整備份:包括特定資料庫(或者一組特定的檔案組或檔案)中的所有資料,以及可以恢復這些資料的足夠的日誌。
差異備份:基於資料的最新完整備份。這稱為差異的基準或者差異基準。差異基準是讀/寫資料的完整備份。差異備份僅包括自建立差異基準後發生更改的資料。通常,建立基準備份之後很短時間內執行的差異備份比完整備份的基準更小,建立速度也更快。因此,使用差異備份可以加快進行頻繁備份的速度,從而降低資料丟失的風險。通常,一個差異基準會由若干個相繼的差異備份使用。還原時,首先還原完整備份,然後再還原最新的差異備份。
1、建立完整資料庫備份
完整資料庫備份應在單個操作中建立,並通常計劃為按設定的間隔執行。
建立完整資料庫備份所要求的 BACKUP語法是:
BACKUP DATABASE database_name TO backup_device
1、資料庫備份到磁碟
'C:\AdventureWorks.Bak'
USE AdventureWorks
GO
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\MSSQL\BACKUP\AdventureWorks.Bak'
WITH FORMAT,
NAME = 'Full Backup of AdventureWorks'
GO
-- Optionally, create a logical backup device,
-- AdventureWorks_Backup, for this backup file.
USE master
EXEC sp_addumpdevice 'disk', 'AdventureWorks_Backup',
'C:\MSSQL\BACKUP\AdventureWorks.Bak'
2、資料庫備份到磁帶
USE MyAdvWorks
GO
BACKUP DATABASE MyAdvWorks
TO TAPE = '\\.\Tape0'
WITH FORMAT,
NAME = 'Full Backup of MyAdvWorks'
GO
-- Optionally, create a logical backup device,
-- AdventureWorks_Backup, for this backup tape.
USE master
GO
EXEC sp_addumpdevice 'tape', 'MyAdvWorks_Bak', '\\.\tape0'
2、建立資料庫差異備份(建立資料庫差異備份前要對資料庫備份,否則不能建立資料庫差異備份)
-- Create a full database backup first.
BACKUP DATABASE MyAdvWorks
TO MyAdvWorks_1
WITH INIT
GO
-- Time elapses.
-- Create a differential database backup, appending the backup
-- to the backup device containing the full database backup.
BACKUP DATABASE MyAdvWorks
TO MyAdvWorks_1
WITH DIFFERENTIAL
GO
3、還原資料庫、還原差異備份的資料庫
1)還原完整的資料庫
USE master
GO
RESTORE DATABASE AdventureWorks
FROM TAPE = '\\.\Tape0'-------資料庫備份
GO
2)還原差異備份的資料庫
(1)執行 RESTORE DATABASE 語句並指定 NORECOVERY 子句,以還原在差異資料庫備份之前執行的完整資料庫備份(完整備份見上)
(2)執行 RESTORE DATABASE 語句以還原差異資料庫備份
RESTORE DATABASE MyAdvWorks
FROM MyAdvWorks_1
WITH NORECOVERY
GO
RESTORE DATABASE MyAdvWorks
FROM MyAdvWorks_1
WITH FILE = 2,
RECOVERY
GO
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16436858/viewspace-671816/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 備份與恢復:polardb資料庫備份與恢復資料庫
- 【備份恢復】從備份恢復資料庫資料庫
- mysql的資料庫備份與恢復MySql資料庫
- oracle資料庫的備份與恢復Oracle資料庫
- postgresql備份與恢復資料庫SQL資料庫
- mongo資料庫備份與恢復Go資料庫
- Informix資料庫備份與恢復ORM資料庫
- 關閉資料庫的備份與恢復資料庫
- Oracle資料庫的備份與恢復(轉)Oracle資料庫
- Oracle 資料庫的備份與恢復(轉)Oracle資料庫
- rman資料庫全庫備份與恢復資料庫
- Oracle資料庫備份與恢復之三:OS備份/使用者管理的備份與恢復Oracle資料庫
- 資料庫備份與恢復技術資料庫
- 資料庫備份與異機恢復——熱備份方式資料庫
- DB2的資料庫備份與恢復DB2資料庫
- ORACLE RAC資料庫的備份與恢復(6)Oracle資料庫
- ORACLE RAC資料庫的備份與恢復(5)Oracle資料庫
- ORACLE RAC資料庫的備份與恢復(4)Oracle資料庫
- ORACLE RAC資料庫的備份與恢復(3)Oracle資料庫
- ORACLE RAC資料庫的備份與恢復(2)Oracle資料庫
- ORACLE RAC資料庫的備份與恢復(1)Oracle資料庫
- 資料庫(表)的邏輯備份與恢復資料庫
- Oracle資料庫備份與恢復之RMANOracle資料庫
- 資料庫備份與恢復----第一課資料庫
- 【備份恢復】Oracle 資料備份與恢復微實踐Oracle
- 資料庫資料的恢復和備份資料庫
- Redis的資料備份與恢復Redis
- 【備份恢復】noarchive模式下使用增量備份恢復資料庫Hive模式資料庫
- mongodb資料庫備份與恢復(資料庫資料遷移)MongoDB資料庫
- Mysql資料備份與恢復MySql
- 淺談達夢資料庫的備份與恢復資料庫
- Linux下MySQL資料庫的備份與恢復LinuxMySql資料庫
- 資料庫的備份與恢復分析及例項資料庫
- Oracle資料庫的備份與恢復方式比較Oracle資料庫
- Oracle資料庫備份與恢復的三種方法Oracle資料庫
- PostgreSql資料庫的備份和恢復SQL資料庫
- 備份與恢復--從備份的歸檔日誌中恢復資料
- 第5章:從開啟的資料庫備份與恢復之從開啟的資料庫備份中完全恢復資料庫