Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
Tento příklad ukazuje všechny fáze potřebné k vytvoření relace zrcadlení databáze pomocí ověřování založeného na certifikátech. Příklady v tomto tématu používají Jazyk Transact-SQL. Pokud nemůžete zaručit, že je vaše síť zabezpečená, doporučujeme používat šifrování pro připojení k zrcadlení databáze.
Při kopírování certifikátu do jiného systému použijte metodu zabezpečeného kopírování. Buďte velmi opatrní, abyste zajistili zabezpečení všech certifikátů.
Příklad
Následující příklad ukazuje, co musí být provedeno u jednoho partnera, který se nachází v HOST_A. V tomto příkladu jsou oba partneři výchozími instancemi serveru ve třech počítačových systémech. Dvě instance serveru běží v nedůvěryhodných doménách Windows, takže je vyžadováno ověřování na základě certifikátů.
Počáteční hlavní roli převezme HOST_A a zrcadlovou roli převezme HOST_B.
Nastavení zrcadlení databáze pomocí certifikátů zahrnuje čtyři obecné fáze, z nichž tento příklad ukazuje tři fáze 1, 2 a 4. Tyto fáze jsou následující:
konfigurace odchozích připojení
Tento příklad ukazuje kroky pro:
Konfigurace Host_A pro odchozí připojení
Konfigurace Host_B pro odchozí připojení
Informace o této fázi nastavení zrcadlení databáze najdete v tématu Povolit koncovému bodu zrcadlení databáze používat certifikáty pro odchozí připojení (Transact-SQL).
konfigurace příchozích připojení
Tento příklad ukazuje kroky pro:
Konfigurace Host_A pro příchozí připojení
Konfigurace Host_B pro příchozí připojení
Informace o této fázi nastavení zrcadlení databáze naleznete v tématu Povolit koncovému bodu zrcadlení databáze používat certifikáty pro příchozí připojení (Transact-SQL).
Vytvoření zrcadlové databáze
Informace o tom, jak vytvořit zrcadlovou databázi, naleznete v tématu Příprava zrcadlové databáze pro zrcadlení (SQL Server).
Konfigurace odchozích připojení
Konfigurace Host_A pro odchozí připojení
V hlavní databázi v případě potřeby vytvořte hlavní klíč databáze. Nahraďte
<password>
platným heslem.USE master; CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<password>'; GO
Vytvořte certifikát pro tuto instanci serveru.
USE master; CREATE CERTIFICATE HOST_A_cert WITH SUBJECT = 'HOST_A certificate'; GO
Pomocí certifikátu vytvořte zrcadlový koncový bod pro instanci serveru.
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
Zálohujte HOST_A certifikát a zkopírujte ho do jiného systému HOST_B.
BACKUP CERTIFICATE HOST_A_cert TO FILE = 'C:\HOST_A_cert.cer'; GO
Pomocí jakékoli zabezpečené metody kopírování zkopírujte C:\HOST_A_cert.cer do HOST_B.
Konfigurace Host_B pro odchozí připojení
V hlavní databázi v případě potřeby vytvořte hlavní klíč databáze.
USE master; CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<Strong_Password_#2>'; GO
Vytvořte certifikát v instanci serveru HOST_B.
CREATE CERTIFICATE HOST_B_cert WITH SUBJECT = 'HOST_B certificate for database mirroring'; GO
Na HOST_B vytvořte koncový bod zrcadlení pro instanci serveru.
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
Zálohujte HOST_B certifikát.
BACKUP CERTIFICATE HOST_B_cert TO FILE = 'C:\HOST_B_cert.cer'; GO
Pomocí jakékoli zabezpečené metody kopírování zkopírujte C:\HOST_B_cert.cer do HOST_A.
Další informace najdete v tématu Povolit koncovému bodu zrcadlení databáze používat certifikáty pro odchozí připojení (Transact-SQL).
Konfigurace příchozích připojení
Konfigurace Host_A pro příchozí připojení
Vytvořte přihlášení na HOST_A pro HOST_B. Nahraďte
<password>
platným heslem.USE master; CREATE LOGIN HOST_B_login WITH PASSWORD = '<password>'; GO
--Vytvořte uživatele pro toto přihlášení.
CREATE USER HOST_B_user FOR LOGIN HOST_B_login; GO
--Přidružte certifikát k uživateli.
CREATE CERTIFICATE HOST_B_cert AUTHORIZATION HOST_B_user FROM FILE = 'C:\HOST_B_cert.cer' GO
Udělte pro přihlášení ke koncovému bodu vzdáleného zrcadlení oprávnění CONNECT.
GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [HOST_B_login]; GO
Konfigurace Host_B pro příchozí připojení
Vytvořte přihlášení na HOST_B pro HOST_A.
USE master; CREATE LOGIN HOST_A_login WITH PASSWORD = '=Sample#2_Strong_Password2'; GO
Vytvořte uživatele pro toto přihlášení.
CREATE USER HOST_A_user FOR LOGIN HOST_A_login; GO
Přidružte certifikát k uživateli.
CREATE CERTIFICATE HOST_A_cert AUTHORIZATION HOST_A_user FROM FILE = 'C:\HOST_A_cert.cer' GO
Udělte pro přihlášení ke koncovému bodu vzdáleného zrcadlení oprávnění CONNECT.
GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [HOST_A_login]; GO
Důležitý
Pokud máte v úmyslu spouštět v režimu vysoké bezpečnosti s automatickým převzetím služeb při selhání, musíte stejný postup nastavení zopakovat, abyste nakonfigurovali svědka pro odchozí a příchozí připojení. Nastavení příchozích připojení, když je zapojen svědek, vyžaduje, abyste nastavili přihlašovací údaje a uživatele pro svědka na obou partnerech a pro oba partnery na svědkovi.
Další informace najdete v tématu Povolit koncovému bodu zrcadlení databáze používat certifikáty pro příchozí připojení (Transact-SQL).
Vytvoření zrcadlové databáze
Informace o tom, jak vytvořit zrcadlovou databázi, naleznete v tématu Příprava zrcadlové databáze pro zrcadlení (SQL Server).
Konfigurace partnerů pro zrcadlení
V instanci zrcadlového serveru na HOST_B nastavte instanci serveru na HOST_A jako partnera (což z něj činí počáteční instanci hlavního serveru). Nahraďte platnou síťovou adresu
TCP://HOST_A.Mydomain.Corp.Adventure-Works``.com:7024
. Další informace naleznete v tématu Určení síťové adresy serveru (zrcadlení databáze).--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
Na hlavní instanci serveru na HOST_A nastavte instanci serveru na HOST_B jako partnera (což z ní činí počáteční instanci zrcadlového serveru). Nahraďte platnou síťovou adresu
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
Tento příklad předpokládá, že relace bude spuštěna v režimu vysokého výkonu. Pokud chcete tuto relaci nakonfigurovat pro vysoce výkonný režim, na hlavní instanci serveru (v HOST_A) nastavte bezpečnost transakcí na VYPNUTO.
--Change to high-performance mode by turning off transaction safety. ALTER DATABASE AdventureWorks SET PARTNER SAFETY OFF GO
Poznámka
Pokud chcete spustit v režimu vysoké bezpečnosti s automatickým převzetím služeb při selhání, ponechte nastavení bezpečnosti transakcí na FULL (výchozí nastavení) a po spuštění druhého příkazu SET PARTNER 'partner_server' přidejte svědka co nejdříve. Upozorňujeme, že svědek musí být nejprve nakonfigurován pro odchozí a příchozí připojení.
Související úkoly
povolit koncovému bodu zrcadlení databáze používat certifikáty pro příchozí připojení (Transact-SQL)
Povolit koncovému bodu zrcadlení databáze používat certifikáty pro odchozí připojení (Transact-SQL)
spravovat metadata při zpřístupnění databáze v jiné instanci serveru (SQL Server) (SQL Server)
Řešení problémů s konfigurací zrcadlení databáze (SQL Server)
Viz také
Zabezpečení přenosu dat pro zrcadlení databáze a Always On skupiny dostupnosti (SQL Server)
určení síťové adresy serveru (zrcadlení databáze)
Koncový bod zrcadlení databáze (SQL Server)
Použít certifikáty pro koncový bod databázového zrcadlení (Transact-SQL)
ALTER DATABASE (Transact-SQL)
Security Center pro databázový stroj SQL Serveru a službu Azure SQL Database