Veritabanı yansıtma bitiş noktası (Transact-sql) giden bağlantılar için sertifikalar kullanmak için izin

Bu konu, sunucu örnekleri veritabanı yansıtma için giden bağlantı kimlik doğrulaması için sertifikalar kullanmak üzere yapılandırmak için adımları açıklar. Gelen bağlantıları kurma önce giden bağlantı yapılandırma yapılmalıdır.

[!NOT]

Tüm yansıtma bağlantıları sunucu örneği bitiş noktası yansıtma bir veritabanı kullanın ve bitiş noktası oluşturduğunuzda sunucu örneği kimlik doğrulama yöntemi belirtmeniz gerekir.

Giden bağlantıları yapılandırma işlemi aşağıdaki genel adımları içerir:

  1. İçinde ana veritabanı, veritabanı ana anahtar oluşturma.

  2. İçinde ana veritabanı, sunucu örneği üzerinde şifreli bir sertifika oluşturun.

  3. Sertifikasını kullanarak sunucu için bir son nokta oluşturun.

  4. Sertifikayı bir dosyaya yedekler ve güvenli bir şekilde diğer sistem veya sistemler için kopyalayın.

Varsa her ortak ve tanık için aşağıdaki adımları tamamlamanız gerekir.

Aşağıdaki yordam, ayrıntılı adımları açıklar. Her adım için yordamı host_a adlı bir sistemde bir sunucuyu yapılandırmak için bir örnek sağlar. Ekteki örnek bölümde host_b adlı bir sistemde başka bir sunucu örneği için aynı adımları gösterilmiştir.

Yordam

Sunucu örnekleri için giden yansıtma bağlantıları (host_a üzerinde) yapılandırmak için

  1. Tarih ana veritabanı, veritabanı ana anahtar hiçbiri yoksa oluşturun. Bir veritabanında varolan anahtarları görüntülemek için görülebilirsys.symmetric_keysKatalog Katalog görünümü.

    Veritabanı ana anahtarı oluşturmak için aşağıdaki kullanın Transact-SQLkomut:

    CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<1_Strong_Password!>';
    GO
    

    Benzersiz ve güçlü bir parola kullanın ve güvenli bir yere kaydedin.

    Daha fazla bilgi için MASTER KEY (Transact-sql) oluşturve Bir veritabanı ana anahtar oluşturma.

  2. İçinde ana veritabanı, sunucu örneği yansıtma veritabanı için giden bağlantılar için kullanılacak şifreli bir sertifika oluşturun.

    Örneğin, host_a sistem için bir sertifika oluşturmak için.

    Önemli notÖnemli

    Bir yıldan fazla bir süre için sertifika kullanmayı düşünüyorsanız, bitiş tarihi utc zaman create SERTIFIKASı deyiminizde EXPIRY_DATE seçeneğini kullanarak belirtin. Ayrıca sertifikalarınızın doluyorsa sizi uyarmak için ilke tabanlı yönetimi kural oluşturmak için SQL Server Management Studio'yu kullanmanızı öneririz. İlkesi Yönetimi'ni kullanarak Yeni koşul oluştur iletişim kutusunda, bu kural oluşturmak @ ExpirationDate alanının sertifika tarafı. Daha fazla bilgi için bkz: Ilke tabanlı yönetimi kullanarak sunucuları yönetme, Tutorial: Administering Servers by Using Policy-Based Management, ve SQL Server güvenliğini sağlama.

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

    Daha fazla bilgi için, bkz. SERTIFIKASı (Transact-sql) oluştur.

    Sertifikaları görüntülemek için ana veritabanı, sen-ebilmek kullanma aşağıdaki Transact-SQLdeyimleri:

    USE master;
    SELECT * FROM sys.certificates;
    

    Daha fazla bilgi için, bkz. görülebilirsys.CertificatesKatalog (Transact-sql).

  3. Veritabanı sağlamak bitiş noktası yansıtma her sunucu örnekleri mevcut.

    Bitiş noktası zaten yansıtma veritabanı için sunucu örneği varsa, sunucu örneği kurmak diğer oturumları bu bitiş noktası yeniden. Bir sunucu örneği bitiş noktası yansıtma veritabanı var olup olmadığını belirlemek ve yapılandırmasını görüntülemek için aşağıdaki deyimi kullanın:

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

    Hiçbir son nokta varsa, giden bağlantılar için bu sertifikayı kullanan bir son nokta oluşturun ve sertifika kimlik doğrulama sistemi kullanan. Sunucu örneği aldığı tüm yansıtma oturumları tarafından kullanılan bir sunucu bazındaki son nokta budur.

    Örneğin, üzerinde host_a örnek sunucu örneği yansıtma bir son nokta oluşturmak için.

    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
    

    Daha fazla bilgi için, bkz. Bitiş noktası (Transact-sql) oluştur.

  4. Sertifikayı yedekleme ve diğer sistem veya sistemler için kopyalayın. Bu diğer sistemdeki gelen bağlantıları yapılandırmak gereklidir.

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

    Daha fazla bilgi için, bkz. backup SERTIFIKASı (Transact-sql).

    Bu sertifikayı güvenli bir yöntem kullanarak seçtiğiniz kopyalayın. Tüm sertifikaları güvenli tutmak için son derece dikkatli olun.

Önceki adımlarda örnek kod üzerinde host_a giden bağlantıları yapılandırmak.

Şimdi host_b için eşdeğer giden adımlar gerçekleştirmeniz gerekir. Bu adımlar aşağıdaki örnek bölümünde gösterilmiştir.

Örnek

Aşağıdaki örnek, host_b giden bağlantılar için yapılandırma gösterir.

USE master;
--Create the database Master Key, if needed.
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<Strong_Password_#2>';
GO
-- Make a certifcate 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.

Sertifikayı seçtiğiniz güvenli herhangi bir yöntemle diğer sisteme kopyalayın. Tüm sertifikaları güvenli tutmak için son derece dikkatli olun.

Önemli notÖnemli

Giden bağlantıları ayarladıktan sonra her sunucu örneği diğer sunucu örneği veya örnekleri için gelen bağlantıları yapılandırmanız gerekir. Daha fazla bilgi için, bkz. Veritabanı yansıtma bitiş noktası (Transact-sql) gelen bağlantılar için sertifikalar kullanmak için izin.

Bir Transact-sql örnek içeren bir yansıtma veritabanı oluşturma hakkında bilgi için bkz: How to: Prepare a Mirror Database for Mirroring (Transact-SQL).

Yüksek performans modu oturumu oluşturma Transact-sql örnek için bkz: Örnek: Yansıtma sertifikalar (Transact-sql) kullanan veritabanı ayarlama.

Güvenlik

Ağınızı güvenli olduğunu garanti sürece, bağlantıların yansıtma veritabanı için şifreleme kullanmanızı öneririz.

Bir sertifika başka bir sisteme kopyalarken güvenli kopyalama yöntemini kullanın.

Ayrıca bkz.

Görevler

How to: Prepare a Mirror Database for Mirroring (Transact-SQL)

Başvuru

alter bitiş noktası (Transact-sql)

Kavramlar

Şifreleme algoritması seçin

Örnek: Yansıtma sertifikalar (Transact-sql) kullanan veritabanı ayarlama

Veritabanı yansıtma bitiş noktası (SQL Server)

Configuration (SQL Server) yansıtma veritabanı sorunlarını giderme

Bir şifrelenmiş bir yansıtma veritabanı ayarlama