Udostępnij za pośrednictwem


How to: Allow Database Mirroring to Use Certificates for Outbound Connections (Transact-SQL)

W tym temacie opisano kroki związane z konfigurowaniem wystąpienia serwera, aby korzystać z certyfikatów do uwierzytelniania połączeń wychodzących do dublowanie bazy danych.Konfiguracja połączenia wychodzące musi zostać wykonane zanim można zestaw up połączeń przychodzących.

Uwaga

Wszystkie połączenia dublowania w wystąpieniu serwera za pomocą jednej dublowanie bazy danych punktu końcowego, a po utworzeniu punktu końcowego należy określić metoda uwierzytelnianie wystąpienie serwera.

Proces konfigurowania połączeń wychodzących, obejmuje następujące ogólne kroki:

  1. W wzorzec bazy danych, tworzenie bazy danych master klucz.

  2. W wzorzec bazy danych, Utwórz certyfikat szyfrowania na wystąpienie serwera.

  3. Utwórz punkt końcowy dla wystąpienie serwera, używając jego certyfikat.

  4. tworzyć kopię zapasową certyfikat do pliku i bezpieczny sposób skopiować go do innego systemu lub systemów.

Należy wykonać następujące kroki dla każdego z partner i dowód, jeśli istnieje.

Poniższa procedura opisuje kroki szczegółowo.Dla każdego kroku procedury zawiera przykład związanych z konfigurowaniem systemu, o nazwie HOST_A wystąpienie serwera.Towarzyszący sekcji przykład demonstruje te same kroki dla innego wystąpienie serwera w systemie o nazwie HOST_B.

Procedura

Aby skonfigurować wystąpienia serwera dla połączeń wychodzących dublowanie (HOST_A)

  1. Na wzorzec bazy danych, utworzenia bazy danych Master klucz, jeśli nie istnieje.Aby wyświetlić istniejące klucze w bazie danych, należy użyć sys.symmetric_keys Służy do wyświetlania katalogu.

    Aby utworzyć bazę danych kluczy głównych, użyj następujących Transact-SQL polecenie:

    CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<1_Strong_Password!>';
    GO
    

    Za pomocą unikatowych, silne hasło, a następnie zapisać go w bezpiecznym miejscu.

    Aby uzyskać więcej informacji zobacz CREATE MASTER klucz (języka Transact-SQL).

  2. W wzorzec bazy danych, Utwórz certyfikat szyfrowania na serwerze wystąpienie dla swoich połączeń wychodzących do dublowanie bazy danych.

    Na przykład, aby utworzyć certyfikat HOST_A systemu.

    USE master;
    CREATE CERTIFICATE HOST_A_cert 
       WITH SUBJECT = 'HOST_A certificate for database mirroring';
    GO
    

    Aby uzyskać więcej informacji zobacz CREATE certyfikat (języka Transact-SQL).

    Aby wyświetlić certyfikaty w wzorzec bazy danych, można użyć następujących Transact-SQL instrukcje:

    USE master;
    SELECT * FROM sys.certificates;
    

    Aby uzyskać więcej informacji zobaczsys.Certificates (języka Transact-SQL).

  3. Upewnić się, że dublowanie bazy danych istnieje punkt końcowy na każdym z wystąpień serwera.

    Jeśli istnieje baza danych już dublowanie punktu końcowego dla wystąpienie serwera, należy ponownie używać tego punktu końcowego dla innych sesji, należy ustanowić w wystąpieniu serwera.Aby określić, czy istnieje dublowanie bazy danych punktu końcowego w wystąpieniu serwera i zapoznać się z jego konfiguracja, należy użyć następującej instrukcja:

    SELECT name, role_desc, state_desc, connection_auth_desc, encryption_algorithm_desc FROM sys.database_mirroring_endpoints;
    

    Jeśli końcowy nie istnieje, Utwórz punkt końcowy, który używa tego certyfikat dla połączeń wychodzących i używający poświadczenia certyfikat w celu weryfikacji w innym systemie.Jest to całego serwera punktu końcowego, który jest używany przez wszystkie dublowanie sesje, w których uczestniczy wystąpienie serwera.

    Na przykład, aby utworzyć punkt końcowy dublowanie, na przykład wystąpienie serwera na HOST_A.

    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
    

    Aby uzyskać więcej informacji zobaczUtwórz punkt końcowy (języka Transact-SQL).

  4. Wykonaj kopię zapasową certyfikat i skopiuj go do innego systemu lub systemów.Jest to konieczne skonfigurować połączenia przychodzące w innym systemie.

    BACKUP CERTIFICATE HOST_A_cert TO FILE = 'C:\HOST_A_cert.cer';
    GO
    

    Aby uzyskać więcej informacji zobaczŚWIADECTWO kopia zapasowa (języka Transact-SQL).

    Skopiuj ten certyfikat przy użyciu dowolnej metoda zabezpieczeń zostanie wybrana opcja.Należy bardzo uważać, aby zabezpieczyć wszystkie certyfikaty użytkownika.

Przykładowy kod w poprzednich krokach skonfigurować połączenia wychodzące na HOST_A.

Teraz należy wykonać odpowiednie kroki wychodzących równoważne HOST_B.Te kroki są przedstawione w poniższej sekcji przykład.

Example

Poniższy przykład demonstruje, konfigurowanie HOST_B dla połączeń wychodzących.

USE master;
--Create the database Master Key, if needed.
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<Strong_Password_#2>';
GO
-- Make a certifcate on HOST_B server instance.
CREATE CERTIFICATE HOST_B_cert 
   WITH SUBJECT = 'HOST_B 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=7024
      , LISTENER_IP = ALL
   ) 
   FOR DATABASE_MIRRORING ( 
      AUTHENTICATION = CERTIFICATE HOST_B_cert
      , ENCRYPTION = REQUIRED ALGORITHM AES
      , ROLE = ALL
   );
GO
--Backup HOST_B certificate.
BACKUP CERTIFICATE HOST_B_cert TO FILE = 'C:\HOST_B_cert.cer';
GO 
--Using any secure copy method, copy C:\HOST_B_cert.cer to HOST_A.

Kopiowanie certyfikat do innego systemu przy użyciu dowolnego bezpieczna metoda zostanie wybrana opcja.Należy bardzo uważać, aby zabezpieczyć wszystkie certyfikaty użytkownika.

Important noteImportant Note:

Po ustawieniu połączeń wychodzących, należy skonfigurować połączenia przychodzące na każde wystąpienie serwera dla innego wystąpienia serwera lub wystąpień.Aby uzyskać więcej informacji zobaczHow to: Allow Database Mirroring to Use Certificates for Inbound Connections (Transact-SQL).

Aby uzyskać informacje dotyczące tworzenia woluminu dublowanego bazy danych, w tym przykładzie języka Transact-SQL zobacz How to: Prepare a Mirror Database for Mirroring (Transact-SQL).

Na przykład języka Transact-SQL ustanowienia sesja trybu wysokiej wydajności Zobacz Example: Setting Up Database Mirroring Using Certificates (Transact-SQL).

Security

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.