База данных MSDB не может быть открыта

У меня есть эта проблема в локальном экземпляре 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.

3 ответов


я нашел свой ответ в этой ссылка.

EDIT: включая оба решения из ссылки из-за возможного Linkrot в будущем.

войти sa account, для обоих решений.

Решение 1

  1. открыть новое окно запроса

  2. EXEC sp_resetstatus 'DB_Name'; (пояснение :sp_resetstatus отключает флаг подозреваемого в базе данных. Этот процедура обновляет столбцы mode и status именованной базы данных в 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. в Обозревателе объектов --> открытый элемент подключения --> щелкните правой кнопкой мыши --> Остановка Object Explorer

  2. Панель Управления --> Администрирование --> Службы Control Panel -> Administrative Tools -> Services

  3. выберите Sql Server (MSSQLSERVER) пункт из служб --> rightclick --> Stop Stop Sql Server (MSSQLSERVER)

  4. открыть C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA

  5. движение MSDBData.mdf & MSDBlog.ldf в любое другое место

  6. затем скопируйте эти файлы снова с нового места и поместите его в старый место

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

  7. в открытом соединении в обозревателе объектов --> rightclick --> Start

  8. Затем Обновить Базу Данных.

  9. затем вы можете отсоединить файл MSDB

2-е решение сработало для меня.

Примечание : мне пришлось получить mdf-файлы базы данных" msdb " и ldf с другой рабочей машины, чтобы заставить ее работать.


что мгновенно исправило мою проблему, чтобы заменить существующие MSDBData.mdf & MSDBlog.ldf файлы

in C:\Program файлы\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS\MSSQL\DATA. Я получил эти 2 файла, скопированные с другой рабочей машины, остановил службу SQL, запущенную на моей машине, удалил выше существующие 2 файла из их местоположения и добавил новые 2 скопированные. Как только я перезапустил службу , проблемы были исправлены.


"база данных в подозрительном режиме" является одной из распространенных ошибок, с которыми сталкиваются многие пользователи SQL и DBA. Общей причиной этой ошибки может быть поврежденный файл журнала, неправильное завершение работы SQL Server,отсутствие места в памяти и т. д. Вы можете восстановить его, выполнив команды repair. Вот пошаговый подход к восстановление базы данных из подозрительного режима.