суббота, 9 июня 2012 г.

Step By Step: Настройка зеркального отображения БД в MS SQL Server (Mirroring)

Один из способов сделать вашу базу данных более доступной, а так же сохранить данные, является технология зеркалирование (Mirroring).

Данная технология появилась в MS SQL 2005 версии и была продолжена в MS SQL 2008, MS SQL2008R2, доступна в редакция Standart и Enterprise, в качестве свидетеля могут выступать редакции Express и Workgroup.
Ниже описывается метод без свидетеля и в домене Windows, экземпляры MS SQL Server работают под доменной учетной записью.





Итак вначале:

1.Необходимо убедиться, что на основной базе данных установлена модель восстановления FULL, к примеру так:

select name,recovery_model_desc from sys.databases where name='AdventureWorks2008R2'

AdventureWorks2008R2 FULL

2)Параметр «AuotClosed»БД должен быть установлен в «False» на обоих базах.
3)Учетная запись должна запуска экземпляров инстансов MS SQL должна принадлежать домену. Настройка зеркального отображения при отсутсвие домена или при использование вне доменных учетныз записей  описано на сайте Майкрософт http://msdn.microsoft.com/ru-ru/library/ms191477.aspx
4)Создать полную резервную копию основной базы данных, и восстановить с параметром «with norecovery» на зеркальном сервере, если пути расположения файлов баз данных различны, то укажите новое местоположение файлов.

Создать резервную копию журнала транзакций и её восстановить на бд зеркального сервера, так же с параметром «with norecovery»

После данных проверочных шагов, можно приступить к включению зеркалирования:

1)Выберите базу данных для зеркалирования

в открывшемся окне выберите «Настройка Безопасности Configure Security»


В следующем окне необходимо выбрать — использовать сервер свидетель или нет,

Далее создаем конечную точку для основного сервера

указываем порт (по умолчанию 5022) и название конечной точки
в следующем окне указываем конечную точку для зеркального сервера:

В окне настройки учетных данных служб  поля оставляем пустыми,и, наконец, «Finish»

После закрытия окна , появится окно, хотите ли вы запустить Зеркалирование по указанным параметрам

Жмем «Start Mirroring».Если все успешно, соединение происходит между основным и зеркальным сервером, то зеркалировани запуститься, впротивном случае необходимо изучить текст ошибки , просмотреть журналы ошибок.

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

В данном варианте выбрано- Высокая производительность(Асинхронный режим), т.е транзакция коммится на основном сервере, посылает ответ приложению об успешном окончание запроса, и только после этого идет транзакция на зеркальный сервер.В Standart Edition доступен только данный вид зеркалирования.

Нажимаем кнопку "OK"
Вот и все, зеркалирование(Mirroring) настроено.
Кстати, переключение между серверами возможно через команду:
alter database dbname set partner failover

Данная команда переключает роли между серверами, например когда вам надо провести работы с сервером.

4 комментария :

  1. Спасибо, за подробную инструкцию. Но с сертификатами все равно пришлось повозиться, т.к. севера были один в домене, а второй нет.

    ОтветитьУдалить
    Ответы
    1. то есть если оба сервера не в домене без сертификатов никак?

      Удалить
  2. то есть если оба сервера не в домене без сертификатов никак?

    ОтветитьУдалить
    Ответы
    1. да , нужны сертификаты, простой пример https://docs.microsoft.com/ru-ru/archive/blogs/suhde/step-by-step-guide-to-configure-database-mirroring-between-sql-server-instances-in-a-workgroup

      Удалить