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:
Konfigurowanie połączenia wychodzące
W tym przykładzie przedstawiono kroki:
Konfigurowanie Host_A dla połączeń wychodzących.
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).
Konfigurowanie połączenia przychodzącego
W tym przykładzie przedstawiono kroki:
Konfigurowanie Host_A dla połączeń przychodzących.
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).
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
Konfigurowanie połączenia wychodzące
Aby skonfigurować Host_A dla połączeń wychodzących
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
Sprawdź certyfikat dla tego wystąpienie serwera.
USE master; CREATE CERTIFICATE HOST_A_cert WITH SUBJECT = 'HOST_A certificate'; GO
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
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
Przy użyciu dowolnej metoda kopiowania bezpieczne, skopiuj C:\HOST_A_cert.cer HOST_B.
Aby skonfigurować Host_B dla połączeń wychodzących
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
Uzyskiwanie certyfikat na HOST_B wystąpienie serwera.
CREATE CERTIFICATE HOST_B_cert WITH SUBJECT = 'HOST_B certificate for database mirroring'; GO
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
Kopię zapasową certyfikat HOST_B.
BACKUP CERTIFICATE HOST_B_cert TO FILE = 'C:\HOST_B_cert.cer'; GO
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
Utwórz identyfikator logowania na HOST_A dla HOST_B.
USE master; CREATE LOGIN HOST_B_login WITH PASSWORD = '1Sample_Strong_Password!@#'; GO
--Utwórz użytkownika dla tego identyfikatora logowania.
CREATE USER HOST_B_user FOR LOGIN HOST_B_login; GO
— Skojarzone certyfikat użytkownika.
CREATE CERTIFICATE HOST_B_cert AUTHORIZATION HOST_B_user FROM FILE = 'C:\HOST_B_cert.cer' GO
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
Utwórz identyfikator logowania na HOST_B dla HOST_A.
USE master; CREATE LOGIN HOST_A_login WITH PASSWORD = '=Sample#2_Strong_Password2'; GO
Utwórz użytkownika dla tego identyfikatora logowania.
CREATE USER HOST_A_user FOR LOGIN HOST_A_login; GO
Certyfikat można skojarzyć z użytkownikiem.
CREATE CERTIFICATE HOST_A_cert AUTHORIZATION HOST_A_user FROM FILE = 'C:\HOST_A_cert.cer' GO
Przyznać uprawnienia logowania zdalnego punktu końcowego dublowanie CONNECT.
GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [HOST_A_login]; GO
Important 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
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
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
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]
See Also