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

В этом примере показаны все этапы создания сеанса зеркального отображения базы данных со следящим сервером, использующим проверку подлинности Windows. Примеры в этом подразделе используют язык Transact-SQL. Обратите внимание, что в качестве альтернативы использованию этапов Transact-SQL для установки зеркального отображения баз данных можно воспользоваться мастером конфигурации безопасности зеркального отображения баз данных. Дополнительные сведения см. в разделе Управление зеркальным отображением базы данных (среда SQL Server Management Studio).

Предварительные требования

В примере используется образец базы данных AdventureWorks, которая по умолчанию использует простую модель восстановления. Для зеркального отображения этой базы данных нужно переключить ее на модель полного восстановления. Чтобы сделать это с помощью языка Transact-SQL, воспользуйтесь инструкцией ALTER DATABASE, как показано ниже.

USE master;
GO
ALTER DATABASE AdventureWorks 
SET RECOVERY FULL;
GO

Дополнительные сведения об изменении модели восстановления в среде SQL Server Management Studio см. в разделе Как просмотреть или изменить модель восстановления базы данных (среда SQL Server Management Studio).

Пример

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

В следующей таблице представлены все значения, использованные в этом примере.

Начальная роль зеркального отображения

Система размещения

Доменная учетная запись пользователя

Основной сервер

PARTNERHOST1

<Mydomain>\<dbousername>

Зеркальный сервер

PARTNERHOST5

<Mydomain>\<dbousername>

Следящий сервер

WITNESSHOST4

<Somedomain>\<witnessuser>

  1. Создайте конечную точку на экземпляре основного сервера (экземпляр по умолчанию для PARTNERHOST1).

    CREATE ENDPOINT Endpoint_Mirroring
        STATE=STARTED 
        AS TCP (LISTENER_PORT=7022) 
        FOR DATABASE_MIRRORING (ROLE=PARTNER)
    GO
    --Partners under same domain user; login already exists in master.
    --Create a login for the witness server instance,
    --which is running as Somedomain\witnessuser:
    USE master ;
    GO
    CREATE LOGIN [Somedomain\witnessuser] FROM WINDOWS ;
    GO
    -- Grant connect permissions on endpoint to login account of witness.
    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [Somedomain\witnessuser];
    GO
    
  2. Создайте конечную точку на экземпляре зеркального сервера (экземпляр по умолчанию для PARTNERHOST5).

    CREATE ENDPOINT Endpoint_Mirroring
        STATE=STARTED 
        AS TCP (LISTENER_PORT=7022) 
        FOR DATABASE_MIRRORING (ROLE=ALL)
    GO
    --Partners under same domain user; login already exists in master.
    --Create a login for the witness server instance,
    --which is running as Somedomain\witnessuser:
    USE master ;
    GO
    CREATE LOGIN [Somedomain\witnessuser] FROM WINDOWS ;
    GO
    --Grant connect permissions on endpoint to login account of witness.
    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [Somedomain\witnessuser];
    GO
    
  3. Создайте конечную точку на экземпляре следящего сервера (экземпляр по умолчанию для WITNESSHOST4).

    CREATE ENDPOINT Endpoint_Mirroring
        STATE=STARTED 
        AS TCP (LISTENER_PORT=7022) 
        FOR DATABASE_MIRRORING (ROLE=WITNESS)
    GO
    --Create a login for the partner server instances,
    --which are both running as Mydomain\dbousername:
    USE master ;
    GO
    CREATE LOGIN [Mydomain\dbousername] FROM WINDOWS ;
    GO
    --Grant connect permissions on endpoint to login account of partners.
    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [Mydomain\dbousername];
    GO
    
  4. Создайте зеркальную базу данных. Дополнительные сведения см. в разделе Как подготовить зеркальную базу данных для зеркального отображения (Transact-SQL).

  5. На экземпляре зеркального сервера PARTNERHOST5 установите экземпляр сервера PARTNERHOST1 в качестве участника (для этого его нужно сделать начальным экземпляром основного сервера).

    ALTER DATABASE AdventureWorks 
        SET PARTNER = 
        'TCP://PARTNERHOST1.COM:7022'
    GO
    
  6. На экземпляре основного сервера PARTNERHOST1 установите экземпляр сервера PARTNERHOST5 в качестве участника (для этого нужно сделать его начальным экземпляром зеркального сервера).

    ALTER DATABASE AdventureWorks 
        SET PARTNER = 'TCP://PARTNERHOST5.COM:7022'
    GO
    
  7. На основном сервере задайте следящий сервер (находящийся на экземпляре WITNESSHOST4).

    ALTER DATABASE AdventureWorks 
        SET WITNESS = 
        'TCP://WITNESSHOST4.COM:7022'
    GO
    

См. также

Задания

Справочник

Основные понятия