SQL server 数据库被标记为RESTORING的处理方式
2013-02-19 15:27
459 查看
尝试数据库被标记为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数据库正常。后续将尝试数据库处于置疑等状态时,数据库的修复方式。
======================================================================================================
其他方法:
这个显示是指:正在还原中..
如果确定还原完毕,可以用
SQL code
restore database 数据库A with recovery
或者:
RESTORE DATABASE db FROM DISK='c:\1.bak' (WITH RECOVERY )
/****
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数据库正常。后续将尝试数据库处于置疑等状态时,数据库的修复方式。
======================================================================================================
其他方法:
这个显示是指:正在还原中..
如果确定还原完毕,可以用
SQL code
restore database 数据库A with recovery
或者:
RESTORE DATABASE db FROM DISK='c:\1.bak' (WITH RECOVERY )
相关文章推荐
- SQL server 数据库被标记为RESTORING的处理方式
- 尝试数据库被标记为RESTORING的处理方式
- 对于SQL Server 对象名 XXX 无效 的多种有效处理方式(hibernate自动创建、数据库移植)
- SQL server经验分享:SQLSERVER 被标记为“可疑”的数据库处理方法
- SQL server经验分享:SQLSERVER 被标记为“可疑”的数据库处理方法
- 数据库安装错误的解决方式 【转】如何处理 SQL Server 安装过程中的 COM+ 检查失败问题 - ...
- mysql 数据库几种修改密码的方式以及忘记密码处理办法
- SQL Server中数据库文件的存放方式,文件和文件组
- SNF平台从sql server兼容oracle的处理方式和开发方式
- SQL Server 2008 数据库同步的两种方式 (发布、订阅)
- SQL Server 2008 转换为 SQL 2005 数据库 脚本生成方式(解决主键、索引、标识等数据库约束丢失)
- 数据库一直显示为正在还原(restoring)状态--处理
- 在备份SQL Server 2005数据库时出现“在处理‘XXX’元数据(数据库IDXX,文件IDXXX)时出错”的解决方法
- SQL Server 2008 数据库日志文件丢失处理方法
- Visual C# 2008+SQL Server 2005 数据库与网络开发-- 7.3 使用ADO .NET处理数据
- 关于数据库附加不上的错误处理方式
- 使用isql连接Sybase ASE数据库的常见错误及处理方式
- 一些常用数据库操作在mysql及sql server中实现方式的差异
- 用WEB(ASP)方式实现SQL SERVER 数据库的备份和恢复
- Sql Server每日一练-ASP访问数据库的几种方式