无法打开数据库MSDB

Dev*_*avi 13 ssms sql-server-2008-r2

我在我的机器上的SQL Server 2008 R2的本地实例中遇到此问题.这个实例上有几个数据库.但是我无法从对象资源管理器中看到它们中的任何一个.

我可以从新的查询窗口查询我的数据库.但是没能看到它们中的任何一个.

每当我尝试探索数据库时,我都会收到此错误:

无法打开数据库'msdb'.它通过恢复被标记为可疑.有关更多信息,请参阅SQL Server错误日志.(Microsoft SQL Server,错误:926).

我试过了

  1. 刷新连接
  2. 重新连接连接
  3. 重新启动服务Sql Server(MSSQLSERVER).
  4. 重新启动SQL Server Management Studio
  5. 重新启动我的机器

我也试过上面的组合,但没有任何作用.

我的操作系统是Windows 7旗舰版(64位).

SQL Server Management Studio版本为10.50.2500.0.

Dev*_*avi 13

我在这个链接中找到了答案.

编辑:包括链接的解决方案,因为未来可能会有Linkrot.

使用sa帐户登录,以获得两种解决方案.

解决方案1

  1. 打开新的查询窗口

  2. EXEC sp_resetstatus 'DB_Name';(说明:sp_resetstatus关闭数据库上的可疑标志.此过程更新指定数据库的模式和状态列sys.databases.另请注意,只有具有sysadmin权限的登录才能执行此操作.)

  3. ALTER DATABASE DB_Name SET EMERGENCY; (说明:数据库设置为EMERGENCY模式后,它将成为READ_ONLY副本,并且只有sysadmin固定服务器角色的成员才有权访问它.)

  4. DBCC checkdb('DB_Name'); (说明:检查所有对象之间的完整性.)

  5. ALTER DATABASE DB_Name SET SINGLE_USER WITH ROLLBACK IMMEDIATE; (说明:将数据库设置为单用户模式.)

  6. DBCC CheckDB ('DB_Name', REPAIR_ALLOW_DATA_LOSS); (说明:修复错误)

  7. ALTER DATABASE DB_Name SET MULTI_USER; (说明:将数据库设置为多用户模式,以便其他人可以访问它.)

解决方案2

  1. 在对象资源管理器 - >打开的连接项 - >右键单击 - >停止 对象浏览器

  2. 打开控制面板 - >管理工具 - >服务 控制面板 - >管理工具 - >服务

  3. Sql Server (MSSQLSERVER)从服务中选择项目 - >右键单击 - >停止 停止Sql Server(MSSQLSERVER)

  4. 打开 C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA

  5. 移动MSDBData.mdfMSDBlog.ldf其他任何地方

  6. 然后从新位置再次复制此文件并将其放在较旧的位置

    C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA

  7. 在对象资源管理器中打开连接 - >右键单击 - >开始

  8. 然后刷新数据库.

  9. 然后你可以分离MSDB文件

第二个解决方案对我有用.

注意:我必须从另一台工作机器获取"msdb"数据库mdf和ldf文件才能使其正常工作.