(FAQ)冷起动SQL Server数据库服务器以后,数据库状态为置疑
金蝶云社区-金蝶云社区
金蝶云社区
0人赞赏了该文章 943次浏览 未经作者许可,禁止转载编辑于2015年03月02日 00:00:00
【问题】: (FAQ)冷起动SQL Server数据库服务器以后,数据库状态为置疑
版本: 7.0.1
模块: 系统部署
【答复】:
原因分析: 数据库服务器冷启动,可能造成数据库文件损坏。使用dbcc checkdb检查报错,拷贝库文件到其他服务器附加失败,可以确定库文件损坏。 解决方法: 步骤 1 停止数据库服务。 步骤 2 将需要恢复的数据库文件复制到另外的位置。 步骤 3 启动数据库服务。 步骤 4 确认要恢复的数据库文件已经成功复制到另外的位置,然后在SQL Server Management Studio中删除要恢复的数据库。 步骤 5 新建同名的数据库(数据库文件名也要相同)。 步骤 6 停止数据库服务。 步骤 7 用第2步中备份的.mdf文件覆盖新数据库的同名文件。 步骤 8 启动数据库服务。 步骤 9 运行alter database dbname set emergency,将数据库设置为emergency mode 步骤 10 运行下面的命令就恢复数据库: use master declare @databasename varchar(255) set @databasename='要恢复的数据库名称' exec sp_dboption @databasename, N'single', N'true' --将目标数据库置为单用户状态 dbcc checkdb(@databasename,REPAIR_ALLOW_DATA_LOSS) dbcc checkdb(@databasename,REPAIR_REBUILD) exec sp_dboption @databasename, N'single', N'false'--将目标数据库置为多用户状态 步骤 10 对数据库进行REPAIR_ALLOW_DATA_LOSS级修复可能会有失败信息。 对所有表进行checktable,检查出有损坏的表,进行REPAIR_ALLOW_DATA_LOSS级别修复 步骤 11 修复表成功后,新建数据库,将所有表数据导入新建库。 注意:此修复的过程,会丢失数据,所以不建议修复的数据库用于生产环境。

您的鼓励与嘉奖将成为创作者们前进的动力,如果觉得本文还不错,可以给予作者创作打赏哦!

请选择打赏金币数 *

10金币20金币30金币40金币50金币60金币
可用金币: 0