Zrcadlení databáze – Použití certifikátů pro příchozí připojení

platí pro:SQL Server

Toto téma popisuje postup při konfiguraci serverových instancí tak, aby k ověřování příchozích připojení pro účely zrcadlení databáze používaly certifikáty. Než budete moct nastavit příchozí připojení, musíte nakonfigurovat odchozí připojení pro každou instanci serveru. Další informace najdete v tématu Povolit koncovému bodu zrcadlení databáze používat certifikáty pro odchozí připojení (Transact-SQL).

Proces konfigurace příchozích připojení zahrnuje následující obecné kroky:

  1. Vytvořte přihlášení pro jiný systém.

  2. Vytvořte uživatele pro toto přihlášení.

  3. Získejte certifikát pro koncový bod zrcadlení druhé instance serveru.

  4. Přidružte certifikát k uživateli vytvořenému v kroku 2.

  5. Udělte oprávnění CONNECT pro přihlášení pro tento koncový bod zrcadlení.

Pokud existuje svědek, musíte pro něj také nastavit příchozí připojení. To vyžaduje nastavení přihlášení, uživatelů a certifikátů pro svědka na obou partnerech a naopak.

Následující postup podrobně popisuje tyto kroky. Pro každý krok poskytuje postup příklad konfigurace instance serveru v systému s názvem HOST_A. Doprovodná část Příklad ukazuje stejné kroky pro jinou instanci serveru v systému s názvem HOST_B.

Konfigurace instancí serveru pro příchozí zrcadlení připojení (na HOST_A)

  1. Vytvořte přihlášení pro druhý systém.

    Následující příklad vytvoří přihlášení pro systém HOST_B v hlavní databázi instance serveru na HOST_A; v tomto příkladu je HOST_B_loginpřihlašovací jméno . Nahraďte <password> platným heslem.

    USE master;  
    CREATE LOGIN HOST_B_login   
       WITH PASSWORD = '<password>';  
    GO  
    

    Další informace najdete v tématu CREATE LOGIN (Transact-SQL).

    Pokud chcete zobrazit přihlášení v této instanci serveru, můžete použít následující příkaz Transact-SQL:

    SELECT * FROM sys.server_principals  
    

    Další informace najdete v tématu sys.server_principals (Transact-SQL).

  2. Vytvořte uživatele pro toto přihlášení.

    Následující příklad vytvoří uživatele , HOST_B_userpro přihlášení vytvořené v předchozím kroku.

    USE master;  
    CREATE USER HOST_B_user FOR LOGIN HOST_B_login;  
    GO  
    

    Další informace najdete v tématu CREATE USER (Transact-SQL).

    Pokud chcete zobrazit uživatele v této instanci serveru, můžete použít následující příkaz Transact-SQL:

    SELECT * FROM sys.sysusers;  
    

    Další informace naleznete v tématu sys.sysusers (Transact-SQL).

  3. Získejte certifikát pro koncový bod zrcadlení druhé instance serveru.

    Pokud jste to ještě neudělali při konfiguraci odchozích připojení, získejte kopii certifikátu pro koncový bod zrcadlení instance vzdáleného serveru. Chcete-li to provést, zálohujte certifikát na této instanci serveru, jak je popsáno v části Povolit koncovému bodu zrcadlení databáze používat certifikáty pro odchozí připojení (Transact-SQL). 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ů.

    Další informace najdete v tématu BACKUP CERTIFICATE (Transact-SQL).

  4. Přidružte certifikát k uživateli vytvořenému v kroku 2.

    Následující příklad přidruží certifikát HOST_B ke svému uživateli na HOST_A.

    USE master;  
    CREATE CERTIFICATE HOST_B_cert  
       AUTHORIZATION HOST_B_user  
       FROM FILE = 'C:\HOST_B_cert.cer'  
    GO  
    

    Další informace najdete v tématu CREATE CERTIFICATE (Transact-SQL).

    Pokud chcete zobrazit certifikáty v této instanci serveru, použijte následující příkaz Transact-SQL:

    SELECT * FROM sys.certificates  
    

    Další informace naleznete v tématu sys.certificates (Transact-SQL).

  5. Udělte pro přihlášení ke koncovému bodu vzdáleného zrcadlení oprávnění CONNECT.

    Chcete-li například na HOST_A udělit oprávnění vzdálené instanci serveru na HOST_B, aby se mohla připojit k jeho místnímu přihlášení – tedy aby se mohla připojit k HOST_B_login – použijte následující příkazy Transact-SQL:

    USE master;  
    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [HOST_B_login];  
    GO  
    

    Další informace najdete v tématu GRANT Oprávnění koncového bodu (Transact-SQL).

Tím se dokončí nastavení ověřování certifikátů pro HOST_B pro přihlášení k HOST_A.

Teď je potřeba provést ekvivalentní příchozí kroky pro HOST_A na HOST_B. Tyto kroky jsou znázorněny v příchozí části příkladu v části Příklad níže.

Example

Následující příklad ukazuje konfiguraci HOST_B pro příchozí připojení. Nahraďte <password> platným heslem.

Note

V tomto příkladu se používá soubor certifikátu obsahující HOST_A certifikát vytvořený fragmentem kódu v části Povolit koncovému bodu zrcadlení databáze používat certifikáty pro odchozí připojení (Transact-SQL)..

USE master;  
--On HOST_B, create a login for HOST_A.  
CREATE LOGIN HOST_A_login WITH PASSWORD = '<password>';  
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.)  
--Associate 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  

Pokud chcete provozovat systém v režimu vysokého zabezpečení s automatickým převzetím služeb při selhání, musíte zopakovat stejné kroky nastavení a nakonfigurovat svědka pro odchozí i příchozí připojení.

Informace o vytváření zrcadlové databáze, včetně příkladu jazyka Transact-SQL, naleznete v tématu Příprava zrcadlové databáze pro zrcadlení (SQL Server).

Příklad jazyka Transact-SQL pro vytvoření relace v režimu vysokého výkonu naleznete v článku Příklad: Nastavení zrcadlení databáze pomocí certifikátů (Transact-SQL).

Zabezpečení rozhraní .NET Framework

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ů.