Назад | Перейти на главную страницу

Не удается получить доступ к базе данных при входе в систему как SA

Мы используем смешанный режим аутентификации. Я могу видеть и обрабатывать все базы данных на сервере, кроме одной. Я вошел в систему как учетная запись SA. Одна база данных не расширяется в SSMS, когда я пытаюсь ее просмотреть и получаю сообщение об ошибке:

«База данных недоступна (ObjectExplorer)»

Когда я пытаюсь на это посмотреть. Журналы ошибок бесполезны. Резервное копирование также не выполняется.

Любые идеи? Могло ли оно быть коррумпированным? Каковы следующие шаги, чтобы вернуть это в действие?

Спасибо!!

Если вы можете видеть базу данных при входе в систему как вы, но не как SA, то это проблема с разрешениями. SA должна быть ограничена для этой базы данных. Проконсультируйтесь с администратором базы данных. Если вы являетесь администратором базы данных, войдите в систему как вы и проверьте разрешения SA.

Если вы не видите его независимо от того, кто вошел в систему, возможно, он отключен или отключен.

Кроме того, его лучше разместить на ServerFault.com.

Изменить снова

Была ли эта база данных недавно восстановлена ​​с другого сервера? Не могу поверить, что не подумал об этом, потому что это случилось со мной только в прошлом месяце ... Если это было восстановлено из резервной копии, сделанной на другом сервере, у меня есть другой возможный вариант ...

Мы с вами видим SA для входа в систему как «SA», но под капотом SQL Server видит его с другим идентификатором. (Думаю, это гид).

Время от времени мне приходится делать резервную копию БД с нашего живого сервера и восстанавливать ее на нашем тестовом сервере. Когда это происходит, разрешения не устанавливаются правильно ни для каких учетных записей SQL Server (но они подходят для входа в Windows). Я могу посмотреть, например, таблицу, которая показывает, что SA имеет доступ, но когда я пытаюсь подключиться с помощью SA , У меня такое же сообщение.

В конце концов мы поняли, что нам нужно УДАЛИТЬ пользователя SA из базы данных, затем УДАЛИТЬ его на уровне сервера, а затем снова настроить его резервную копию с соответствующими разрешениями.

Это из-за несоответствия между идентификаторами, которые SQL Server использует для "дружественного" имени пользователя.

Например, на нашем тестовом сервере SA может иметь идентификатор abc, а на нашем реальном сервере идентификатор может быть def. Как-то это портит ситуацию при восстановлении БД с одного сервера на другой.

Здесь есть статья об этом: http://searchsqlserver.techtarget.com/tip/Restoring-a-database-from-another-SQL-Server

Ой. Вы должны зарегистрироваться для вышеупомянутого. Вот тот, для которого вам не нужно регистрироваться.

http://dbaspot.com/sqlserver-server/359100-database-not-accessible-objectexplorer.html

Последний содержит ссылки на базу знаний, которая показывает лучший способ исправить это, чем то, как я это делал. Это цифры. Итак, даже если это не решает вашу проблему, вы помогли мне найти лучший ответ для моего, поэтому +1 вам за то, что задали вопрос и помогли мне.