Я настроил настройку зеркального отображения базы данных в SQL 2008, используя высокобезопасный синхронный режим без автоматического переключения при сбое. У меня нет экземпляра Свидетеля.
Что касается высокой доступности, я понимаю, что зеркалирование - лучшая стратегия, чем доставка журналов (более быстрое и плавное переключение при отказе), и дешевле, чем кластеризация (из-за стоимости лицензии и оборудования).
Согласно документам MS, для выполнения аварийного переключения вам необходимо получить доступ к основной базе данных и в параметрах «Зеркало» нажать кнопку «Failover». Но я хочу сделать это из Зеркало база данных, потому что какая будет польза, если вся эта настройка выполняется в случае сбоя основного сервера?
Очевидно, я что-то упускаю. Если зеркалирование не является решением проблемы простоя сервера (как и кластеризация, если я правильно понимаю), то в каких практических случаях (например, в реальных примерах) зеркалирование будет полезно для целей обеспечения высокой доступности?
Большое спасибо за Ваш ответ! Мне действительно нужно просветление.
Если ваш принципал выходит из строя, вы можете принудительно включить базу данных зеркала, но с риском потери любых транзакций, которые были зафиксированы на принципале, но не попали в зеркало.
ALTER DATABASE YourDatabaseName SET PARTNER FORCE_SERVICE_ALLOW_DATA_LOSS
Выполните этот запрос на зеркале, и база данных станет новым (открытым) участником. Как только ваш предыдущий основной экземпляр снова подключится к сети, зеркальное отображение между ними будет приостановлено. Вам придется вручную повторно включить зеркалирование, при этом вы получите предупреждение о возможной потере данных из-за того, как предыдущее зеркало было переведено в оперативный режим.
Проще говоря, вы должны активировать зеркало с основного сервера в режиме высокой безопасности без автоматической отработки отказа.
Этот метод отлично подходит для плановых отключений и обслуживания. Это не очень полезно в случае аварии или незапланированного простоя, поскольку вы не можете переключиться при отказе без доступа к основному серверу.
Я использую очень дешевый старый компьютер с MSSQL Express в качестве сервера мониторинга. На нем стоит Windows XP Pro. Я уверен, что вы сможете найти небольшой компьютер для выполнения задачи сервера мониторинга. Подойдет то, что соответствует минимальным требованиям для MSSQL Express.
Надеюсь это поможет.