012_简单恢复模式

012_简单恢复模式

 

 

--将恢复模式改为简单恢复模式************************************************************************

ALTER DATABASE test SET recovery SIMPLE

 

 

--创建备份介质************************************************************************

 

--创建全备份介质

EXEC sp_addumpdevice

         @devtype=N'disk',@logicalname=N'test_back',@physicalname='E:\sql_2008\test_backup\test_full_01.bak'

        

--创建差异备份介质(创建两个介质,以示区别,后文将会把两个差异备份备份到一个介质)

EXEC sp_addumpdevice

         @devtype=N'disk',@logicalname=N'test_back_diff_01',@physicalname='E:\sql_2008\test_backup\test_diff_01.bak'

EXEC sp_addumpdevice

         @devtype=N'disk',@logicalname=N'test_back_diff_02',@physicalname='E:\sql_2008\test_backup\test_diff_02.bak'

 

 

 

 

--备份数据库************************************************************************

 

--备份完整数据库

backup database test to DISK=N'E:\sql_2008\test_backup\test_full_01.bak' WITH init

--或者这样写

--RESTORE DATABASE test to test_back WITH init

 

--修改数据库

CREATE TABLE test_simple_01(id int)

 

--差异备份(此时库中会有test_simple_01表)

backup database test to DISK=N'E:\sql_2008\test_backup\test_diff_01.bak' WITH differential

 

--修改数据库

CREATE TABLE test_simple_02(id int)

 

--差异备份(此时库中会有test_simple_02表)

backup database test to DISK=N'E:\sql_2008\test_backup\test_diff_01.bak' WITH differential

 

--修改数据库

CREATE TABLE test_simple_03(id int)

 

--差异备份(此时库中会有test_simple_03表)

backup database test to DISK=N'E:\sql_2008\test_backup\test_diff_02.bak' WITH differential

 

 

--还原数据库************************************************************************

 

--切换到master库

USE master

 

--还原到初始的完整备份时(此时没有新建的3个表)

RESTORE DATABASE test FROM DISK=N'E:\sql_2008\test_backup\test_full_01.bak' WITH NORECOVERY

--或者这样写

--RESTORE DATABASE test FROM test_back WITH norecovery

 

--还原到第一个差异备份(此时有test_simple_01表)

RESTORE DATABASE test FROM test_back_diff_01 WITH FILE =1,NORECOVERY

 

--还原到第二个差异备份(此时有test_simple_01表,test_simple_02表)

RESTORE DATABASE test FROM test_back_diff_01 WITH FILE =2,NORECOVERY

 

--还原到第三个差异备份(此时有test_simple_01表,test_simple_02表,test_simple_03表)

RESTORE DATABASE test FROM test_back_diff_02 WITH NORECOVERY

 

--结束此次还原(这个 with recovery 一定要在末尾执行)

RESTORE DATABASE test WITH recovery

 

 

 

 

--注意************************************************************************

 

--1.创建差异备份(省略参数)

EXEC sp_addumpdevice 'disk','test_back','E:\sql_2008\test_backup\test_01.bak'

--2.删除备份介质

EXEC sp_dropdevice test_back

--3.备份介质信息查询

SELECT * FROM sys.backup_devices

SELECT * FROM sys.sysdevices

--3.将数据库状态改为在线或下线

ALTER DATABASE test SET ONLINE

ALTER DATABASE test SET OFFLINE

--4.查询进程,锁

SELECT * FROM sys.sysprocesses

SELECT * FROM sys.databases

EXEC sp_who

EXEC sp_lock

KILL 53

--5.查询备份文件的相关信息

RESTORE HEADERONLY FROM DISK=N'E:\sql_2008\test_backup\test_01.bak'

RESTORE FILELISTONLY FROM DISK=N'E:\sql_2008\test_backup\test_01.bak'

RESTORE LABELONLY FROM DISK=N'E:\sql_2008\test_backup\test_01.bak'

--norecovery解释

--NORECOVERY

         --指示还原操作不回滚任何未提交的事务。如果稍后必须应用另一个事务日志,则应指定 NORECOVERY 或 STANDBY 选项。

--6.关于差异备份到同一文件的还原解释

--在备份的时候,message中显示文件被备份到了哪一个file中,所以在restore的时候,指定file序号就可以执行还原了。

 

转载于:https://www.cnblogs.com/heibaitan/p/4284999.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值