Поделиться через


Настройка доступности в ферме с помощью зеркального отображения баз данных SQL Server

В этой статье описывается порядок использования зеркального отображения базы данных с высоким уровнем доступности для настройки доступности в ферме для Microsoft Office SharePoint Server 2007. Для ознакомления с этой статьей требуется знание понятий и терминов, представленных в разделе Планирование доступности (Office SharePoint Server).

Зеркальное отображение базы данных в Microsoft SQL Server 2005 обеспечивает поддержку высокого уровня доступности за счет передачи транзакций непосредственно с основной базы данных и основного сервера в зеркальную базу данных и на зеркальный сервер во всех случаях, когда буфер журнала транзакции основной базы данных записывается на диск. Для обеспечения доступности в ферме Office SharePoint Server 2007 рекомендуется использовать зеркальное отображение базы данных с высоким уровнем доступности, называемое также режимом высокой безопасности, с автоматической отработкой отказа. В зеркальном отображении базы данных с высоким уровнем доступности принимают участие три экземпляра серверов: основной, зеркальный и следящий. Благодаря следящему серверу обеспечивается автоматическое аварийное переключение SQL Server с основного сервера на зеркальный. Аварийное переключение с основной базы данных на зеркальную занимает обычно всего несколько секунд.

В ферме SharePoint зеркальное отображение позволяет обеспечить резервирование всех баз данных — в случае обработки отказа подразумевается, что интерфейсные веб-серверы остаются доступными. На следующем рисунке показан порядок настройки зеркального отображения для обеспечения высокого уровня доступности в ферме.

Диаграмма зеркального отображения всех баз данных внутри фермы

В Office SharePoint Server 2007 зеркальное отображение не поддерживается. Чтобы использовать зеркальное отображение для обеспечения высокого уровня доступности, рекомендуется настроить базы данных на использование присвоения псевдонимов клиентам SQL Server и выполнение сценариев изменения псевдонимов клиентов SQL Server в случае обработки отказа.

Требования для зеркального отображения баз данных

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

  • Рекомендуемое значение задержки в системе: не более 1 мс.

  • Рекомендуемая пропускная способность системы: 1 гигабайт в секунду.

  • Копирование журналов между основным и зеркальным серверами осуществляется в режиме реального времени и может отрицательно повлиять на быстродействие. Убедитесь, что на основном и зеркальном серверах присутствует достаточный объем памяти и пропускной способности.

  • Основной и зеркальный серверы должны работать под управлением одинакового выпуска Microsoft SQL Server 2005 с пакетом обновления 1 (SP1). Зеркальное отображение баз данных поддерживается только в выпусках Standard, Developer и Enterprise. Следящий сервер может работать под управлением любой версии SQL Server 2005, в том числе SQL Server 2005 Express Edition.

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

    По умолчанию базы данных поставщика общих служб Office SharePoint Server 2007 настроены на использование простой модели восстановления. Чтобы настроить зеркальное отображение базы данных, необходимо задать для этой базы полную модель восстановления. Дополнительные сведения о настройке модели восстановления для базы данных см. в статье Как просмотреть или изменить модель восстановления базы данных (среда SQL Server Management Studio) (https://go.microsoft.com/fwlink/?linkid=132075&clcid=0x419).

  • Если планируется зеркальное отображение баз данных поставщика общих служб, следует учитывать, что размер журнала транзакций для таких баз данных может быть очень большим. Чтобы решить эту проблему, рекомендуется разработать план восстановления, обеспечивающий усечение журналов транзакций при необходимости. Дополнительные сведения см. в статье базы знаний Майкрософт Как не допустить неконтролируемое увеличение размера журнала транзакций базы данных сервера SQL Server (https://go.microsoft.com/fwlink/?linkid=111458&clcid=0x419).

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

    В среде внешнего размещения Microsoft рекомендуется выполнять зеркальное отображение не более 50 баз данных для одного экземпляра SQL Server, на котором размещаются технологии и продукты SharePoint. Это значение получено на практике и основывается на интенсивности использования ресурсов операциями зеркального отображения (для каждого основного и зеркального экземпляра требуется отдельный поток) и проверки. Это значение может изменяться в конкретных ситуациях в зависимости от следующих факторов.

    • Объем памяти основного и зеркального экземпляра.

    • Вычислительная мощность основного и зеркального экземпляра.

    • Пропускная способность подсистем ввода-вывода основного и зеркального экземпляра.

    • Объем журналов транзакций, формируемых при работе каждой из баз данных.

    • Пропускная способность сети между основным и зеркальным экземплярами.

Дополнительные сведения о быстродействии и масштабах зеркального отображения баз данных см. в статье Зеркальное отображение баз данных в SQL Server 2005 (на английском языке) (https://go.microsoft.com/fwlink/?linkid=83566&clcid=0x419) (на английском языке).

Система безопасности, связанная с зеркальным отображением баз данных

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

  • Проверка подлинности Windows (NTLM или Kerberos)

  • Сертификаты

В этом документе описывается порядок зеркального отображения баз данных с применением сертификатов. Дополнительные сведения об использовании проверки подлинности Windows с зеркальным отображением баз данных см. в статье Пример. Настройка зеркального отображения базы данных с помощью проверки подлинности Windows (язык Transact-SQL) (https://go.microsoft.com/fwlink/?linkid=83567&clcid=0x419).

Если сеть не является защищенной, данные, передаваемые во время сеанса, необходимо шифровать. В этом документе рассматривается порядок настройки шифрования данных, передаваемых в проводной среде, с использованием алгоритма RC4. Тем не менее функция зеркального отображения баз данных поддерживает алгоритмы шифрования AES и RC4. Дополнительные сведения о системе безопасности, связанной с зеркальным отображением баз данных, см. в статье Защита транспорта зеркального отображения базы данных (https://go.microsoft.com/fwlink/?linkid=83569&clcid=0x419).

Система безопасности SharePoint и зеркальные серверы

При настройке зеркальной базы данных учетные данные и разрешения SQL Server для базы данных, которые будут использоваться с фермой SharePoint, не настраиваются автоматически в базах данных master и msdb на зеркале. Вместо этого следует настроить разрешения для требуемых учетных данных. К ним, помимо прочих, относятся следующие.

  • Учетная запись пула приложений центра администрирования должна быть членом фиксированных ролей сервера dbcreator и securityadmin.

  • Все учетные записи пула приложений, служб поиска и учетные записи по умолчанию для доступа к контенту должны иметь учетные данные SQL Server, даже если они не назначены фиксированным ролям сервера и базы данных SQL Server.

  • Члены группы SharePoint "Администраторы фермы" также должны иметь учетные данные SQL Server и должны быть членами тех же ролей, что и учетные записи пула приложений центра администрирования.

Рекомендуется перемещать учетные данные и разрешения с основного на зеркальный сервер с помощью сценария. Образец сценария доступен в статье базы знаний 918992 Перемещение имен входа и паролей между экземплярами SQL Server 2005 (https://go.microsoft.com/fwlink/?linkid=122053&clcid=0x419). Дополнительные сведения о перемещении метаданных SQL Server между экземплярами см. в электронной документации по SQL Server в статье Управление метаданными при обеспечении доступности базы данных на другом экземпляре сервера (https://go.microsoft.com/fwlink/?linkid=122055&clcid=0x419).

Рекомендуемые топологии

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

К поддерживаемым топологиям относятся зеркальное отображение всех баз данных контента, конфигурации, а также баз данных контента центра администрирования. Кроме того, для Office SharePoint Server можно выполнить зеркальное отображение баз данных поиска, контента и обычных баз данных поставщика общих служб.

На следующем рисунке показаны некоторые поддерживаемые топологии.

Поддерживаемые топологии для зеркалирования

Не рекомендуется использовать топологии, в которых отсутствуют сопоставленные основной и зеркальный серверы. Кроме того, следует хранить базы данных конфигурации и контента администрирования на одном сервере. На следующем рисунке показана неподдерживаемая топология.

Неподдерживаемые топологии для зеркалирования

Настройка псевдонимов подключений SQL Server

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

Примечание

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

Выполните следующие действия на каждом интерфейсном веб-сервере и каждом сервере, подключающемся к SQL Server.

  1. Запустите собственную программу сетевого клиента SQL Server (%SYSTEM%\cliconfg.exe).

  2. На вкладке Псевдоним нажмите кнопку Добавить.

    Открывается диалоговое окно "Добавление конфигурации сетевой библиотеки".

  3. Установите переключатель "TCP/IP", введите псевдоним, имя сервера, сопоставленное с псевдонимом, и нажмите кнопку ОК.

  4. Повторите эти действия для всех серверов, подключающихся к SQL Server.

Настройка зеркального отображения базы данных

В этом разделе описывается порядок настройки зеркального отображения базы данных SQL Server в режиме высокой доступности с использованием языка Transact-SQL.

Настройка зеркального отображения при работе с продуктами и технологиями SharePoint осуществляется отдельно для каждой базы данных.

В этом разделе описываются действия по настройке для следующей топологии фермы серверов.

  • Один или несколько интерфейсных веб-серверов.

  • Три сервера под управлением SQL Server 2005: основной, зеркальный и следящий.

  • Одна база данных конфигурации.

  • Несколько баз данных контента.

  • Одна или несколько баз данных поставщика общих служб.

Настройка зеркального отображения базы данных с сертификатами и полным восстановлением

Для каждого шага перечислены серверы, для которых этот шаг выполняется. Для передачи команд на SQL Server используйте язык Transact-SQL. Данные заполнителя в угловых скобках (<>) заменяются данными конкретного развертывания.

Настройка исходящих подключений на основном сервере

  1. На основном сервере создайте сертификат и откройте порт для зеркального отображения.

    --On master database, create the database Master Key, if needed
    CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<test1234->';
    GO
    -- Make a certificate for this server instance.
    USE master;
    CREATE CERTIFICATE <MASTER_HostA_cert> 
       WITH SUBJECT = '<Master_HostA certificate>';
    GO
    --Create mirroring endpoint for server instance using the certificate
    CREATE ENDPOINT Endpoint_Mirroring
       STATE = STARTED
       AS TCP (
          LISTENER_PORT=5024
          , LISTENER_IP = ALL
       ) 
       FOR DATABASE_MIRRORING ( 
          AUTHENTICATION = CERTIFICATE <MASTER_HostA_cert>
          , ENCRYPTION = REQUIRED ALGORITHM RC4
          , ROLE = ALL
       );
    GO
    
  2. На основном сервере выполните архивацию сертификата.

    --Back up HOST_A certificate.
    BACKUP CERTIFICATE MASTER_HostA_cert TO FILE = '<c:\MASTER_HostA_cert.cer>';
    GO
    
  3. На основном сервере выполните архивацию базы данных. В этом примере используется база данных конфигурации. Повторите эти действия для всех баз данных.

    USE master;
    --Ensure that SharePoint_Config uses the full recovery model.
    ALTER DATABASE SharePoint_Config
       SET RECOVERY FULL;
    GO
    USE SharePoint_Config
    BACKUP DATABASE SharePoint_Config 
        TO DISK = '<c:\SharePoint_Config.bak>' 
        WITH FORMAT
    GO
    BACKUP Log SharePoint_Config 
        TO DISK = '<c:\SharePoint_Config_log.bak>' 
        WITH FORMAT
    GO
    
  4. Скопируйте файл архива на зеркальный сервер. Повторите эти действия для всех баз данных.

  5. С использованием защищенного способа копирования скопируйте файл архива сертификата (например, C:\HOST_HostA_cert.cer) на зеркальный сервер.

  6. На основном сервере создайте имя для входа и пользователя для зеркального сервера; сопоставьте сертификат с этим пользователем и предоставьте этому имени разрешения на подключение для установления партнерских отношений.

    --Create a login on HOST_A for HOST_B
    USE master;
    CREATE LOGIN <HOST_HostB_login> WITH PASSWORD = '<1234-test>';
    GO
    --Create a user for that login.
    CREATE USER <HOST_HostB_user> FOR LOGIN <HOST_HostB_login>;
    GO
    --Associate the certificate with the user
    CREATE CERTIFICATE <HOST_HostB_cert>
       AUTHORIZATION <HOST_HostB_user>
       FROM FILE = '<c:\HOST_HostB_cert.cer>' --do not try to use a network path, SQL Server will give an error about the key not being valid
    GO
    --Grant CONNECT permission on the login for the remote mirroring endpoint.
    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [<HOST_HostB_login>];
    GO
    

Настройка исходящих подключений на зеркальном сервере

  1. На зеркальном сервере создайте сертификат и откройте порт для зеркального отображения.

    --On master database, create the database Master Key, if needed.
    USE master;
    CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<1234-test>';
    GO
    -- Make a certificate on the HOST_B server instance.
    CREATE CERTIFICATE <HOST_HostB>
       WITH SUBJECT = '<HOST_HostB certificate for database mirroring>';
    GO
    --Create a mirroring endpoint for the server instance on HOST_B.
    CREATE ENDPOINT Endpoint_Mirroring
       STATE = STARTED
       AS TCP (
          LISTENER_PORT=5024
          , LISTENER_IP = ALL
       ) 
       FOR DATABASE_MIRRORING ( 
          AUTHENTICATION = CERTIFICATE <HOST_HostB>
          , ENCRYPTION = REQUIRED ALGORITHM RC4
          , ROLE = ALL
       );
    GO
    
  2. На зеркальном сервере выполните архивацию сертификата.

    --Back up HOST_B certificate.
    BACKUP CERTIFICATE <HOST_HostB> TO FILE = '<C:\HOST_HostB_cert.cer>';
    GO 
    
  3. С использованием защищенного способа копирования скопируйте файл архива сертификата (например, C:\HOST_HostB_cert.cer) на основной сервер.

  4. На зеркальном сервере выполните восстановление базы данных из файлов архива. В этом примере используется база данных конфигурации. Повторите эти действия для всех баз данных.

    RESTORE DATABASE SharePoint_Config 
        FROM DISK = '<c:\SharePoint_Config.bak>' 
        WITH NORECOVERY
    GO
    RESTORE log SharePoint_Config 
        FROM DISK = '<c:\SharePoint_Config_log.bak>' 
        WITH NORECOVERY
    GO
    

Настройка входящих подключений на зеркальном сервере

  • На зеркальном сервере создайте имя для входа и пользователя для основного сервера; сопоставьте сертификат с этим пользователем и предоставьте этому имени разрешения на подключение для установления партнерских отношений.

    --Create a login on HOST_B for HOST_A
    USE master;
    CREATE LOGIN <MASTER_HostA_login> WITH PASSWORD = '<test1234->';
    GO
    --Create a user for that login.
    CREATE USER <MASTER_HostA_user> FOR LOGIN <MASTER_HostA_login>;
    GO
    --Associate the certificate with the user
    CREATE CERTIFICATE <MASTER_HostA_cert>
       AUTHORIZATION <MASTER_HostA_user>
       FROM FILE = '<c:\MASTER_HostA_cert.cer>' --do not try to use a network path, SQL Server will give an error about the key not being valid
    GO
    --Grant CONNECT permission on the login for the remote mirroring endpoint.
    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [<MASTER_HostA_login>];
    GO
    

Настройка входящих подключений на основном сервере

  • На основном сервере создайте имя для входа и пользователя для зеркального сервера; сопоставьте сертификат с этим пользователем и предоставьте этому имени разрешения на подключение для установления партнерских отношений.

    --Create a login on HOST_A for HOST_B
    USE master;
    CREATE LOGIN <HOST_HostB_login> WITH PASSWORD = '<1234-test>';
    GO
    --Create a user for that login.
    CREATE USER <HOST_HostB_user> FOR LOGIN <HOST_HostB_login>;
    GO
    --Associate the certificate with the user
    CREATE CERTIFICATE <HOST_HostB_cert>
       AUTHORIZATION <HOST_HostB_user>
       FROM FILE = '<c:\HOST_HostB_cert.cer>' --do not try to use a network path, SQL Server will give an error about the key not being valid
    GO
    --Grant CONNECT permission on the login for the remote mirroring endpoint.
    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [<HOST_HostB_login>];
    GO
    

Настройка партнеров по зеркальному отображению

  1. На основном сервере настройте партнерские отношения зеркального отображения. В этом примере используется база данных конфигурации. Повторите эти действия для всех баз данных.

    --At HOST_A, set server instance on HOST_B as partner (mirror server).
    ALTER DATABASE SharePoint_Config
        SET PARTNER = '<TCP://databasemirror.adatum.com:5024>';
    GO
    
  2. На зеркальном сервере настройте партнерские отношения зеркального отображения. В этом примере используется база данных конфигурации. Повторите эти действия для всех баз данных.

    --At HOST_B, set server instance on HOST_A as partner (principal server):
    ALTER DATABASE SharePoint_Config 
        SET PARTNER = '<TCP://databasemaster.adatum.com:5024>';
    GO
    

Настройка следящего сервера

Для каждого шага перечислены серверы, для которых этот шаг выполняется. Для передачи команд на SQL Server используйте язык Transact-SQL. Данные заполнителя в угловых скобках (<>) заменяются данными конкретного развертывания.

  1. На следящем сервере настройте сертификат и откройте порт.

    --On master database, create the database Master Key, if needed
    CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<1234test->';
    GO
    -- Make a certificate for this server instance.
    USE master;
    CREATE CERTIFICATE <WITNESS_HostC_cert> 
       WITH SUBJECT = '<Witness_HostC certificate>';
    GO
    --Create mirroring endpoint for server instance using the certificate
    CREATE ENDPOINT Endpoint_Mirroring
       STATE = STARTED
       AS TCP (
          LISTENER_PORT=5024
          , LISTENER_IP = ALL
       ) 
       FOR DATABASE_MIRRORING ( 
          AUTHENTICATION = CERTIFICATE <WITNESS_HostC_cert
          , ENCRYPTION = REQUIRED ALGORITHM RC4
          , ROLE = ALL
       );
    GO
    
  2. На основном сервере выполните архивацию сертификата.

    --Back up HOST_C certificate 
    BACKUP CERTIFICATE <WITNESS_HostC_cert> TO FILE = '<c:\ WITNESS_HostC_cert.cer>';
    GO
    
  3. С использованием защищенного способа копирования скопируйте файл архива сертификата (например, C:\WITNESS_HOSTC_cert.cer) на основной и зеркальный серверы.

  4. С использованием защищенного способа копирования скопируйте файл архива сертификата (например, C:\WITNESS_HOSTC_cert.cer) на основной и зеркальный серверы.

    --Create a login on Witness HOST_C for Principal HOST_A
    USE master;
    CREATE LOGIN <MASTER_HostA_login> WITH PASSWORD = '<test1234->';
    GO
    --Create a user for that login.
    CREATE USER <MASTER_HostA_user> FOR LOGIN <MASTER_HostA_login>;
    GO
    --Associate the certificate with the user
    CREATE CERTIFICATE <MASTER_HostA_cert>
       AUTHORIZATION <MASTER_HostA_user>
       FROM FILE = '<c:\MASTER_HostA_cert.cer>' --do not try to use a network path, SQL Server will give an error about the key not being valid
    GO
    --Grant CONNECT permission on the login for the remote mirroring endpoint.
    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [<MASTER_HostA_login>];
    GO
    --Create Login for Mirror Host B
    CREATE LOGIN <HOST_HostB_login> WITH PASSWORD = '<1234-test>';
    GO
    --Create a user for that login.
    CREATE USER <HOST_HostB_user> FOR LOGIN <HOST_HostB_login>;
    GO
    --Associate the certificate with the user
    CREATE CERTIFICATE <HOST_HostB_cert>
       AUTHORIZATION <HOST_HostB_user>
       FROM FILE = '<c:\HOST_HostB_cert.cer>' --do not try to use a network path, SQL Server will give an error about the key not being valid
    GO
    --Grant CONNECT permission on the login for the remote mirroring endpoint.
    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [<HOST_HostB_login>];
    GO
    
  5. На основном сервере создайте имя для входа и пользователя для следящего сервера; сопоставьте сертификат с этим пользователем и предоставьте этому имени разрешения на подключение для установления партнерских отношений. Повторите эти действия для зеркального сервера.

    --Create a login on Master HostA for Witness HostC
    USE master;
    CREATE LOGIN <WITNESS_HostC_login> WITH PASSWORD = '<1234test->';
    GO
    --Create a user for that login.
    CREATE USER <WITNESS_HostC_user> FOR LOGIN <WITNESS_HostC_login>;
    GO
    --Associate the certificate with the user
    CREATE CERTIFICATE <WITNESS_HostC_cert>
       AUTHORIZATION <WITNESS_HostC_user>
       FROM FILE = '<c:\WITNESS_HostC_cert.cer>' --do not try to use a network path, SQL Server will give an error about the key not being valid
    GO
    --Grant CONNECT permission on the login for the remote mirroring endpoint.
    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [<WITNESS_HostC_login>];
    GO
    
  6. На основном сервере присоедините следящий сервер. В этом примере используется база данных конфигурации. Повторите эти действия для всех баз данных.

    --Setup the Witness Server
    ALTER DATABASE SharePoint_Config
        SET WITNESS = 
        '<TCP://databasewitness.adatum.com:5024>'
    GO
    

Перемещение разрешений на зеркальный сервер

При настройке зеркальной базы данных учетные данные и разрешения SQL Server для базы данных, которые будут использоваться с фермой SharePoint, не настраиваются автоматически в базах данных master и msdb на зеркале. Вместо этого следует настроить разрешения для требуемых учетных данных.

Рекомендуется перемещать учетные данные и разрешения с основного на зеркальный сервер с помощью сценария. Рекомендуемый образец сценария доступен в статье базы знаний 918992 Перемещение имен входа и паролей между экземплярами SQL Server 2005 (https://go.microsoft.com/fwlink/?linkid=122053&clcid=0x419).

Отслеживание состояния зеркального отображения

На следящем сервере можно отслеживать текущее состояние зеркального отображения с использованием следующих инструкций языка Transact-SQL.

SELECT mirroring_role FROM sys.database_mirroring WHERE mirroring_role is not null --If returns a 1, principal, if 2: mirror

Можно создать последовательность заданий и оповещений SQL Server, позволяющих определить основной сервер, или создать службу Windows, которая будет выполнять эту команду для определения основного сервера.

Следующие шаги

После настройки зеркального отображения необходимо создать сценарии обработки отказа баз данных в ферме. Дополнительные сведения см. в разделе Отработка отказа и восстановление зеркальных баз данных в отдельной ферме.

SELECT mirroring_role FROM sys.database_mirroring WHERE mirroring_role is not null --If returns a 1, principal, if 2: mirror

Можно создать последовательность заданий и оповещений SQL Server, позволяющих определить основной сервер, или создать службу Windows, которая будет выполнять эту команду для определения основного сервера.

См. также

Другие ресурсы

Зеркальное отображение баз данных в SQL Server 2005 (на английском языке)