Я запускаю MSSQL Server 11.0.2100 (SQL Server 2012) и каждый раз, когда перезапускаю MSSQLSERVER service
на основном или зеркальном сервере зеркало базы данных разрывается, и база данных устанавливается в In Recovery
mode на перезапущенном экземпляре SQL.
У меня нет проблем с настройкой зеркальной базы данных, и я могу без проблем переключиться между основным или зеркальным сервером, но каждый раз, когда я перезапускаю MSSQLSERVER service
все ломается.
После того, как база данных будет установлена на In Recovery
режим вывести из него невозможно. Единственный вариант - удалить (drop
) база данных.
Бег Alter Database TestDB SET PARTNER OFF
генерирует следующую ошибку:
Msg 945, уровень 14, состояние 2, строка 1
База данных TestDB не может быть открыта из-за недоступных файлов, нехватки памяти или места на диске. См. Подробности в журнале ошибок SQL Server.
Бег Restore Database TestDB WITH RECOVERY
генерирует следующую ошибку:
Msg 3104, уровень 16, состояние 1, строка 1
RESTORE не может работать с базой данных TestDB, потому что она настроена для зеркального отображения базы данных или присоединилась к группе доступности. Если вы собираетесь восстановить базу данных, используйте ALTER DATABASE, чтобы удалить зеркальное отображение или удалить базу данных из ее группы доступности. Msg 3013, уровень 16, состояние 1, строка 1 RESTORE DATABASE завершается ненормально. *
Не работает ли зеркальное отображение базы данных на 11.0.2100 или у меня какие-то проблемы с разрешениями?
После установки 10.50.4000 (SQL Server 2008 R2 + Service Pack 2) на главном сервере и на зеркале и настройки его точно так же, как на 11.0.2100, теперь я могу подтвердить, что есть некоторые серьезные проблемы с зеркальным отображением базы данных в 11.0.2100. Зеркальное отображение базы данных просто не работает в 11.0.2100.
При запуске 10.50.4000 все работает нормально, и я могу без проблем перезапустить службу MSSQLSERVER.
Извлеченный урок: никогда не используйте версию SQL Server, для которой не выпущен пакет обновления.