数据库的备份与恢复
2010-08-23 23:12
85 查看
数据库的备份与恢复是对数据库操作的基本要求,从新学习一下数据库备份与恢复。
数据的备份的范围可以是完整的数据库、部分数据库或者一组文件或文件组,一般对于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
数据的备份的范围可以是完整的数据库、部分数据库或者一组文件或文件组,一般对于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
相关文章推荐
- 3.手工备份恢复--关闭数据库的备份与完全还原(练习1、2)
- 如何得到服务器端数据库列表 并 备份和恢复数据库 [copy]
- 在ASP.NET页面中实现数据库备份和恢复功能
- AS 400 数据库备份与恢复
- NC恢复备份数据库到本地环境
- 可定制的数据库备份和恢复程序
- asp.net下实现数据库的备份与恢复
- 在Linux下ORACLE异机数据库备份恢复操作
- sql第四课用transcat_sql来备份和恢复数据库
- MongoDB数据库的文件备份恢复以及文件导入导出
- 如何用SQLDMO在ASP.NET页面下实现数据库的备份与恢复
- Oracle 数据库的备份与恢复
- [小e笔记]之一步一步学习备份恢复——第三篇 数据库恢复案例(Part 8)
- Oracle10g数据库归档与非归档模式下的备份与恢复
- 十二、oracle 数据库(表)的逻辑备份与恢复
- mysql命令(数据库备份与恢复)
- DB2的备份(backup)和恢复(RESTORE)数据库方法
- Mysql 数据库备份与恢复
- 备份与恢复数据库的存储过程
- innobackupex 数据库高可用:备份与恢复