Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ответы АД.docx
Скачиваний:
16
Добавлен:
19.12.2018
Размер:
516.23 Кб
Скачать

18. Зеркальное отображение баз данных.

В SQL Server 2005 предусмотрено новое средство для повышения отказоустойчивости — зеркальное отображение баз данных (databasemirroring). При использовании этого средства изменения, которые вносятся в базу данных на основном сервере (он называется сервером-принципалом), мгновенно (или почти мгновенно, в зависимости от выбранных вами параметров) отображаются в копии базы данных на другом сервере SQL Server 2005.

Зеркальное отображение баз данных имеет преимущества по сравнению и с применением кластеров, и с доставкой журналов.

Преимущества перед использованием кластера следующие:

-      зеркальное отображение баз данных не требует применения специального оборудования;

-      серверы, которые участвуют в зеркальном отображении баз данных, не обязательно должны находиться рядом друг с другом;

-      в кластере серверы работают с одной физической базой данных, которая находится на внешнем RAID-массиве. Таким образом, выход из строя этого RAID-массива приведет к отказу всего кластера. В зеркальном отображении используются две отдельные копии базы данных, что повышает надежность работы.

По сравнению с доставкой журналов преимущества такие:

-      переключение ролей в случае отказа основного сервера может производиться автоматически (при наличии следящего сервера (witnessserver));

-      при применении зеркального отображения баз данных в некоторых ситуациях вам не потребуется вносить какие-либо изменения в сетевую инфраструктуру или в настройки клиентов. Клиенты при необходимости автоматически переключаются на использование зеркальной копии (это относится только к приложениям, которые используют SQL Native Client или .NET SQL Provider). Информацию о зеркальной копии можно указать в строке подключения (ее также может передать основной сервер при подключении к нему клиента);

-      при использовании доставки журналов всегда есть какое-то отставание при синхронизации данных на серверах (по крайней мере, на несколько минут). Применение зеркального отображения баз данных позволяет избежать такой задержки и гарантирует идентичность копий данных на обоих серверах.

Для зеркального отображения можно использовать два режима:

-      синхронный режим (synchronous mode) — при использовании этого режима транзакция не будет завершена, если она не прошла на обоих серверах. При использовании синхронного режима идентичность данных на двух серверах гарантируется. Однако скорость работы транзакций при этом может существенно замедлиться. Этот режим работы подразделяется еще на два:

·                ориентированный на отказоустойчивость (high-availability) — для этого режима обязательно использование следящего сервера. Этот режим гарантирует отказоустойчивость. В случае, когда основной сервер становится недоступным, следящий сервер автоматически меняет ролями сервер-принципал и сервер-зеркало. Если становится недоступным сервер-зеркало, то продолжается обычная работа. А если, например, стали одновременно недоступными и следящий сервер, и сервер-зеркало, то прекратится и работа базы данных на сервере-принципале — чтобы гарантировать, что сервер будет работать только в отказоустойчивом режиме;

·                ориентированный на защиту данных (high-protection) — в этом режиме можно обойтись без следящего сервера. Любая транзакция в этом режиме обязательно должна быть завершена на обоих серверах: так гарантируется идентичность данных на основной базе данных и на зеркале;

-      асинхронный режим (asynchronous mode, другое называние — high-performance mode (режим высокой производительности)) — в этом случае транзакция вначале завершается на первом сервере, а затем информация о ней немедленно передается на второй сервер. Задержек при работе транзакций уже не будет, но данные между серверами могут синхронизироваться с небольшим отставанием.

К сожалению, на момент выпуска SQL Server 2005 разработчикам не удалось полностью отладить технологию зеркального отображения баз данных и сделать ее пригодной для использования на рабочих серверах. Об этом разработчики честно предупреждают в документации. Нет никакой гарантии, что зеркальное отображение будет работать надежно. Кроме этого, служба поддержки Microsoft имеет право отказаться от поддержки тех серверов, на которых реализовано зеркальное отображение баз данных, а сама возможность зеркального отображения по умолчанию отключена. Чтобы ее включить, необходимо использовать специальное отладочное средство — флаг трассировки 1400. Его нужно указать в параметрах запуска сервера (как это сделать, будет рассказано в разд. 7.3.3). Тем не менее, технология зеркального отображения баз данных, которая фактически открывает преимущества кластеров для широкого применения, очень перспективна, и, скорее всего, через определенное время она будет использоваться очень активно.

 

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]