Veritabanı yansıtmayı yapılandırma

Şunlar için geçerlidir: SQL Server

Note

Bu özellik, SQL Server'ın gelecek bir sürümünde kaldırılacaktır. Bu özelliği yeni geliştirme çalışmalarında kullanmaktan kaçının ve şu anda bu özelliği kullanan uygulamaları değiştirmeyi planlayın. Bunun yerine Always On kullanılabilirlik gruplarını kullanın.

Yansıtma veritabanı hazırlandıktan sonra (bkz. Yansıtma için Yansıtma Veritabanı Hazırlama (SQL Server)), veritabanı yansıtma oturumu oluşturabilirsiniz. Asıl, yansıtma ve tanık sunucu örnekleri birbirinden ayrı sunucu örnekleri olmalı ve bunlar ayrı ana bilgisayar sistemlerinde bulunmalıdır.

Important

Yansıtmayı yapılandırmak performansı etkileyebileceğinden yoğun olmayan saatlerde veritabanı yansıtmasını yapılandırmanızı öneririz.

Note

Belirli bir sunucu örneği, aynı veya farklı iş ortaklarıyla birden çok eşzamanlı veritabanı yansıtma oturumuna katılabilir. Sunucu örneği bazı oturumlarda iş ortağı, diğer oturumlarda tanık olabilir. Yansıtma sunucusu örneği, asıl sunucu örneğiyle aynı SQL Server sürümünü çalıştırıyor olmalıdır. Veritabanı yansıtma, Microsoft SQL Server her sürümünde kullanılamaz. SQL Server sürümleri tarafından desteklenen özelliklerin listesi için bkz. SQL Server 2016 Sürümleri Tarafından Desteklenen Özellikler. Ayrıca, aynı iş yüklerini işleyebilen karşılaştırılabilir sistemlerde çalıştırılmasını kesinlikle öneririz.

Veritabanı yansıtma oturumu başlatmak için

  1. Yansıtma veritabanını oluşturun. Daha fazla bilgi için bkz. Yansıtma Veritabanını Yansıtma için Hazırlama (SQL Server).

  2. Her sunucu örneğinde güvenliği ayarlayın.

    Veritabanı yansıtma oturumundaki her sunucu örneği için veritabanı yansıtma uç noktası gerekir. Uç nokta yoksa, bunu oluşturmanız gerekir.

    Note

    Bir sunucu örneği tarafından veritabanı yansıtması için kullanılan kimlik doğrulaması biçimi, veritabanı yansıtma uç noktasının özelliğidir. Veritabanı yansıtma için iki tür aktarım güvenliği sağlanır: Windows Kimlik Doğrulaması veya sertifika tabanlı kimlik doğrulaması. Veritabanı Yansıtma ve AlwaysOn Kullanılabilirlik Grupları (SQL Server) için Aktarım Güvenliği hakkında daha fazla bilgi için bkz. .

    Her bir eş sunucuda, veritabanı yansıtma için bir uç noktanın mevcut olduğundan emin olun. Desteklenecek yansıtma oturumlarının sayısından bağımsız olarak, sunucu örneğinde yalnızca bir veritabanı yansıtma uç noktası olabilir. Bu sunucu örneğini yalnızca veritabanı yansıtma oturumlarında iş ortakları için kullanmayı planlıyorsanız iş ortağı rolünü uç noktaya (ROLE**=**İŞ ORTAĞı) atayabilirsiniz. Bu sunucuyu diğer veritabanı yansıtma oturumlarında tanık için de kullanmayı planlıyorsanız, uç noktanın rolünü ALL olarak atayın.

    Bir SET PARTNER ifadesini yürütmek için, her iki ortağın uç noktalarının STATE değeri STARTED olarak ayarlanmış olmalıdır.

    Bir sunucu örneğinin veritabanı yansıtma uç noktasına sahip olup olmadığını öğrenmek ve rolünü ve durumunu öğrenmek için bu örnekte aşağıdaki Transact-SQL deyimini kullanın:

    SELECT role_desc, state_desc FROM sys.database_mirroring_endpoints  
    

    Important

    Kullanımda olan veritabanı yansıtma uç noktasını yeniden yapılandırmayın. Veritabanı yansıtma uç noktası varsa ve zaten kullanılıyorsa, sunucu örneğindeki her oturum için bu uç noktayı kullanmanızı öneririz. Kullanımda olan bir uç noktanın bırakılması, uç noktanın yeniden başlatılmasına neden olarak mevcut oturumların bağlantılarını kesintiye uğratabilir ve bu durum diğer sunucu örnekleri için bir hata olarak görünebilir. Bu özellikle otomatik yük devretme ile yüksek güvenlik modunda önemlidir. Bu modda uç noktanın bir iş ortağında yeniden yapılandırılması yük devretmenin oluşmasına neden olabilir. Ayrıca, bir oturum için bir tanık ayarlanmışsa, veritabanı yansıtma uç noktasının bırakılması, o oturumun asıl sunucusunun quorum’u kaybetmesine neden olabilir; bu gerçekleşirse, veritabanı çevrimdışına alınır ve kullanıcıların bağlantıları kesilir. Daha fazla bilgi için bkz Quorum: Tanığın Veritabanı Kullanılabilirliğini Nasıl Etkilediği (Veritabanı Yansıtma).

    Taraflardan birinde uç nokta yoksa bkz: Windows Kimlik Doğrulaması için Veritabanı Yansıtma Uç Noktası Oluşturma (Transact-SQL).

  3. Sunucu örnekleri farklı etki alanı kullanıcı hesapları altında çalışıyorsa, her biri diğerlerinin ana veritabanında oturum açma gerektirir. Oturum mevcut değilse, oluşturmanız gerekir. Daha fazla bilgi için bkz. Windows Kimlik Doğrulaması (SQL Server) Kullanarak Veritabanı Yansıtma Uç Noktasına Ağ Erişimine İzin Verme.

  4. Asıl sunucuyu yansıtma veritabanında ortak olarak ayarlamak için yansıtma sunucusuna bağlanın ve aşağıdaki komutu yürütün:

    ALTER DATABASE <database_name>SET PARTNER =<server_network_address>

    burada <database_name> , yansıtılacak veritabanının adıdır (bu ad her iki iş ortağında da aynıdır) ve <server_network_address> asıl sunucunun sunucu ağ adresidir.

    Sunucu ağ adresinin söz dizimi aşağıdaki gibidir:

    TCP://<system-address>:<port>

    burada <sistem adresi> hedef bilgisayar sistemini kesin olarak tanımlayan bir dizedir ve <bağlantı noktası> , iş ortağı sunucu örneğinin yansıtma uç noktası tarafından kullanılan bağlantı noktası numarasıdır. Daha fazla bilgi için bkz. Sunucu Ağ Adresi Belirtme (Veritabanı Yansıtma).

    Örneğin, yansıtma sunucusu örneğinde aşağıdaki ALTER DATABASE deyim, iş ortağını özgün asıl sunucu örneği olarak ayarlar. Veritabanı adı AdventureWorks, sistem adresi DBSERVER1 iş ortağının sistem adıdır ve iş ortağının veritabanı yansıtma uç noktası tarafından kullanılan bağlantı noktası 7022'dir:

    ALTER DATABASE AdventureWorks   
       SET PARTNER = 'TCP://DBSERVER1:7022'  
    

    Bu ifade, ana sunucu iletişim kurduğunda yansıtma sunucusunu bir oturum oluşturmaya hazırlar.

  5. Yansıtma sunucusunu asıl veritabanında iş ortağı olarak ayarlamak için, asıl sunucuya bağlanın ve aşağıdaki deyimi çalıştırın:

    ALTER DATABASE <database_name>SET PARTNER =<server_network_address>

    Daha fazla bilgi için 4. adıma bakın.

    Örneğin, asıl sunucu örneğinde aşağıdaki ALTER DATABASE deyim, iş ortağını özgün yansıtma sunucusu örneği olarak ayarlar. Veritabanı adı AdventureWorks, sistem adresi DBSERVER2 iş ortağının sistem adıdır ve iş ortağının veritabanı yansıtma uç noktası tarafından kullanılan bağlantı noktası 7025'tir:

    ALTER DATABASE AdventureWorks SET PARTNER = 'TCP://DBSERVER2:7022'  
    

    Bu ifadenin birincil sunucuda girilmesi, veritabanı yansıtma oturumunu başlatır.

  6. Varsayılan olarak bir oturum tam işlem güvenliğine ayarlanır (SAFETY, FULL olarak ayarlanır), bu da oturumu otomatik yük devretme olmadan zaman uyumlu, yüksek güvenlik modunda başlatır. Oturumu aşağıdaki gibi otomatik yük devretme ile yüksek güvenlik modunda veya zaman uyumsuz, yüksek performanslı modda çalışacak şekilde yeniden yapılandırabilirsiniz:

Example

Note

Aşağıdaki örnek, mevcut yansıtma veritabanı için iş ortakları arasında bir veritabanı yansıtma oturumu oluşturur. Yansıtma veritabanı oluşturma hakkında bilgi için bkz. Yansıtma için Yansıtma Veritabanı Hazırlama (SQL Server)=.

Örnekte, tanık olmadan veritabanı yansıtma oturumu oluşturmaya yönelik temel adımlar gösterilmektedir. İki iş ortağı, iki bilgisayar sisteminde (PARTNERHOST1 ve PARTNERHOST5) varsayılan sunucu örnekleridir. İki iş ortağı örneği aynı Windows etki alanı kullanıcı hesabını (MYDOMAIN\dbousername) çalıştırır.

  1. Asıl sunucu örneğinde (PARTNERHOST1'da varsayılan örnek), 7022 numaralı bağlantı noktasını kullanarak tüm rolleri destekleyen bir uç nokta oluşturun:

    --create an endpoint for this instance  
    CREATE ENDPOINT Endpoint_Mirroring  
        STATE=STARTED   
        AS TCP (LISTENER_PORT=7022)   
        FOR DATABASE_MIRRORING (ROLE=ALL)  
    GO  
    --Partners under same domain user; login already exists in master.  
    

    Note

    Oturum açma ayarlarının nasıl yapıldığını gösteren bir örnek için bkz. Windows Kimlik Doğrulaması (SQL Server) Kullanarak Veritabanı Yansıtma Uç Noktasına Ağ Erişimine İzin Verme.

  2. Yansıtma sunucusu örneğinde (PARTNERHOST5'da varsayılan örnek), 7022 numaralı bağlantı noktasını kullanarak tüm rolleri destekleyen bir uç nokta oluşturun:

    --create an endpoint for this instance  
    CREATE ENDPOINT Endpoint_Mirroring  
        STATE=STARTED   
        AS TCP (LISTENER_PORT=7022)   
        FOR DATABASE_MIRRORING (ROLE=ALL)  
    GO  
    --Partners under same domain user; login already exists in master.  
    
  3. Asıl sunucu örneğinde (PARTNERHOST1) veritabanını yedekleyin:

    BACKUP DATABASE AdventureWorks   
        TO DISK = 'C:\AdvWorks_dbmirror.bak'   
        WITH FORMAT  
    GO  
    
  4. Yansıtma sunucusu örneğinde (üzerinde PARTNERHOST5), veritabanını geri yükleyin:

    RESTORE DATABASE AdventureWorks   
        FROM DISK = 'Z:\AdvWorks_dbmirror.bak'   
        WITH NORECOVERY  
    GO  
    
  5. Tam veritabanı yedeklemesini oluşturduktan sonra, asıl veritabanında bir günlük yedeklemesi oluşturmanız gerekir. Örneğin, aşağıdaki Transact-SQL deyimi işlem günlüğünü önceki veritabanı yedeklemesinde kullanılan aynı dosyaya yedekler:

    BACKUP LOG AdventureWorks   
        TO DISK = 'C:\AdventureWorks.bak'   
    GO  
    
  6. Yansıtmaya başlayabilmeniz için önce gerekli günlük yedeklemesini (ve sonraki günlük yedeklemelerini) uygulamanız gerekir.

    Örneğin, aşağıdaki Transact-SQL deyimi ilk günlüğü C:\AdventureWorks.bak'dan geri yükler:

    RESTORE LOG AdventureWorks   
        FROM DISK = 'C:\ AdventureWorks.bak'   
        WITH FILE=1, NORECOVERY  
    GO  
    
  7. Yansıtma sunucusu örneğinde, PARTNERHOST1 üzerindeki sunucu örneğini iş ortağı olarak ayarlayın (ilk asıl sunucu olarak ayarlayın):

    USE master;  
    GO  
    ALTER DATABASE AdventureWorks   
        SET PARTNER =   
        'TCP://PARTNERHOST1:7022'  
    GO  
    

    Important

    varsayılan olarak, bir veritabanı yansıtma oturumu, tam işlem güvenliği sağlanmasına bağlı olan eşzamanlı modda çalışır (SAFETY FULL olarak ayarlanmıştır). Oturumun zaman uyumsuz, yüksek performanslı modda çalışmasına neden olmak için SAFETY değerini KAPALI olarak ayarlayın. Daha fazla bilgi için bkz. Veritabanı Yansıtma İşletim Modları.

  8. Ana sunucu örneğinde, PARTNERHOST5 üzerindeki sunucu örneğini iş ortağı olarak ayarlayın (böylece ilk yansıtma sunucusu olur):

    USE master;  
    GO  
    ALTER DATABASE AdventureWorks   
        SET PARTNER = 'TCP://PARTNERHOST5:7022'  
    GO  
    
  9. İsteğe bağlı olarak, otomatik yük devretme ile yüksek güvenlik modunu kullanmayı planlıyorsanız, tanık sunucu örneğini ayarlayın. Daha fazla bilgi için bkz. Windows Kimlik Doğrulaması Kullanarak Veritabanı Yansıtma Tanığı Ekleme (Transact-SQL).

Note

Güvenlik kurulumunu, yansıtma veritabanını hazırlamayı, iş ortaklarını ayarlamayı ve bir tanık eklemeyi gösteren eksiksiz bir örnek için bkz. Veritabanı Yansıtmasını Ayarlama (SQL Server).

Ayrıca Bkz.

Veritabanı Yansıtmayı Ayarlama (SQL Server)
ALTER DATABASE (Transact-SQL)
Windows Kimlik Doğrulaması Kullanarak Veritabanı Yansıtma Uç Noktasına Ağ Erişimine İzin Verme (SQL Server)
Yansıtma için Yansıtma Veritabanı Hazırlama (SQL Server)
Windows Kimlik Doğrulaması için Veritabanı Yansıtma Uç Noktası Oluşturma (Transact-SQL)
Veritabanı Yansıtma ve Günlük Gönderimi (SQL Server)
Veritabanı Yansıtma (SQL Server)
Veritabanı Yansıtma ve Çoğaltma (SQL Server)
Veritabanı Yansıtmayı Ayarlama (SQL Server)
Sunucu Ağ Adresi Belirtme (Veritabanı Yansıtma)
Veritabanı Yansıtma İşletim Modları