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:
W wzorzec bazy danych, tworzenie bazy danych master klucz.
W wzorzec bazy danych, Utwórz certyfikat szyfrowania na wystąpienie serwera.
Utwórz punkt końcowy dla wystąpienie serwera, używając jego certyfikat.
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)
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).
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).
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).
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 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.
See Also