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


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

В этом примере показаны все этапы создания сеанса зеркального отображения базы данных со следящим сервером, использующим проверку подлинности Windows. Примеры в этом подразделе используют язык Transact-SQL. Обратите внимание, что в качестве альтернативы использованию этапов Transact-SQL для установки зеркального отображения баз данных можно воспользоваться мастером конфигурации безопасности зеркального отображения баз данных. Дополнительные сведения см. в разделе Создание сеанса зеркального отображения базы данных с использованием проверки подлинности Windows (среда 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).

Разрешения

Требуется разрешение ALTER для базы данных и разрешение CREATE ENDPOINT либо членство в предопределенной роли сервера sysadmin.

Пример

В этом примере два участника и следящий сервер являются экземплярами серверов по умолчанию на трех компьютерах. На трех экземплярах сервера работает один и тот же домен 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];
    --Grant connect permissions on endpoint to login account of partners.
    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [Mydomain\dbousername];
    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];
    --Grant connect permissions on endpoint to login account of partners.
    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [Mydomain\dbousername];
    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. Создайте зеркальную базу данных. Дополнительные сведения см. в разделе Подготовка зеркальной базы данных к зеркальному отображению (SQL Server).

  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
    

Связанные задачи

Значок стрелки, используемый со ссылкой «В начало»[В начало]

См. также

Справочник

ALTER DATABASE (Transact-SQL)

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

Конечная точка зеркального отображения базы данных (SQL Server)

Безопасность транспорта для зеркального отображения баз данных и групп доступности AlwaysOn (SQL Server)

Управление метаданными при обеспечении доступности базы данных на другом экземпляре сервера (SQL Server)

Защита и обеспечение безопасности (компонент Database Engine)