Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье показано, как устранить проблему, из-за которой зеркальные базы данных остаются в состоянии "Отсоединение" или "Восстановление".
Исходная версия продукта: SQL Server
Исходный номер базы знаний: 2490051
Симптом
Рассмотрим следующий сценарий.
У вас есть компьютер, на котором выполняется вторичный экземпляр Microsoft SQL Server в зеркале двухсерверной базы данных.
Использование ЦП достигает 100 процентов на компьютере, и вы не можете остановить службу SQL Server с помощью средств управления SQL Server.
Завершите процесс вторичного экземпляра SQL Server с помощью диспетчера задач.
Перезапустите дополнительный экземпляр SQL Server.
В этом сценарии все зеркальные базы данных находятся в состоянии "Отсоединение" или "Восстановление". Кроме того, сообщение об ошибке, похожее на следующее, регистрируется в журнале ошибок SQL Server для каждой базы данных:
Обход восстановления для базы данных "Имя базы данных", так как она помечена как недоступная база данных зеркального отображения. Проблема с сеансом зеркального отображения. Этому сеансу не хватает кворума, или каналы связи были разорваны из-за проблем с соединениями, конфигурациями конечных узлов или разрешениями (для учетной записи сервера или сертификатом безопасности). Для получения доступа к этой базе данных выясните, что изменилось в конфигурации сеанса, и отмените эти изменения.
Причина
Эта проблема возникает из-за проблем в конечных точках зеркального отображения базы данных SQL Server.
Решение
Чтобы устранить эту проблему, используйте следующие методы. Если первый метод не устраняет проблему, используйте второй метод.
Метод 1
Перезапустите конечную точку в зеркале базы данных. Для этого выполните следующие шаги.
В основной базе данных выполните следующий скрипт SQL, чтобы остановить конечную точку:
ALTER ENDPOINT <Endpoint Name> STATE=STOPPEDВыполните следующий скрипт SQL, чтобы перезапустить конечную точку:
ALTER ENDPOINT <Endpoint Name> STATE=STARTEDПримечание.
Если обмен данными между конечными точками не перезапускается после выполнения скриптов, запустите скрипты в зеркале базы данных. Однако после этого база данных может ввести приостановленное состояние. Если эта проблема возникает, выполните следующий скрипт SQL:
ALTER DATABASE <Database Name> SET PARTNER RESUME
Метод 2.
Удалите и повторно создайте конечные точки зеркального отображения базы данных на обоих серверах.