Пример Настройка зеркального отображения с использованием проверки подлинности Windows (Transact-SQL)Example: Configure database mirroring using Windows authentication (Transact-SQL)

Применимо к:Applies to: даSQL ServerSQL Server (все поддерживаемые версии) yesSQL ServerSQL Server (all supported versions) Применимо к:Applies to: даSQL ServerSQL Server (все поддерживаемые версии) yesSQL ServerSQL Server (all supported versions)

В этом примере показаны все этапы создания сеанса зеркального отображения базы данных со следящим сервером, использующим проверку подлинности Windows.This example shows all the stages required to create a database mirroring session with a witness using Windows Authentication. Примеры в этом подразделе используют язык Transact-SQLTransact-SQL.The examples in this topic use Transact-SQLTransact-SQL. Обратите внимание, что в качестве альтернативы использованию этапов Transact-SQLTransact-SQL для установки зеркального отображения баз данных можно воспользоваться мастером конфигурации безопасности зеркального отображения баз данных.Note that as an alternative to using Transact-SQLTransact-SQL steps, you can use the Configure Database Mirroring Security Wizard for database mirroring setup. Дополнительные сведения см. в подразделе Создание сеанса зеркального отображения базы данных с использованием проверки подлинности Windows (среда SQL Server Management Studio).For more information, see Establish a Database Mirroring Session Using Windows Authentication (SQL Server Management Studio).

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

В примере используется образец базы данных AdventureWorks , которая по умолчанию использует простую модель восстановления.The example uses the AdventureWorks sample database, which uses the simple recovery model by default. Для зеркального отображения этой базы данных нужно переключить ее на модель полного восстановления.To use database mirroring with this database, you must alter it to use the full recovery model. Чтобы сделать это средствами языка Transact-SQLTransact-SQL, выполните следующую инструкцию ALTER DATABASE.To do this in Transact-SQLTransact-SQL, use the ALTER DATABASE statement, as follows:

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

Дополнительные сведения об изменении модели восстановления в SQL Server Management StudioSQL Server Management Studio см. в разделе Просмотр или изменение модели восстановления базы данных (SQL Server).For information on changing the recovery model in SQL Server Management StudioSQL Server Management Studio, see View or Change the Recovery Model of a Database (SQL Server).

РазрешенияPermissions

Требуется разрешение ALTER для базы данных и разрешение CREATE ENDPOINT либо членство в предопределенной роли сервера sysadmin .Requires ALTER permission on the database and CREATE ENDPOINT permission, or membership in the sysadmin fixed server role.

ПримерExample

В этом примере два участника и следящий сервер являются экземплярами серверов по умолчанию на трех компьютерах.In this example, the two partners and the witness are the default server instances on three computer systems. На трех экземплярах сервера работает один и тот же домен Windows, но в данном примере для каждого экземпляра следящего сервера предусмотрены разные учетные записи пользователя (применяемые в качестве учетной записи запуска для службы).The three server instances run the same Windows domain, but the user account (used as the startup service account) is different for the example's witness server instance.

В следующей таблице представлены все значения, использованные в этом примере.The following table summarizes the values used in this example.

Начальная роль зеркального отображенияInitial mirroring role Система размещенияHost system Учетная запись пользователя доменаDomain user account
ОсновнойPrincipal PARTNERHOST1PARTNERHOST1 <Mydomain>\<dbousername><Mydomain>\<dbousername>
Зеркальное отображениеMirror PARTNERHOST5PARTNERHOST5 <Mydomain>\<dbousername><Mydomain>\<dbousername>
СвидетельWitness WITNESSHOST4WITNESSHOST4 <Somedomain>\<witnessuser><Somedomain>\<witnessuser>
  1. Создайте конечную точку на экземпляре основного сервера (экземпляр по умолчанию для PARTNERHOST1).Create an endpoint on the principal server instance (default instance on 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 an endpoint on the mirror server instance (default instance on 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 an endpoint on the witness server instance (default instance on 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. Создайте зеркальную базу данных.Create the mirror database. Дополнительные сведения см. в статье Prepare a Mirror Database for Mirroring (SQL Server).For more information, see Prepare a Mirror Database for Mirroring (SQL Server).

  5. На экземпляре зеркального сервера PARTNERHOST5 установите экземпляр сервера PARTNERHOST1 в качестве участника (для этого его нужно сделать начальным экземпляром основного сервера).On the mirror server instance on PARTNERHOST5, set the server instance on PARTNERHOST1 as the partner (making it the initial principal server instance).

    ALTER DATABASE AdventureWorks   
        SET PARTNER =   
        'TCP://PARTNERHOST1.COM:7022'  
    GO  
    
  6. На экземпляре основного сервера PARTNERHOST1 установите экземпляр сервера PARTNERHOST5 в качестве участника (для этого нужно сделать его начальным экземпляром зеркального сервера).On the principal server instance on PARTNERHOST1, set the server instance on PARTNERHOST5 as the partner (making it the initial mirror server instance).

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

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

См. также:See Also

ALTER DATABASE (Transact-SQL) ALTER DATABASE (Transact-SQL)
Конечная точка зеркального отображения базы данных (SQL Server) The Database Mirroring Endpoint (SQL Server)
Безопасность транспорта для зеркального отображения баз данных и групп доступности AlwaysOn (SQL Server) Transport Security for Database Mirroring and Always On Availability Groups (SQL Server)
Управление метаданными при обеспечении доступности базы данных на другом экземпляре сервера (SQL Server) Manage Metadata When Making a Database Available on Another Server Instance (SQL Server)
Центр безопасности для ядра СУБД SQL Server и Базы данных Azure SQLSecurity Center for SQL Server Database Engine and Azure SQL Database