База данных 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.
3 ответов
я нашел свой ответ в этой ссылка.
EDIT: включая оба решения из ссылки из-за возможного Linkrot в будущем.
войти sa account, для обоих решений.
Решение 1
- открыть новое окно запроса 
- EXEC sp_resetstatus 'DB_Name';(пояснение :- sp_resetstatusотключает флаг подозреваемого в базе данных. Этот процедура обновляет столбцы mode и status именованной базы данных в- sys.databases. Также обратите внимание, что это могут выполнять только логины с правами sysadmin.)
- ALTER DATABASE DB_Name SET 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)пункт из служб --> rightclick --> Stop 
- открыть - C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA
- движение - MSDBData.mdf&- MSDBlog.ldfв любое другое место
- 
затем скопируйте эти файлы снова с нового места и поместите его в старый место C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA
- в открытом соединении в обозревателе объектов --> rightclick --> Start 
- Затем Обновить Базу Данных. 
- затем вы можете отсоединить файл 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. Вот пошаговый подход к восстановление базы данных из подозрительного режима.
