Aracılığıyla paylaş


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

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

Not

Tek bir veritabanı yansıtması bitiş noktası sunucu örnek yansıtma bağlantılarda kullanın ve bitiş noktası oluştururken, sunucu örnek 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. De ana veritabanı, veritabanı ana anahtar oluşturma.

  2. De ana veritabanı, sunucu örnek üzerinde şifreli bir sertifika oluşturun.

  3. Sunucu örnek kullanmak için bir bitiş noktası oluşturma, sertifika.

  4. sertifika dosyaya yedekler ve güvenli bir şekilde başka bir sistem veya sistemler kopyalayın.

Varsa, bu adımları her ortak ve şahit tamamlamanız gerekir.

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

Yordam

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

  1. Üzerinde ana veritabanı, hiçbiri yoksa, veritabanı ana anahtar oluşturma.Bir veritabanı için varolan anahtarları görüntülemek için sys.symmetric_keys Katalog görünümü.

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

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

    Güvenli bir yerde kaydetmek ve benzersiz, güçlü bir parola kullanın.

    Daha fazla bilgi için bkz: ANA anahtar (Transact-sql) oluştur ve Nasıl yapılır: Veritabanı ana anahtar oluşturma.

  2. De ana veritabanı, veritabanı için giden bağlantılar için kullanılacak sunucu örnek üzerinde şifreli bir sertifika oluşturmak yansıtma.

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

    Önemli notÖnemli

    OLUŞTURMA SERTİFİKADA EXPIRY_DATE seçeneğini kullanarak utc saati bitiş tarih bir yıldan fazla saat için sertifika kullanmayı düşünüyorsanız, belirtmek deyim.Ayrıca, bir ilkeye dayalı yönetim kuralı oluşturmak için sql Server Management Studio kullanmanızı öneririz uyarı ve bu, sertifikalarınız dolmakta.İlkesi Yönetimi'ni kullanarak Yeni koşul oluşturmak iletişim kutusuna, bu kural oluşturmak @ expirationdate alan , sertifika model.Daha fazla bilgi için bkz: İlke tabanlı Yönetimi kullanarak sunucuları yönetme, Öğretici: İlke tabanlı Yönetimi kullanarak sunucuları yönetme, 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: Sertifika (Transact-sql) oluştur.

    Sertifikaları görüntülemek için ana veritabanı, aşağıdaki kullanabilirsiniz Transact-SQL deyimleri:

    USE master;
    SELECT * FROM sys.certificates;
    

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

  3. Veritabanı emin yansıtma bitiş noktası her sunucu örnekleri mevcut.

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

    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 sistem üzerinde doğrulama için sertifika kimlik bilgileri bilgilerini kullanır.Bu sunucu örnek, içinde yer aldığı tüm yansıtma oturumları tarafından kullanılan bir sunucu çapında bitiş noktasıdır.

    Örneğin, üzerinde host_a için ö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. sertifika yedekleme ve diğer sistem veya sistemler için 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 SERTİFİKAYA (Transact-sql).

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

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

Şimdi host_b için eşdeğer giden adımları gerçekleştirmek 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.

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

Önemli notÖnemli

Sonra küme giden bağlantıları kurmak, gelen bağlantılar için bir sunucu örneknin veya örneklerinin her sunucu örnek üzerinde yapılandırmanız gerekir.Daha fazla bilgi için bkz: Nasıl yapılır: Veritabanı yansıtma (Transact-SQL) gelen bağlantılar için sertifikalar kullanmak için izin.

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

Yüksek performans modu oturum Transact-sql örnek için bkz: Örnek: Sertifikalar (Transact-SQL) kullanarak yansıtma veritabanı ayarlama.

Güvenlik

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

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

Değişiklik Geçmişi

Güncelleştirilmiş içerik

OLUŞTURDUĞUNUZ sertifika ifadelerine EXPIRY_DATE seçeneğini kullanma hakkında bir not eklendi ve kod örnekleri bu seçeneği ile güncelleştirildi.