Örnek: Sertifikaları Kullanarak Veritabanı Yansıtmayı Ayarlama (Transact-SQL)

Şunlar için geçerlidir: SQL Server

Bu örnek, sertifika tabanlı kimlik doğrulaması kullanarak veritabanı yansıtma oturumu oluşturmak için gereken tüm aşamaları gösterir. Bu konudaki örneklerde Transact-SQL kullanılır. Ağınızın güvenli olduğunu garanti etmediğiniz sürece, veritabanı yansıtma bağlantıları için şifreleme kullanmanızı öneririz.

Sertifikayı başka bir sisteme kopyalarken güvenli bir kopyalama yöntemi kullanın. Tüm sertifikalarınızın güvenliğini sağlamak için son derece dikkatli olun.

Example

Aşağıdaki örnek, HOST_A üzerinde bulunan bir ortakta nelerin yapılması gerektiğini göstermektedir. Bu örnekte, iki iş ortağı üç bilgisayar sisteminde varsayılan sunucu örnekleridir. İki sunucu örneği güvenilmeyen Windows etki alanlarında çalıştırıldığından sertifika tabanlı kimlik doğrulaması gerekir.

İlk asıl rol HOST_A tarafından alınır ve yansıtma rolü HOST_B tarafından alınır.

Sertifikalar kullanılarak veritabanı yansıtmanın ayarlanması, bu örnekte üç aşamanın gösterildiği dört genel aşama içerir: 1, 2 ve 4. aşamalar. Bu aşamalar aşağıdaki gibidir:

  1. Giden Bağlantıları Yapılandırma

    Bu örnekte şu adımlar gösterilmektedir:

    1. Host_A'yı dışa giden bağlantılar için yapılandırma.

    2. Giden bağlantılar için Host_B’nin yapılandırılması.

    Veritabanı yansıtmayı ayarlamanın bu aşaması hakkında bilgi için bkz. Veritabanı Yansıtma Uç Noktasının Giden Bağlantılar için Sertifikaları Kullanmasına İzin Verme (Transact-SQL).

  2. Gelen Bağlantıları Yapılandırma

    Bu örnekte şu adımlar gösterilmektedir:

    1. Gelen bağlantılar için Host_A yapılandırma.

    2. Host_B gelen bağlantılar için yapılandırılıyor.

    Veritabanı yansıtmayı ayarlamanın bu aşaması hakkında bilgi için bkz. Veritabanı Yansıtma Uç Noktasının Gelen Bağlantılar için Sertifikaları Kullanmasına İzin Verme (Transact-SQL).

  3. Yansıtma Veritabanı Oluşturma

    Yansıtma veritabanı oluşturma hakkında bilgi için bkz. Yansıtma Veritabanını Yansıtma için Hazırlama (SQL Server).

  4. Yansıtma İş Ortaklarını Yapılandırma

Giden Bağlantıları Yapılandırma

Giden bağlantılar için Host_A’yı yapılandırma

  1. Gerekirse, ana veritabanında veritabanı ana anahtarını oluşturun. <password> geçerli bir parolayla değiştirin.

    USE master;  
    CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<password>';  
    GO  
    
  2. Bu sunucu örneği için bir sertifika oluşturun.

    USE master;  
    CREATE CERTIFICATE HOST_A_cert   
       WITH SUBJECT = 'HOST_A certificate';  
    GO  
    
  3. Sertifikayı kullanarak sunucu örneği için bir yansıtma uç noktası oluşturun.

    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  
    
  4. HOST_A sertifikasını yedekleyin ve HOST_B başka bir sisteme kopyalayın.

    BACKUP CERTIFICATE HOST_A_cert TO FILE = 'C:\HOST_A_cert.cer';  
    GO  
    
  5. Herhangi bir güvenli kopyalama yöntemini kullanarak C:\HOST_A_cert.cer HOST_B kopyalayın.

Dışa giden bağlantılar için Host_B’yi yapılandırmak için

  1. Gerekirse, ana veritabanında veritabanı ana anahtarını oluşturun.

    USE master;  
    CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<Strong_Password_#2>';  
    GO  
    
  2. HOST_B sunucu örneğinde bir sertifika oluşturun.

    CREATE CERTIFICATE HOST_B_cert   
       WITH SUBJECT = 'HOST_B certificate for database mirroring';  
    GO  
    
  3. HOST_B'da sunucu örneği için bir yansıtma uç noktası oluşturun.

    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  
    
  4. HOST_B sertifikayı yedekleyin.

    BACKUP CERTIFICATE HOST_B_cert TO FILE = 'C:\HOST_B_cert.cer';  
    GO   
    
  5. Herhangi bir güvenli kopyalama yöntemini kullanarak C:\HOST_B_cert.cer HOST_A kopyalayın.

Daha fazla bilgi için bkz. Veritabanı Yansıtma Uç Noktasının Giden Bağlantılar için Sertifikaları Kullanmasına İzin Verme (Transact-SQL).

[Örneğin Başı]

Gelen Bağlantıları Yapılandırma

Gelen bağlantılar için Host_A’yı yapılandırmak

  1. HOST_B için HOST_A üzerinde bir oturum açma hesabı oluşturun. <password> geçerli bir parolayla değiştirin.

    USE master;  
    CREATE LOGIN HOST_B_login WITH PASSWORD = '<password>';  
    GO  
    
  2. --Bu oturum açma için bir kullanıcı oluşturun.

    CREATE USER HOST_B_user FOR LOGIN HOST_B_login;  
    GO  
    
  3. --Sertifikayı kullanıcıyla ilişkilendirin.

    CREATE CERTIFICATE HOST_B_cert  
       AUTHORIZATION HOST_B_user  
       FROM FILE = 'C:\HOST_B_cert.cer'  
    GO  
    
  4. Uzak yansıtma uç noktası için oturum açmada CONNECT izni verin.

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

Host_B’yi gelen bağlantılar için yapılandırmak

  1. HOST_B üzerinde HOST_A için bir oturum açma hesabı oluşturun.

    USE master;  
    CREATE LOGIN HOST_A_login WITH PASSWORD = '=Sample#2_Strong_Password2';  
    GO  
    
  2. Bu oturum açma için bir kullanıcı oluşturun.

    CREATE USER HOST_A_user FOR LOGIN HOST_A_login;  
    GO  
    
  3. Sertifikayı kullanıcıyla ilişkilendirin.

    CREATE CERTIFICATE HOST_A_cert  
       AUTHORIZATION HOST_A_user  
       FROM FILE = 'C:\HOST_A_cert.cer'  
    GO  
    
  4. Uzak yansıtma uç noktası için oturum açmada CONNECT izni verin.

    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [HOST_A_login];  
    GO  
    

Important

Otomatik yük devretmeyle yüksek güvenlik modunda çalıştırmayı düşünüyorsanız, tanığı giden ve gelen bağlantılar için yapılandırmak üzere aynı kurulum adımlarını tekrarlamanız gerekir. Bir tanık söz konusu olduğunda gelen bağlantıları ayarlamak için hem iş ortaklarında hem de tanıktaki her iki ortakta da tanık için oturum açma bilgileri ve kullanıcılar ayarlamanız gerekir.

Daha fazla bilgi için bkz. Veritabanı Yansıtma Uç Noktasının Gelen Bağlantılar için Sertifikaları Kullanmasına İzin Verme (Transact-SQL).

[Örneğin Başı]

Yansıtma Veritabanı Oluşturma

Yansıtma veritabanı oluşturma hakkında bilgi için bkz. Yansıtma Veritabanını Yansıtma için Hazırlama (SQL Server).

Yansıtma İş Ortaklarını Yapılandırma

  1. HOST_B üzerindeki yansıtma sunucusu örneğinde, HOST_A üzerindeki sunucu örneğini iş ortağı olarak ayarlayın (ilk asıl sunucu örneği olarak ayarlayın). yerine geçerli bir ağ adresi yazın TCP://HOST_A.Mydomain.Corp.Adventure-Works``.com:7024. Daha fazla bilgi için bkz. Sunucu Ağ Adresi Belirtme (Veritabanı Yansıtma).

    --At HOST_B, set server instance on HOST_A as partner (principal server):  
    ALTER DATABASE AdventureWorks   
        SET PARTNER = 'TCP://HOST_A.Mydomain.Corp.Adventure-Works.com:7024';  
    GO  
    
  2. HOST_A üzerindeki asıl sunucu örneğinde, HOST_B üzerindeki sunucu örneğini iş ortağı olarak ayarlayın (ilk yansıtma sunucusu örneği olur). yerine geçerli bir ağ adresi yazın TCP://HOST_B.Mydomain.Corp.Adventure-Works.com:7024.

    --At HOST_A, set server instance on HOST_B as partner (mirror server).  
    ALTER DATABASE AdventureWorks   
        SET PARTNER = 'TCP://HOST_B.Mydomain.Corp.Adventure-Works.com:7024';  
    GO  
    
  3. Bu örnekte oturumun yüksek performanslı modda çalıştırılacağı varsayılır. Bu oturumu yüksek performanslı modda yapılandırmak için, asıl sunucu örneğinde (HOST_A) işlem güvenliğini KAPALI olarak ayarlayın.

    --Change to high-performance mode by turning off transaction safety.  
    ALTER DATABASE AdventureWorks   
        SET PARTNER SAFETY OFF  
    GO  
    

    Note

    Otomatik yük devretme ile yüksek güvenlik modunda çalışmak istiyorsanız, işlem güvenliği ayarını FULL (varsayılan ayar) olarak bırakın ve ikinci SET PARTNER 'partner_server' deyimini yürüttkten sonra tanığı en kısa sürede ekleyin. Tanığın önce çıkış ve giriş bağlantıları için yapılandırılması gerektiğini unutmayın.

[Örneğin Başı]

İlgili Görevler

Ayrıca Bkz.

Veritabanı Yansıtma ve Her Zaman Açık Kullanılabilirlik Grupları için Aktarım Güvenliği (SQL Server)
Sunucu Ağ Adresi Belirtme (Veritabanı Yansıtma)
Veritabanı Yansıtma Uç Noktası (SQL Server)
Veritabanı Yansıtma Uç Noktası için Sertifikalar Kullanma (Transact-SQL)
ALTER DATABASE (Transact-SQL)
SQL Server Veritabanı Motoru ve Azure SQL Veritabanı için Güvenlik Merkezi