Aracılığıyla paylaş


Nasıl Yapılır: Veritabanı (Transact-SQL) giden bağlantılar için sertifikalar kullanmak için yansıtma izin ver

Bu konu, sunucu örnekleriveritabanı yansıtması için giden bağlantılar için kimlik doğrulaması için sertifika kullanacak şekilde yapılandırmak için gereken adımları açıklar.Giden bağlantı yapılandırması, için önce gerçekleştirilmelidir küme gelen bağlantılar kurma.

Not

Tek bir sunucuyu yansıtma bağlantılarda kullanın veritabanı yansıtması bitiş noktası oluşturduğunuzda, son nokta ve sunucunun kimlik doğrulaması yöntem belirtmeniz gerekir.

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

  1. Içinde Yönetici veritabanı, ana anahtar bir veritabanı oluşturun.

  2. Içinde Yönetici veritabanı, şifreli bir sertifika sunucu örnek oluştur.

  3. Sunucu örneği kullanmak için bir son nokta oluşturun, sertifika.

  4. Yedekleme sertifika ve güvenli bir dosyaya diğer sistem veya sistem kopyalayın.

Varsa, her ortak ve şahit için aşağıdaki adımları tamamlamalısınız.

Aşağıdaki yordam, ayrıntılı adımları açıklar.Her adım için HOST_A adlı bir sistemde, bir sunucuyu yapılandırmak için yordam bir örnek sağlar.Aşağıdaki örnek bölümü HOST_B adlı bir sistemde başka bir sunucu için aynı adımları gösterir.

Yordam

Sunucu örnekleri yansıtma giden bağlantılarda (açık HOST_A) yapılandırmak için

  1. Üzerinde Yönetici veritabanı, hiçbiri yoksa, ana anahtar, veritabanı oluşturun.Bir veritabanı için varolan anahtarları görüntülemek için , kullanmak sys.symmetric_keys kataloğunu görüntüleyin.

    Ana anahtar veritabanı oluşturmak için aşağıdakileri kullanın Transact-SQL Command:

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

    Güvenli bir yere kaydedin ve benzersiz bir sağlam parola kullanın.

    Daha fazla bilgi için bkz: MASTER anahtar (Transact-SQL) CREATE.

  2. Içinde Yönetici veritabanı, sunucuya şifreli bir sertifika oluşturmak örnek veritabanı yansıtması için giden bağlantılar için kullanılacak.

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

    USE master;
    CREATE CERTIFICATE HOST_A_cert 
       WITH SUBJECT = 'HOST_A certificate for database mirroring';
    GO
    

    Daha fazla bilgi için bkz: SERTIFIKASı (Transact-SQL) CREATE.

    Içindeki sertifikaları görüntülemek için Yönetici Aşağıdaki veritabanı kullanabilirsinizTransact-SQL ifadeler:

    USE master;
    SELECT * FROM sys.certificates;
    

    Daha fazla bilgi için bkz:sys.Certificates (Transact-SQL).

  3. Emin veritabanı yansıtması bitiş noktası her sunucu örnekleri bulunur.

    Varsa bir veritabanı yansıtması sunucu örnek için bir bitiş noktası zaten, bu bitiş noktası için bir sunucu örneknde kurmak diğer oturumlara yeniden.Belirlemek için olup olmadığını bir veritabanı yansıtması bitiş noktası, bir sunucuyu varolduğundan ve yapılandırmasını görüntülemek için , aşağıdaki ifadeyi kullanın:

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

    Bitiş noktası varsa, giden bağlantılar için bu sertifikayı kullanan bir son nokta oluşturun ve diğer sistemdeki doğrulama için sertifika kimlik bilgileri bilgilerini kullanır.Bu, sunucunun katılan tüm yansıtma oturum tarafından kullanılan bir sunucu bazındaki bitiş noktası olur.

    Örneğin, bir yansıtma son nokta için örnek sunucu örneği üzerinde HOST_A 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:(Transact-SQL) son NOKTA oluşturun.

  4. Yedekleme sertifika ve diğer sistem veya sistem kopyalayın.Diğer sistem üzerinde gelen bağlantıları yapılandırmak bu gereklidir.

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

    Daha fazla bilgi için bkz:yedek SERTIFIKASı (Transact-SQL).

    Seçtiğiniz güvenli bir yöntem kullanarak bu sertifikayı kopyalayın.Sertifikalarınız tümünün güvenliğini sağlamak son derece dikkatli olun.

Yukarıda anlatılan adımlar örnek kodda, giden bağlantılar üzerinde HOST_A yapılandırın.

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

Example

Giden bağlantılarda HOST_B yapılandırma aşağıdaki örnekte gösterilmiştir.

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';
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.

Sertifika, diğer sistem seçtiğiniz güvenli bir yöntem kullanarak kopyalayın.Sertifikalarınız tümünün güvenliğini sağlamak son derece dikkatli olun.

Important noteImportant Note:

Giden bağlantıları ayarladıktan sonra gelen bağlantılar diğer sunucu örnek veya örnekleri için her bir sunucuyu yapılandırmanız gerekir.Daha fazla bilgi için bkz:Nasıl Yapılır: Veritabanı (Transact-SQL) gelen bağlantılar için sertifikalar kullanmak için yansıtma izin ver.

Bir Transact-SQL örneği de dahil olmak üzere, bir yansıtma veritabanı oluşturma hakkında bilgi için bkz: Nasıl Yapılır: yansıtma veritabanı (Transact-SQL) yansıtma için hazırlama.

Bir yüksek performans mod oturum bir Transact-SQL örneği için bkz: ÖRNEK: Sertifikalar (Transact-SQL) kullanan veritabanı yansıtması ayarlama.

Security

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

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