无法打开数据库MSDB
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法打开数据库MSDB相关的知识,希望对你有一定的参考价值。
我在我的机器上的SQL Server 2008 R2的本地实例中遇到此问题。这个实例上有几个数据库。但是我无法从对象资源管理器中看到它们中的任何一个。
我可以从新的查询窗口查询我的数据库。但是没能看到它们中的任何一个。
每当我尝试探索数据库时,我都会收到此错误:
无法打开数据库'msdb'。它通过恢复被标记为可疑。有关更多信息,请参阅SQL Server错误日志。 (Microsoft SQL Server,错误:926)。
我试过了
- 刷新连接
- 重新连接连接
- 重新启动服务Sql Server(MSSQLSERVER)。
- 重新启动SQL Server Management Studio
- 重新启动我的机器
我也试过上面的组合,但没有任何作用。
我的操作系统是Windows 7旗舰版(64位)。
SQL Server Management Studio版本为10.50.2500.0。
我在this链接中找到了我的答案。
编辑:包括来自链接的解决方案,因为将来可能的Linkrot。
使用sa
帐户登录,以获得两种解决方案。
解决方案1
- 打开新的查询窗口
EXEC sp_resetstatus 'DB_Name';
(解释:sp_resetstatus
关闭数据库上的可疑标志。此过程更新sys.databases
中指定数据库的模式和状态列。另请注意,只有具有sysadmin权限的登录才能执行此操作。)ALTER DATABASE DB_Name SET EMERGENCY;
(说明:数据库设置为EMERGENCY模式后,它将成为READ_ONLY副本,只有sysadmin固定服务器角色的成员才有权访问它。)DBCC checkdb('DB_Name');
(说明:检查所有对象之间的完整性。)ALTER DATABASE DB_Name SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
(说明:将数据库设置为单用户模式。)DBCC CheckDB ('DB_Name', REPAIR_ALLOW_DATA_LOSS);
(说明:修复错误)ALTER DATABASE DB_Name SET MULTI_USER;
(说明:将数据库设置为多用户模式,以便其他人可以访问它。)
解决方案2
- 在对象资源管理器 - >打开的连接项 - >右键单击 - >停止
- 打开控制面板 - >管理工具 - >服务
- 从服务中选择
Sql Server (MSSQLSERVER)
项目 - >右键单击 - >停止 - 打开
C:Program FilesMicrosoft SQL ServerMSSQL10.MSSQLSERVERMSSQLDATA
- 将
MSDBData.mdf
和MSDBlog.ldf
移动到任何其他地方 - 然后从新位置再次复制此文件并将其放在较旧的位置
C:Program FilesMicrosoft SQL ServerMSSQL10.MSSQLSERVERMSSQLDATA
- 在对象资源管理器中打开连接 - >右键单击 - >开始
- 然后刷新数据库。
- 然后你可以分离MSDB文件
第二个解决方案对我有用。
注意:我必须从另一台工作机器获取“msdb”数据库mdf和ldf文件才能使其正常工作。
立即修复我的问题是替换现有的MSDBData.mdf和MSDBlog.ldf文件
在C: Program Files Microsoft SQL Server MSSQL10_50.SQLEXPRESS MSSQL DATA中。我从另一台工作机器上复制了这两个文件,停止在我的机器上运行的SQL服务,从他们的位置删除了上面现有的2个文件并添加了新的2个复制文件。一旦我重新启动服务,问题就得到了解决。
以上是关于无法打开数据库MSDB的主要内容,如果未能解决你的问题,请参考以下文章
我无法从另一个带有 recyclerview.adaper 的片段中打开带有 recyclerview.adapter 的片段
Python 自动化 - 浏览器chrome打开F12开发者工具自动Paused in debugger调试导致无法查看网站资源问题原因及解决方法,javascript反调试问题处理实例演示(代码片段