資料庫的備份與恢復
資料的備份的範圍可以是完整的資料庫、部分資料庫或者一組檔案或檔案組,一般對於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資料庫備份與恢復資料庫
- postgresql備份與恢復資料庫SQL資料庫
- 資料庫備份恢復資料庫
- 資料庫備份與恢復技術資料庫
- Linux下MySQL資料庫的備份與恢復LinuxMySql資料庫
- MySQL-19.資料庫備份與恢復MySql資料庫
- mongodb資料庫備份與恢復(資料庫資料遷移)MongoDB資料庫
- 備份與恢復:Polardb資料庫資料基於時間點恢復資料庫
- Mysql資料備份與恢復MySql
- Dedecms資料庫恢復與備份的兩種方法資料庫
- 淺談達夢資料庫的備份與恢復資料庫
- PostgreSql資料庫的備份和恢復SQL資料庫
- SqlServer資料庫恢復備份資料的方法SQLServer資料庫
- Mysql資料庫備份及恢復MySql資料庫
- 達夢資料庫備份恢復資料庫
- mysqldump使用方法(MySQL資料庫的備份與恢復)MySql資料庫
- RabbitMQ如何備份與恢復資料MQ
- Mongo 資料庫備份和恢復命令Go資料庫
- pg_dump 備份,恢復資料庫資料庫
- 資料庫資料恢復—無備份,binlog未開啟的Mysql資料庫資料恢復案例資料庫資料恢復MySql
- RAC備份恢復之Voting備份與恢復
- vivo 資料庫備份恢復系統演化資料庫
- 使用Mysqldump備份和恢復MySQL資料庫MySql資料庫
- PG-pg_dump備份/恢復資料庫資料庫
- 如何在HarmonyOS對資料庫進行備份,恢復與加密資料庫加密
- 分散式文件儲存資料庫之MongoDB備份與恢復分散式資料庫MongoDB
- gitlab的資料備份和恢復Gitlab
- NoSQL 資料庫案例實戰 -- MongoDB資料備份、恢復SQL資料庫MongoDB
- DB的備份與恢復
- GitLab的備份與恢復Gitlab
- RMAN備份恢復典型案例——資料庫卡頓資料庫
- MySQL備份與恢復——基於Xtrabackup物理備份恢復MySql
- MSSQL-最佳實踐-資料庫恢復模式與備份的關係SQL資料庫模式
- 萬里GreatDB資料庫的學習之路--GreatDB備份與恢復(4)資料庫
- MySQL不同儲存引擎的資料備份與恢復MySql儲存引擎
- Jenkins備份與恢復Jenkins
- Postgresql 備份與恢復SQL
- MySQL 備份與恢復MySql
- Docker Swarm 進階:資料卷備份與恢復DockerSwarm