Example: Setting Up Database Mirroring Using Certificates (Transact-SQL)

W tym przykładzie przedstawiono wszystkie etapy niezbędne do utworzenia dublowanie, przy użyciu sesja bazy danych certyfikat - podstawie uwierzytelnianie.W przykładach używana tego tematu Transact-SQL. Jeśli nie może zagwarantować, że sieć jest bezpieczny, zaleca się korzystanie z szyfrowanie dla połączeń dublowanie bazy danych.

Podczas kopiowania certyfikat do innego systemu, należy użyć metoda bezpiecznej kopii.Należy bardzo uważać, aby zabezpieczyć wszystkie certyfikaty użytkownika.

Przykład

W poniższym przykładzie pokazano, co należy zrobić w jednym partner, który znajduje się na HOST_A.W tym przykładzie dwóch partnerów są wystąpienia domyślnego serwera trzech systemach komputerowych.Wystąpienia serwera dwóch uruchomić nontrusted w domenie systemu Windows, co jest wymagane uwierzytelnianie oparte na certyfikatach.

Początkowe rolę głównego jest pobierana przez HOST_A i roli dublowania jest pobierana przez HOST_B.

Konfigurowanie dublowanie bazy danych przy użyciu certyfikatów wiąże się z czterech etapów ogólne, które trzy stany — 1, 2 i 4 — są pokazano w poniższym przykładzie.Te etapy, są następujące:

  1. Konfigurowanie połączenia wychodzące

    W tym przykładzie przedstawiono kroki:

    1. Konfigurowanie Host_A dla połączeń wychodzących.

    2. Konfigurowanie Host_B dla połączeń wychodzących.

    Aby uzyskać informacje na temat tego etapu konfigurowania dublowanie bazy danych zobacz How to: Allow Database Mirroring to Use Certificates for Outbound Connections (Transact-SQL).

  2. Konfigurowanie połączenia przychodzącego

    W tym przykładzie przedstawiono kroki:

    1. Konfigurowanie Host_A dla połączeń przychodzących.

    2. Konfigurowanie Host_B dla połączeń przychodzących.

    Aby uzyskać informacje na temat tego etapu konfigurowania dublowanie bazy danych zobacz How to: Allow Database Mirroring to Use Certificates for Inbound Connections (Transact-SQL).

  3. Tworzenie lustrzana baza danych

    Aby uzyskać informacje dotyczące tworzenia woluminu dublowanego bazy danych zobacz How to: Prepare a Mirror Database for Mirroring (Transact-SQL).

  4. Konfigurowanie mechanizmu partnerów

Konfigurowanie połączenia wychodzące

Aby skonfigurować Host_A dla połączeń wychodzących

  1. W głównej bazie danych należy utworzyć klucz główny bazy danych w razie potrzeby.

    USE master;
    CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<1_Strong_Password!>';
    GO
    
  2. Sprawdź certyfikat dla tego wystąpienie serwera.

    USE master;
    CREATE CERTIFICATE HOST_A_cert 
       WITH SUBJECT = 'HOST_A certificate';
    GO
    
  3. Utwórz dublowanie punkt końcowy dla wystąpienie serwera przy użyciu certyfikat.

    CREATE ENDPOINT Endpoint_Mirroring
       STATE = STARTED
       AS TCP (
          LISTENER_PORT=7024
          , LISTENER_IP = ALL
       ) 
       FOR DATABASE_MIRRORING ( 
          AUTHENTICATION = CERTIFICATE HOST_A_cert
          , ENCRYPTION = REQUIRED ALGORITHM AES
          , ROLE = ALL
       );
    GO
    
  4. tworzyć kopię zapasową certyfikat HOST_A i skopiować go do innego systemu, HOST_B.

    BACKUP CERTIFICATE HOST_A_cert TO FILE = 'C:\HOST_A_cert.cer';
    GO
    
  5. Przy użyciu dowolnej metoda kopiowania bezpieczne, skopiuj C:\HOST_A_cert.cer HOST_B.

Aby skonfigurować Host_B dla połączeń wychodzących

  1. W głównej bazie danych należy utworzyć klucz główny bazy danych w razie potrzeby.

    USE master;
    CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<Strong_Password_#2>';
    GO
    
  2. Uzyskiwanie certyfikat na HOST_B wystąpienie serwera.

    CREATE CERTIFICATE HOST_B_cert 
       WITH SUBJECT = 'HOST_B certificate for database mirroring';
    GO
    
  3. Utwórz dublowanie punkt końcowy dla wystąpienie serwera na HOST_B.

    CREATE ENDPOINT Endpoint_Mirroring
       STATE = STARTED
       AS TCP (
          LISTENER_PORT=7024
          , LISTENER_IP = ALL
       ) 
       FOR DATABASE_MIRRORING ( 
          AUTHENTICATION = CERTIFICATE HOST_B_cert
          , ENCRYPTION = REQUIRED ALGORITHM AES
          , ROLE = ALL
       );
    GO
    
  4. Kopię zapasową certyfikat HOST_B.

    BACKUP CERTIFICATE HOST_B_cert TO FILE = 'C:\HOST_B_cert.cer';
    GO 
    
  5. Przy użyciu dowolnej metoda kopiowania bezpieczne, skopiuj C:\HOST_B_cert.cer HOST_A.

Aby uzyskać więcej informacji zobaczHow to: Allow Database Mirroring to Use Certificates for Outbound Connections (Transact-SQL).

[Do góry]

Konfigurowanie połączenia przychodzącego

Aby skonfigurować Host_A dla połączeń przychodzących

  1. Utwórz identyfikator logowania na HOST_A dla HOST_B.

    USE master;
    CREATE LOGIN HOST_B_login WITH PASSWORD = '1Sample_Strong_Password!@#';
    GO
    
  2. --Utwórz użytkownika dla tego identyfikatora logowania.

    CREATE USER HOST_B_user FOR LOGIN HOST_B_login;
    GO
    
  3. — Skojarzone certyfikat użytkownika.

    CREATE CERTIFICATE HOST_B_cert
       AUTHORIZATION HOST_B_user
       FROM FILE = 'C:\HOST_B_cert.cer'
    GO
    
  4. Przyznać uprawnienia logowania zdalnego punktu końcowego dublowanie CONNECT.

    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [HOST_B_login];
    GO
    

Aby skonfigurować Host_B dla połączeń przychodzących

  1. Utwórz identyfikator logowania na HOST_B dla HOST_A.

    USE master;
    CREATE LOGIN HOST_A_login WITH PASSWORD = '=Sample#2_Strong_Password2';
    GO
    
  2. Utwórz użytkownika dla tego identyfikatora logowania.

    CREATE USER HOST_A_user FOR LOGIN HOST_A_login;
    GO
    
  3. Certyfikat można skojarzyć z użytkownikiem.

    CREATE CERTIFICATE HOST_A_cert
       AUTHORIZATION HOST_A_user
       FROM FILE = 'C:\HOST_A_cert.cer'
    GO
    
  4. Przyznać uprawnienia logowania zdalnego punktu końcowego dublowanie CONNECT.

    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [HOST_A_login];
    GO
    
Important noteImportant Note:

Jeśli zamierza się korzystać z automatyczna praca awaryjna w trybie wysokiego bezpieczeństwa, należy powtórzyć te same kroki instalacji, aby skonfigurować dowód dla połączeń wychodzących i przychodzących.ting zestaw przychodzących połączeń, gdy dochodzi świadka wymaga, aby użytkownik zestaw up logowania i użytkowników dla dowód w obu partnerów oraz dla obu partnerów dowód.

Aby uzyskać więcej informacji zobaczHow to: Allow Database Mirroring to Use Certificates for Inbound Connections (Transact-SQL).

[Do góry]

Tworzenie lustrzana baza danych

Aby uzyskać informacje dotyczące tworzenia woluminu dublowanego bazy danych zobacz How to: Prepare a Mirror Database for Mirroring (Transact-SQL).

Konfigurowanie mechanizmu partnerów

  1. Na serwer dublowany wystąpienia na HOST_B, ustawić jako partner (dzięki czemu wystąpienie serwer główny początkowego jest) wystąpienie serwera HOST_A.Zastąpić adres sieciowe TCP://HOST_A.Mydomain.Corp.Adventure-Works.com:7024. Aby uzyskać więcej informacji zobaczSpecifying a Server Network Address (Database Mirroring).

    --At HOST_B, set server instance on HOST_A as partner (principal server):
    ALTER DATABASE AdventureWorks 
        SET PARTNER = 'TCP://HOST_A.Mydomain.Corp.Adventure-Works.com:7024';
    GO
    
  2. W wystąpieniu serwer główny na HOST_A zestaw na HOST_B jako partner (dzięki czemu wystąpienie serwera początkowego lustrzane jest) wystąpienie serwera.Zastąpić adres sieciowe TCP://HOST_B.Mydomain.Corp.Adventure-Works.com:7024.

    --At HOST_A, set server instance on HOST_B as partner (mirror server).
    ALTER DATABASE AdventureWorks 
        SET PARTNER = 'TCP://HOST_B.Mydomain.Corp.Adventure-Works.com:7024';
    GO
    
  3. W tym przykładzie założono, że sesja będzie uruchamiana w trybie wysokiej wydajności.Aby skonfigurować tę sesja w trybie wysokiej wydajności w wystąpieniu serwer główny (na HOST_A), ustaw bezpieczeństwo transakcji OFF.

    --Change to high-performance mode by turning off transacton safety.
    ALTER DATABASE AdventureWorks 
        SET PARTNER SAFETY OFF
    GO
    

    Uwaga

    Jeśli zamierza się korzystać z automatyczna praca awaryjna w trybie wysokiego bezpieczeństwa, pozostawić zestaw bezpieczeństwo transakcji FULL (ustawienie domyślne), i Dodaj dowód jak najszybciej po wykonaniu drugiego partner SET "partner_server" instrukcja.Należy zauważyć, że dowód najpierw musi być skonfigurowany dla połączeń wychodzących i przychodzących.

[Do góry]