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

platí pro:SQL Server

Toto téma popisuje postup konfigurace instancí serveru tak, aby používaly certifikáty k ověřování odchozích připojení pro zrcadlení databáze. Před nastavením příchozích připojení je nutné provést konfiguraci odchozího připojení.

Note

Všechna připojení pro zrcadlení v rámci instance serveru používají jeden koncový bod pro zrcadlení databáze a při vytváření koncového bodu musíte zadat metodu ověřování pro instanci serveru.

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

  1. V hlavní databázi vytvořte hlavní klíč databáze.

  2. V hlavní databázi vytvořte v instanci serveru šifrovaný certifikát.

  3. Vytvořte koncový bod pro instanci serveru pomocí jeho certifikátu.

  4. Zálohujte certifikát do souboru a bezpečně ho zkopírujte do jiného systému nebo systémů.

Tyto kroky musíte provést pro každého partnera a svědka, pokud existuje.

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.

Procedure

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

  1. V hlavní databázi vytvořte hlavní klíč databáze, pokud neexistuje. Pokud chcete zobrazit existující klíče pro databázi, použijte zobrazení sys.symmetric_keys katalogu.

    K vytvoření hlavního klíče databáze použijte následující příkaz Transact-SQL. Nahraďte <password> platným heslem.

    CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<password>';  
    GO  
    

    Použijte jedinečné, silné heslo a zaznamenejte ho na bezpečném místě.

    Další informace najdete v tématech CREATE MASTER KEY (Transact-SQL) a vytvoření hlavního klíče databáze.

  2. V hlavní databázi vytvořte na instanci serveru šifrovaný certifikát, který se použije pro odchozí připojení pro zrcadlení databáze.

    Pokud chcete například vytvořit certifikát pro HOST_A systém.

    Important

    Pokud máte v úmyslu použít certifikát na více než jeden rok, zadejte datum vypršení platnosti v čase UTC pomocí možnosti EXPIRY_DATE v CREATE CERTIFICATE příkazu. Doporučujeme také použít SQL Server Management Studio k vytvoření pravidla správy na základě zásad, které vás upozorní na vypršení platnosti certifikátů. Pomocí dialogového okna Vytvořit novou podmínku ve Správě zásad vytvořte toto pravidlo v poli @ExpirationDate fasety Certificate. Další informace naleznete v tématu Správa serverů pomocí správy na základě zásad a zabezpečení SQL Server.

    USE master;  
    CREATE CERTIFICATE HOST_A_cert   
       WITH SUBJECT = 'HOST_A certificate for database mirroring',   
       EXPIRY_DATE = '11/30/2013';  
    GO  
    

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

    Pokud chcete zobrazit certifikáty v hlavní databázi, můžete použít následující příkazy Transact-SQL:

    USE master;  
    SELECT * FROM sys.certificates;  
    

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

  3. Ujistěte se, že na každé instanci serveru existuje koncový bod zrcadlení databáze.

    Pokud pro instanci serveru již existuje koncový bod zrcadlení databáze, měli byste tento koncový bod použít pro všechny další relace, které na instanci serveru navážete. Pokud chcete zjistit, jestli v instanci serveru existuje koncový bod zrcadlení databáze a jestli chcete zobrazit jeho konfiguraci, použijte následující příkaz:

    SELECT name, role_desc, state_desc, connection_auth_desc, encryption_algorithm_desc   
       FROM sys.database_mirroring_endpoints;  
    

    Pokud žádný koncový bod neexistuje, vytvořte koncový bod, který tento certifikát používá pro odchozí připojení a který k ověření v jiném systému používá přihlašovací údaje certifikátu. Jedná se o koncový bod pro celý server, který využívají všechny relace zrcadlení, jichž se instance serveru účastní.

    Pokud například chcete vytvořit koncový bod zrcadlení pro ukázkovou instanci serveru 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  
    

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

  4. Zálohujte certifikát a zkopírujte ho do jiného systému nebo systémů. To je nezbytné ke konfiguraci příchozích připojení v jiném systému.

    BACKUP CERTIFICATE HOST_A_cert TO FILE = 'C:\HOST_A_cert.cer';  
    GO  
    

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

    Zkopírujte tento certifikát pomocí libovolné metody zabezpečení, kterou zvolíte. Buďte velmi opatrní, abyste zajistili zabezpečení všech certifikátů.

Ukázkový kód v předchozích krocích konfiguruje odchozí připojení na HOST_A.

Teď je potřeba provést ekvivalentní odchozí kroky pro HOST_B. Tyto kroky jsou znázorněny v následující části Příklad.

Example

Následující příklad ukazuje konfiguraci HOST_B pro odchozí připojení.

USE master;  
--Create the database Master Key, if needed.  
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<Strong_Password_#2>';  
GO  
-- Make a certificate on HOST_B server instance.  
CREATE CERTIFICATE HOST_B_cert   
   WITH SUBJECT = 'HOST_B certificate for database mirroring',   
   EXPIRY_DATE = '11/30/2013';  
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.  

Zkopírujte certifikát do jiného systému pomocí libovolné zabezpečené metody, kterou zvolíte. Buďte velmi opatrní, abyste zajistili zabezpečení všech certifikátů.

Important

Poté, co nastavíte odchozí připojení, musíte na každé instanci serveru nakonfigurovat příchozí připojení pro ostatní instance serveru. Další informace najdete v tématu Konfigurace koncového bodu zrcadlení databáze pro použití certifikátů pro příchozí připojení (Transact-SQL).

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

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

Viz také

Volba šifrovacího algoritmu
Příprava zrcadlové databáze pro zrcadlení (SQL Server)
ALTER ENDPOINT (Transact-SQL)
Příklad: Nastavení zrcadlení databáze pomocí certifikátů (Transact-SQL)
Koncový bod zrcadlení databáze (SQL Server)
Řešení problémů s konfigurací zrcadlení databáze (SQL Server)
Nastavení šifrované zrcadlové databáze