How to: Allow Database Mirroring to Use Certificates for Inbound Connections (Transact-SQL)
W tym temacie opisano kroki związane z konfigurowaniem wystąpienia serwera, aby korzystać z certyfikatów do uwierzytelniania połączeń przychodzących dla dublowanie bazy danych.Zanim użytkownik może zestaw połączeń przychodzących, należy skonfigurować połączenia wychodzące na każde wystąpienie serwera.Aby uzyskać więcej informacji zobaczHow to: Allow Database Mirroring to Use Certificates for Outbound Connections (Transact-SQL).
Proces konfigurowania połączeń przychodzących, obejmuje następujące ogólne kroki:
Utwórz identyfikator logowania dla innego systemu.
Utwórz użytkownika dla tego identyfikatora logowania.
Uzyskaj certyfikat dla punktu końcowego dublowanie wystąpienie serwera.
Kojarzenie certyfikat z użytkownikiem, utworzony w kroku 2.
Przyznać uprawnienia logowania dla tego punktu końcowego dublowanie CONNECT.
W przypadku świadka, należy zdefiniować również połączenia przychodzące dla niego.Wymaga to ustawienie logowania, użytkownicy i certyfikaty dowód na obu partnerów i na odwrót.
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.
Aby skonfigurować serwer wystąpienia dla dublowanie połączenia przychodzące (dla HOST_A)
Utwórz identyfikator logowania dla innego systemu.
Poniższy przykład tworzy logowania w systemie HOST_B, wzorzec bazy danych serwera wystąpienie na HOST_A; w tym przykładzie identyfikator logowania jest o nazwie HOST_B_login. Podstaw hasło własnego hasła próbki.
USE master; CREATE LOGIN HOST_B_login WITH PASSWORD = '1Sample_Strong_Password!@#'; GO
Aby uzyskać więcej informacji zobaczCREATE LOGIN (Transact-SQL).
Aby wyświetlić logowania dla tego wystąpienie serwera, można użyć następujących Transact-SQL instrukcja:
SELECT * FROM sys.server_principals
Aby uzyskać więcej informacji zobaczsys.server_principals (języka Transact-SQL).
Utwórz użytkownika dla tego identyfikatora logowania.
W poniższym przykładzie tworzone przez użytkownika HOST_B_user, podczas logowania, utworzony w poprzednim kroku.
USE master; CREATE USER HOST_B_user FOR LOGIN HOST_B_login; GO
Aby uzyskać więcej informacji zobaczCREATE USER (języka Transact-SQL).
Aby wyświetlić użytkowników dla tego wystąpienie serwera, można użyć następujących Transact-SQL instrukcja:
SELECT * FROM sys.sysusers;
Aby uzyskać więcej informacji zobaczsys.sysusers (Transact-SQL).
Uzyskaj certyfikat dla punktu końcowego dublowanie wystąpienie serwera.
Jeśli ma nie zrobiono podczas konfigurowania połączeń wychodzących, należy uzyskać kopię certyfikat punktu końcowego dublowanie wystąpienie serwera zdalnego.Aby to zrobić, tworzyć kopię zapasową zapasowej certyfikat dla tego wystąpienie serwera, zgodnie z opisem w How to: Allow Database Mirroring to Use Certificates for Outbound Connections (Transact-SQL). Podczas kopiowania certyfikat do innego systemu, należy użyć metoda bezpiecznej kopii.Należy bardzo uważać, aby zabezpieczyć wszystkie certyfikaty użytkownika.
Aby uzyskać więcej informacji zobacz ŚWIADECTWO kopia zapasowa (języka Transact-SQL).
Kojarzenie certyfikat z użytkownikiem, utworzony w kroku 2.
Poniższy przykład kojarzy certyfikat HOST_B z jego użytkownika na HOST_A.
USE master; CREATE CERTIFICATE HOST_B_cert AUTHORIZATION HOST_B_user FROM FILE = 'C:\HOST_B_cert.cer' GO
Aby uzyskać więcej informacji zobacz CREATE certyfikat (języka Transact-SQL).
Aby wyświetlić certyfikaty dla tego wystąpienie serwera, należy użyć następujących Transact-SQL instrukcja:
SELECT * FROM sys.certificates
Aby uzyskać więcej informacji zobaczsys.Certificates (języka Transact-SQL).
Przyznać uprawnienia logowania zdalnego punktu końcowego dublowanie CONNECT.
Na przykład, aby zezwolić na HOST_A do zdalnego serwera wystąpienie na HOST_B do łączenia się z jego lokalnego logowania — oznacza to, aby połączyć się z HOST_B_login— należy użyć następujących wpisów Transact-SQL instrukcje:
USE master; GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [HOST_B_login]; GO
Aby uzyskać więcej informacji zobacz GRANT Endpoint Permissions (Transact-SQL).
Konfigurowanie uwierzytelnianie certyfikat dla HOST_B logować się do HOST_A to wykonuje.
Teraz należy wykonać odpowiednie kroki przychodzących równoważne HOST_A na HOST_B.Te czynności zostały przedstawione w części przychodzących w przykładzie, w sekcji przykład poniżej.
Example
Poniższy przykład demonstruje, konfigurowanie HOST_B dla połączeń przychodzących.
Uwaga
W tym przykładzie użyto zawierającego certyfikat HOST_A, który jest tworzony przez wstawki kodu programu w pliku certyfikatu How to: Allow Database Mirroring to Use Certificates for Outbound Connections (Transact-SQL).
USE master;
--On HOST_B, create a login for HOST_A.
CREATE LOGIN HOST_A_login WITH PASSWORD = 'AStrongPassword!@#';
GO
--Create a user, HOST_A_user, for that login.
CREATE USER HOST_A_user FOR LOGIN HOST_A_login
GO
--Obtain HOST_A certificate. (See the note
-- preceding this example.)
--Asscociate this certificate with the user, HOST_A_user.
CREATE CERTIFICATE HOST_A_cert
AUTHORIZATION HOST_A_user
FROM FILE = 'C:\HOST_A_cert.cer';
GO
--Grant CONNECT permission for the server instance on HOST_A.
GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO HOST_A_login
GO
Jeśli zamierza się korzystać z automatyczna praca awaryjna w trybie wysokiego bezpieczeństwa, należy powtórzyć ten sam zestaw zapasowej kroki, aby skonfigurować dowód dla połączeń wychodzących i przychodzących.
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
Podczas kopiowania certyfikat do innego systemu, należy użyć metoda bezpiecznej kopii.Należy bardzo uważać, aby zabezpieczyć wszystkie certyfikaty użytkownika.