Aracılığıyla paylaş


Yansıtma için Yansıtma Veritabanı Hazırlama (SQL Server)

Şunlar için geçerlidir: SQL Server

Dikkat

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. Yüksek kullanılabilirlik için bunun yerine Always On kullanılabilirlik gruplarını kullanın.

Önemli

SQL Server'da Veritabanı Yansıtma, Microsoft Fabric Veritabanı Yansıtma'dan ayrı bir teknolojidir. Fabric'e Yansıtma, daha iyi analitik performans, Fabric'te OneLake ile veri varlığınızı birleştirme ve verilerinize Delta Parquet formatında açık erişim sağlar.

Microsoft Fabric'e Yansıtma ile SQL Server 2016+, Azure SQL Veritabanı, Azure SQL Yönetilen Örneği, Cosmos DB, Oracle, Snowflake ve daha fazlası gibi mevcut veri varlığınızı doğrudan OneLake in Fabric'e çoğaltabilirsiniz.

Veritabanı yansıtma oturumunun başlayabilmesi için önce veritabanı sahibinin veya sistem yöneticisinin yansıtma veritabanının oluşturulduğundan ve yansıtma için hazır olduğundan emin olması gerekir. En az düzeyde yeni bir yansıtma veritabanı oluşturmak için asıl veritabanının tam yedeğinin alınması ve ardından bir günlük yedeğinin alınması ve her ikisinin de WITH NORECOVERY kullanılarak yansıtma sunucusu örneğine geri yüklenmesi gerekir.

Bu konuda, SQL Server Management Studio veya Transact-SQL kullanarak SQL Server'da yansıtma veritabanının nasıl hazırlandığı açıklanmaktadır.

Başlamadan Önce

Gereksinimler

  • Ana ve yansıtma sunucusu örnekleri, SQL Server'ın aynı sürümünde çalıştırılmalıdır. Yansıtma sunucusunun SQL Server'ın daha yüksek bir sürümüne sahip olması mümkün olsa da, bu yapılandırma yalnızca dikkatle planlanmış bir yükseltme işlemi sırasında önerilir. Böyle bir yapılandırmada, verilerin SQL Server'ın daha düşük bir sürümüne taşınamaması nedeniyle veri taşımalarının otomatik olarak askıya alınabileceği bir otomatik yük devretme riskiyle karşılaşırsınız. Daha fazla bilgi için, bkz. Yansıtılmış Örnekleri Yükseltme.

  • Ana ve yansıtma sunucusu örnekleri aynı SQL Server sürümünde çalışmalıdır. SQL Server'da veritabanı yansıtma desteği hakkında bilgi için bkz. SQL Server 2022'nin sürümleri ve desteklenen özellikleri.

  • Veritabanı tam kurtarma modelini kullanmalıdır.

    Daha fazla bilgi için bkz. Bir Veritabanının Kurtarma Modelini Görüntüleme veya Değiştirme (SQL Server) veya sys.databases (Transact-SQL) ve ALTER DATABASE (Transact-SQL).

  • Yansıtma veritabanının adı, asıl veritabanının adıyla aynı olmalıdır.

  • Yansıtmanın işlev göstermesi için yansıtma veritabanının RESTORING durumunda olması gerekir. Yansıtma veritabanı hazırlarken, her geri yükleme işlemi için NORECOVERY ile RESTORE kullanmanız gerekir. En az düzeyde, NORECOVERY ile asıl veritabanının tam yedeğini ve ardından sonraki tüm günlük yedeklemelerini geri yüklemeniz gerekir.

  • Yansıtma veritabanını oluşturmayı planladığınız sistem, yansıtma veritabanını tutmak için yeterli alana sahip bir disk sürücüsüne sahip olmalıdır.

Sınırlamalar ve Kısıtlamalar

Öneriler

  • Çok yeni bir tam veritabanı yedeklemesi veya ana veritabanının son farklı yedeklemesini kullanın.

  • Günlük yedekleme işi asıl veritabanında çok sık çalışacak şekilde zamanlandıysa, yansıtma başlatılana kadar yedekleme işini devre dışı bırakmanız gerekebilir.

  • Mümkünse, yansıtma veritabanının yolu (sürücü harfi dahil) asıl veritabanının yolu ile aynı olmalıdır.

    Dosya yolları farklı olmalıdır; örneğin, asıl veritabanı 'F:' sürücüsündeyse ancak yansıtma sisteminde F: sürücüsü yoksa, RESTORE DEYIMIne MOVE seçeneğini eklemeniz gerekir.

    Önemli

    Yansıtma oturumu sırasında oturumu etkilemeden dosya eklemek için dosyanın yolunun her iki sunucuda da mevcut olması gerekir. Bu nedenle, yansıtma veritabanını oluştururken veritabanı dosyalarını taşırsanız, yansıtma veritabanında daha sonraki bir eklenti dosyası işlemi başarısız olabilir ve yansıtmanın askıya alınmasına neden olabilir. Başarısız bir dosya oluşturma işlemiyle ilgili bilgi için bkz. Veritabanı Yansıtma Yapılandırması (SQL Server) Sorunlarını Giderme.

  • Asıl veritabanında tam metin katalogları varsa , Veritabanı Yansıtma ve Full-Text Katalogları (SQL Server) seçeneğini görmenizi öneririz.

  • Üretim veritabanı için her zaman ayrı bir cihaza yedekleyin.

Güvenlik

Bir veritabanı yedeklendiğinde TRUSTWORTHY KAPALI olarak ayarlanır. Bu nedenle, yeni bir yansıtma veritabanında TRUSTWORTHY her zaman kapalı olur. Yük devretme sonrasında veritabanının güvenilir olması gerekiyorsa ek kurulum adımları gerekir. Daha fazla bilgi için bkz. Güvenilir Özelliği Kullanmak için Yansıtma Veritabanı Ayarlama (Transact-SQL).

Yansıtma veritabanının veritabanı ana anahtarının otomatik şifresini çözmeyi etkinleştirme hakkında bilgi için bkz. Şifrelenmiş Yansıtma Veritabanı Ayarlama.

İzinler

Veritabanı sahibi veya sistem yöneticisi.

Mevcut Bir Yansıtma Veritabanını Yansıtmayı Yeniden Başlatmak İçin Hazırlamak

Yansıtma kaldırıldıysa ve yansıtma veritabanı hala KURTARILIYOR durumundaysa yansıtmayı yeniden başlatabilirsiniz.

  1. Asıl veritabanında en az bir günlük yedeği alın. Daha fazla bilgi için bkz. İşlem Günlüğünü Yedekleme (SQL Server).

  2. Yansıtma veritabanında, yansıtma kaldırıldıktan sonra asıl veritabanında alınan tüm günlük yedeklemelerini geri yüklemek için NORECOVERY ile RESTORE komutunu kullanın. Daha fazla bilgi için bkz. İşlem Günlüğü Yedeklemesini (SQL Server) geri yükleme.

Yeni Yansıtma Veritabanı Hazırlamak için

Yansıtma veritabanı hazırlamak için

Uyarı

Bu yordamın Transact-SQL örneği için, bu bölümün devamında yer alan Örnek (Transact-SQL) bölümüne bakın.

  1. Asıl sunucu örneğine bağlanın.

  2. Asıl veritabanının tam veritabanı yedeğini veya değişiklik veritabanı yedeğini oluşturun.

  3. Genellikle, ana veritabanında en az bir log yedeği almanız gerekir. Ancak, veritabanı yeni oluşturulduysa ve henüz hiçbir günlük yedeği alınmadıysa veya kurtarma modeli SIMPLE yerine FULL olarak değiştirildiyse, günlük yedeklemesi gereksiz olabilir.

  4. Yedeklemeler her iki sistemden de erişilebilen bir ağ sürücüsünde değilse, veritabanını ve günlük yedeklemelerini yansıtma sunucusu örneğini barındıracak sisteme kopyalayın.

  5. Yansıtma sunucusu örneğine bağlanın.

  6. NORECOVERY ile RESTORE kullanarak tam veritabanı yedeklemesi ve isteğe bağlı olarak en son diferansiyel veritabanı yedeklemesini yansıtma sunucusu örneğine geri yükleyerek yansıtma veritabanını oluşturun.

    Uyarı

    Veritabanı dosya grubunu dosya grubuna göre geri yüklerseniz, veritabanının tamamını geri yüklemeyi unutmayın.

  7. NORECOVERY ile GERI YÜKLEME'yi kullanarak bekleyen günlük yedeklemelerini veya yedeklemelerini yansıtma veritabanına uygulayın.

Örnek (Transact-SQL)

Veritabanı yansıtma oturumunu başlatabilmeniz için yansıtma veritabanını oluşturmanız gerekir. Yansıtma oturumunu başlatmadan hemen önce bunu yapmanız gerekir.

Bu örnek, varsayılan olarak basit kurtarma modelini kullanan örnek veritabanını kullanır AdventureWorks2025 .

  1. Veritabanı yansıtmasını AdventureWorks2025 veritabanıyla birlikte kullanmak için, onu tam kurtarma modelini kullanacak şekilde değiştirin.

    USE master;  
    GO  
    ALTER DATABASE AdventureWorks   
    SET RECOVERY FULL;  
    GO  
    
  2. Veritabanının kurtarma modelini SIMPLE yerine FULL olarak değiştirdikten sonra, yansıtma veritabanını oluşturmak için kullanılabilecek bir tam yedekleme oluşturun. Kurtarma modeli yeni değiştirildiğinden, yeni bir medya kümesi oluşturmak için WITH FORMAT seçeneği belirtilir. Bu, tam kurtarma modeli altındaki yedeklemeleri basit kurtarma modeli altında yapılan önceki yedeklemelerden ayırmak için yararlıdır. Bu örneğin amacı doğrultusunda, yedekleme dosyası (C:\AdventureWorks.bak) veritabanıyla aynı sürücüde oluşturulur.

    Uyarı

    Üretim veritabanı için her zaman ayrı bir cihaza yedeklemeniz gerekir.

    Asıl sunucu örneğinde (üzerinde PARTNERHOST1) aşağıdaki gibi asıl veritabanının tam yedeğini oluşturun:

    BACKUP DATABASE AdventureWorks   
        TO DISK = 'C:\AdventureWorks.bak'   
        WITH FORMAT  
    GO  
    
  3. Tam yedeklemeyi yansıtma sunucusuna kopyalayın.

  4. NORECOVERY ile RESTORE kullanarak tam yedeklemeyi yansıtma sunucusu örneğine geri yükleyin. Geri yükleme işlemi, ana ve yansıtma veritabanlarının yollarının aynı olup olmamasına bağlıdır.

    • Yollar aynıysa:

      Yansıtma sunucusu örneğinde (üzerinde PARTNERHOST5), tam yedeklemeyi aşağıdaki gibi geri yükleyin:

      RESTORE DATABASE AdventureWorks   
          FROM DISK = 'C:\AdventureWorks.bak'   
          WITH NORECOVERY  
      GO  
      
    • Yollar farklıysa:

      Yansıtma veritabanının yolu asıl veritabanının yolundan farklıysa (örneğin, sürücü harfleri farklıdır), yansıtma veritabanını oluşturmak için geri yükleme işleminin MOVE yan tümcesi içermesi gerekir.

      Önemli

      Sorumlu ve yansıtma veritabanlarının yol adları farklıysa, dosya ekleyemezsiniz. Bunun nedeni, dosya ekleme işleminin günlüğünü aldığında yansıtma sunucusu örneğinin yeni dosyayı asıl veritabanı tarafından kullanılan konuma yerleştirmeye çalışmasıdır.

      Örneğin, aşağıdaki komut C:\Program Files\Microsoft SQL Server\MSSQL konumunda bulunan bir asıl veritabanının yedeğini geri yükler. n\MSSQL\Data\ farklı bir konuma, D:\Program Files\Microsoft SQL Server\MSSQL. n\MSSQL\Data, yansıtma veritabanının bulunacağı yer.

      RESTORE DATABASE AdventureWorks  
         FROM DISK='C:\AdventureWorks.bak'  
         WITH NORECOVERY,   
            MOVE 'AdventureWorks_Data' TO   
               'D:\Program Files\Microsoft SQL Server\MSSQL.n\MSSQL\Data\AdventureWorks_Data.mdf',   
            MOVE 'AdventureWorks_Log' TO  
               'D:\Program Files\Microsoft SQL Server\MSSQL.n\MSSQL\Data\AdventureWorks_Log.ldf';  
      GO  
      
  5. Tam yedeklemeyi oluşturduktan sonra, asıl veritabanında bir günlük yedeklemesi oluşturmanız gerekir. Örneğin, aşağıdaki Transact-SQL deyimi günlük dosyasını önceki tam yedekleme tarafından 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 ile, C:\AdventureWorks.bak içinden ilk günlüğü geri yükler:

    RESTORE LOG AdventureWorks   
        FROM DISK = 'C:\AdventureWorks.bak'   
        WITH FILE=1, NORECOVERY  
    GO  
    
  7. Yansıtmaya başlamadan önce ek günlük yedeklemeleri gerçekleşirse, bu günlük yedeklemelerinin tümünü DE NORECOVERY kullanarak yansıtma sunucusuna sırayla geri yüklemeniz gerekir.

    Örneğin, aşağıdaki Transact-SQL deyiminden C:\AdventureWorks.bak iki ek günlük geri yükler:

    RESTORE LOG AdventureWorks   
        FROM DISK = 'C:\AdventureWorks.bak'   
        WITH FILE=2, NORECOVERY  
    GO  
    RESTORE LOG AdventureWorks   
        FROM DISK = 'C:\AdventureWorks.bak'   
        WITH FILE=3, NORECOVERY  
    GO  
    

Veritabanı yansıtmasını ayarlama, güvenlik kurulumunu gösterme, yansıtma veritabanını hazırlama, iş ortaklarını ayarlama ve bir tanık eklemenin tam bir örneği için bkz. Veritabanı Yansıtmayı Ayarlama (SQL Server).

İzleme: Yansıtma Veritabanı Hazırlandıktan Sonra

  1. En son GERİ YÜKLEME GÜNLÜĞÜ işleminizden bu yana ek günlük yedeklemeler aldıysanız, NORECOVERY ile RESTORE komutunu kullanarak tüm ek günlük yedeklemeleri el ile uygulamanız gerekir.

  2. Yansıtma oturumunu başlatın. Daha fazla bilgi için bkz. Windows Kimlik Doğrulaması Kullanarak Veritabanı Yansıtma Oturumu Oluşturma (SQL Server Management Studio) veya Windows Kimlik Doğrulaması Kullanarak Veritabanı Yansıtma Oturumu Oluşturma (Transact-SQL).

  3. Asıl veritabanında yedekleme işini devre dışı bırakmışsanız, işi yeniden etkinleştirebilirsiniz.

  4. Yük devretme sonrasında veritabanının güvenilir olması gerekiyorsa yansıtma başladıktan sonra ek kurulum adımları gerekir. Daha fazla bilgi için bkz. Güvenilir Özelliği Kullanmak için Yansıtma Veritabanı Ayarlama (Transact-SQL).

İlgili Görevler

Ayrıca Bkz.

Veritabanı Yansıtması (SQL Server)
Veritabanı Yansıtma ve Her Zaman Açık Kullanılabilirlik Grupları için Aktarım Güvenliği (SQL Server)
Veritabanı Yansıtmayı Ayarlama (SQL Server)
Full-Text Katalogları ve Dizinleri Yedekleme ve Geri Yükleme
Veritabanı Yansıtma ve Full-Text Katalogları (SQL Server)
Veritabanı Yansıtma ve Çoğaltma (SQL Server)
BACKUP (Transact-SQL)
GERİ YÜKLE (Transact-SQL)
RESTORE Argümanlar (Transact-SQL)