2015-01-28 10:18:22
现象:打开SQL Server Management Studio,报错,只显示'系统数据库'和'数据库快照',看不到数据库.
但新建查询,可选数据库里能看到其他数据库,唯独没有msdb
具体错误信息:
标题: Microsoft SQL Server Management Studio
------------------------------
执行 Transact-SQL 语句或批处理时发生了异常。 (Microsoft.SqlServer.ConnectionInfo)
------------------------------
其他信息:
无法打开数据库 'msdb'。恢复操作已将该数据库标记为 SUSPECT。有关详细信息,请参阅 SQL Server 错误日志。 (Microsoft SQL Server,错误: 926)
恢复步骤:
1 停止sqlserver服务,备份msdb数据库
2 将数据库设置为单用户模式
启动sqlserver服务,将数据库设置为单用户模式
ALTER DATABASE ErrorDB SET SINGLE_USER
3 从其他机器拷贝msdb数据库过来,直接替换msdb数据库文件和日志文件
4 对数据库进行检查修复
dbcc checkdb(EIMSDb,REPAIR_ALLOW_DATA_LOSS
dbcc checkdb(EIMSDb,REPAIR_REBUILD)
5 取消单用户模式
exec sp_dboption EIMSDb, N'single', N'false'
备注:
因为刚开始担心从其他地方拷贝过来的msdb数据库和服务器上的版本不一致,所以想先尝试单纯通过语句解决,所以按网络上搜出的一些说明执行了一些语句,有的成功(设置为单用户),其他执行失败,所以才又尝试的替换文件.
如果不先执行这些,备份后直接替换,可能也是可以的.