尝试数据库被标记为RESTORING的处理方式

尝试数据库被标记为RESTORING的处理方式

/****

by select left('claro',2),in 西安,2009-03-27 00:29:23.450

Microsoft SQL Server 2005 - 9.00.1406.00

 (Intel X86)

   Mar  3 2007 18:40:02

   Copyright (c) 1988-2005 Microsoft Corporation

  Enterprise Edition on Windows NT 5.2 (Build 3790: Service Pack 2)

****/

USE [master]

GO

-->1.查询数据库状态

select state_desc,name,user_access_desc from sys.databases where name='db'

--state_desc  name   user_access_desc

--RESTORING   Db  MULTI_USER

 

-->2.修改数据库状态

ALTER DATABASE [Db] SET ONLINE

--消息5052,级别16,状态1,第1

--当数据库处于Restoring 状态时,不允许ALTER DATABASE

--消息5069,级别16,状态1,第1

--ALTER DATABASE 语句失败。

 

-->3.设置数据库状态为紧急恢复模式

ALTER DATABASE [Db] SET EMERGENCY

--消息5052,级别16,状态1,第1

--当数据库处于Restoring 状态时,不允许ALTER DATABASE

--消息5069,级别16,状态1,第1

--ALTER DATABASE 语句失败。

 

-->4.设置数据库状态为单用户模式

ALTER DATABASE [Db] SET SINGLE_USER

--消息5052,级别16,状态1,第1

--当数据库处于Restoring 状态时,不允许ALTER DATABASE

--消息5069,级别16,状态1,第1

--ALTER DATABASE 语句失败。

 

-->5.CHECKDB检查

DBCC CHECKDB (db,REPAIR_ALLOW_DATA_LOSS)

--消息927,级别14,状态2,第1

--无法打开数据库'Db'。该数据库正在进行还原。

 

-->6.尝试用备份集继续还原

RESTORE DATABASE [Db] FROM  DISK = N'c:/db.bak' WITH  FILE = 1,  NOUNLOAD,  REPLACE,  STATS = 10

GO

--已处理百分之13

--已处理百分之22

--已处理百分之31

--已处理百分之40

--已处理百分之54

--已处理百分之63

--已处理百分之72

--已处理百分之81

--已处理百分之90

--已处理百分之100

--已为数据库'Db',文件'Db' (位于文件1 )处理了176 页。

--已为数据库'Db',文件'Db_log' (位于文件1 )处理了2 页。

--RESTORE DATABASE 成功处理了178 页,花费0.159 (9.125 MB/)

 

-->7.检查数据库状态

select state_desc,name,user_access_desc from sys.databases where name='db'

--state_desc  name   user_access_desc

--ONLINE   Db  MULTI_USER

 

--至此db数据库正常。后续将尝试数据库处于置疑等状态时,数据库的修复方式。

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值