首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数据库MSDB无法打开

数据库MSDB无法打开
EN

Stack Overflow用户
提问于 2013-04-26 05:36:22
回答 2查看 58.4K关注 0票数 19

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

我能够从新的查询窗口查询我的数据库。却看不见他们中的任何一个。

每当我试图探索数据库时,我都会得到以下错误:

无法打开数据库'msdb‘。它已被认定为犯罪嫌疑人。有关详细信息,请参阅Server错误日志。(Microsoft,错误: 926).

我试过了

  1. 刷新连接
  2. 重新连接连接
  3. 重新启动服务MSSQLSERVER (MSSQLSERVER)。
  4. 重启
  5. 重新启动我的机器

我也尝试了以上的组合,但没有任何效果。

我的操作系统是Windows 7终极版(64位)。

版本为10.50.2500.0。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-05-08 09:12:57

我在链接中找到了答案。

编辑:包括链接中的两种解决方案,因为将来可能会有http://en.wikipedia.org/wiki/Linkrot

使用sa帐户登录,用于这两种解决方案。

解决方案1

  1. 打开新查询窗口
  2. EXEC sp_resetstatus 'DB_Name'; (解释:sp_resetstatus关闭数据库上的可疑标志。此过程更新sys.databases中命名数据库的模式和状态列。还请注意,只有具有sysadmin特权的登录才能执行此操作。)
  3. ALTER DATABASE DB_Name SET 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. 在对象资源管理器中->打开的连接项->右键单击->停止

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

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

  1. 开放C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA
  2. MSDBData.mdf & MSDBlog.ldf移动到任何其他地方
  3. 然后再从新的地方复制这个文件,并把它放在旧的地方 C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA
  4. 在对象资源管理器中打开的连接中->右键单击->开始
  5. 然后刷新DataBase。
  6. 然后,您可以分离MSDB文件

第二个解决方案对我有效。

注意: I必须从另一台工作机器获得"msdb“数据库mdf和ldf文件才能正常工作。

票数 21
EN

Stack Overflow用户

发布于 2015-02-18 17:28:34

立即解决了我的问题是替换现有的MSDBData.mdf & MSDBlog.ldf文件

在C:\Program \Microsoft Server\MSSQL10_50.SQLEXPRESS\MSSQL\DATA中。我从另一台工作机器复制了这两个文件,停止了在我的机器中运行的SQL服务,从它们的位置删除了上面的两个文件,并添加了新的2个拷贝。一旦我重新启动服务,问题就解决了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16229415

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档