Aracılığıyla paylaş


İşlem günlüğünü yedekleme

Şunlar için geçerlidir: SQL Server

Bu makalede SQL Server Management Studio, Transact-SQL veya PowerShell kullanarak SQL Server'da bir işlem günlüğünün nasıl yedekleneceği açıklanır.

Sınırlamalar

Açık BACKUP veya örtük bir işlemde deyimine izin verilmez. Açık bir işlem, işlemin hem başlangıç hem de bitişini açıkça tanımladığınız işlemdir.

master sistem veritabanının işlem günlüğü yedeklemeleri desteklenmez.

Recommendations

Veritabanı tam veya toplu günlüğe kaydedilen kurtarma modelini kullanıyorsa, verilerinizi korumak ve işlem günlüğünün dolmasını önlemek için işlem günlüğünü düzenli olarak yedeklemeniz gerekir. Bu işlem günlüğü kısaltarak veritabanını belirli bir noktaya geri yüklemeyi destekler.

Varsayılan olarak, her başarılı yedekleme işlemi SQL Server hata günlüğüne ve sistem olay günlüğüne bir girdi ekler. Günlüğü sık sık yedeklerseniz, bu başarı iletileri hızla birikerek büyük hata günlüklerine neden olur ve diğer iletilerin bulunmasını zorlaştırır. Böyle durumlarda izleme bayrağı 3226 kullanarak bu günlük girdilerini gizleyebilirsiniz. Betiklerinizin hiçbiri bu girdilere bağımlı değilse bkz. DBCC TRACEON ile izleme bayrakları ayarlama.

Permissions

Başlamadan önce hem örnek düzeyinde hem de depolama düzeyinde doğru izinleri denetleyin.

Veritabanı Altyapısı izinleri

BACKUP DATABASE Gerekli ve BACKUP LOG izinleri varsayılan olarak sysadmin sabit sunucu rolünün üyelerine ve db_owner ve db_backupoperator sabit veritabanı rollerine verilir.

Cihaz izinlerini yedekleme

Yedekleme cihazının fiziksel dosyasındaki sahiplik ve izin sorunları yedekleme işlemini etkileyebilir. SQL Server hizmetinin çalıştığı işletim sistemi hesabının cihazdan okuyabilmesi ve cihaza yazabilmesi gerekir. Yedekleme cihazının fiziksel dosyasındaki izin sorunları, yedeklemeyi veya geri yüklemeyi denediğinizde fiziksel kaynağa erişmeye çalışana kadar sizin için belirgin değildir.

Uyarı

Sistem tablolarında bir yedekleme cihazı için giriş ekleyen sp_addumpdevice, dosya erişim izinlerini denetlemez.

SQL Server Management Studio kullanma

  1. SQL Server Veritabanı Altyapısı'nın uygun örneğine bağlandıktan sonra Nesne Gezgini'nde sunucu adını seçerek sunucu ağacını genişletin.

  2. Veritabanları'nı genişletin ve veritabanına bağlı olarak bir kullanıcı veritabanı seçin veya Sistem Veritabanları'nı genişletin ve bir sistem veritabanı seçin.

  3. Veritabanına sağ tıklayın, Görevler'in üzerine gelin ve ardından Yedekle'yi seçin. Veritabanını Yedekle iletişim kutusu görüntülenir.

  4. Veritabanı liste kutusunda veritabanı adını doğrulayın. İsteğe bağlı olarak listeden farklı bir veritabanı seçebilirsiniz.

  5. Kurtarma modelinin veya FULLolduğunu BULK_LOGGED doğrulayın.

  6. Yedekleme türü liste kutusunda İşlem Günlüğü'nü seçin.

  7. (isteğe bağlı)Yalnızca kopya yedeklemesi oluşturmak için Yalnızca Yedeklemeyi Kopyala'yı seçin. Yalnızca kopya yedeklemesi, geleneksel SQL Server yedeklemelerinden bağımsız bir SQL Server yedeklemesidir. Bkz. Salt kopya yedeklemeleri.

    Uyarı

    Değişiklik seçeneği belirlendiğinde, yalnızca kopya yedeklemesi oluşturamazsınız.

  8. Ad metin kutusunda önerilen varsayılan yedekleme kümesi adını kabul edin veya yedekleme kümesi için farklı bir ad girin.

  9. (isteğe bağlı)Açıklama metin kutusuna yedekleme kümesinin açıklamasını girin.

  10. Yedekleme kümesinin süresinin ne zaman dolacağını belirtin:

    • Yedekleme kümesinin belirli bir gün sayısından sonra süresinin dolmasına izin vermek için , Sonra'yı (varsayılan seçenek) seçin ve oluşturulduktan sonra kümenin süresinin dolacağı gün sayısını girin. Bu değer 0 ile 99999 gün olabilir; 0 günlük bir değer, yedekleme kümesinin süresinin hiç dolmayamayacağı anlamına gelir.

      Varsayılan değer, Sunucu Özellikleri iletişim kutusunun (Veritabanı Ayarları sayfası) Varsayılan yedekleme medya saklama (gün) seçeneğinde ayarlanır. Bu iletişim kutusuna erişmek için Nesne Gezgini'nde sunucu adına sağ tıklayın ve özellikleri seçin; ardından Veritabanı Ayarları sayfasını seçin.

    • Yedekleme kümesinin süresinin belirli bir tarihte dolması için Açık'ı seçin ve kümenin süresinin dolacağı tarihi girin.

  11. Disk, URL veya Bant'ı seçerek yedekleme hedefi türünü seçin. Tek bir medya kümesi içeren en fazla 64 disk veya bant sürücüsü yolunu seçmek için Ekle'yi seçin. Seçilen yollar , Yedekle liste kutusunda görüntülenir.

    Yedekleme hedefini kaldırmak için, hedefi seçin ve Kaldır'ı seçin. Bir yedekleme hedefinin içeriğini görüntülemek için hedef hedefini seçin ve İçerikler'i seçin.

  12. Gelişmiş seçenekleri görüntülemek veya seçmek için Sayfa seçin bölmesinde Seçenekler'i seçin.

  13. Aşağıdakilerden birini seçerek Medya üzerine yaz seçeneğini belirleyin:

    • Mevcut medya kümesine yedekleme

      Bu seçenek için Var olan yedekleme kümesine ekle veya Varolantüm yedekleme kümelerinin üzerine yaz'ı seçin; Bkz. Medya kümeleri, medya aileleri ve yedekleme kümeleri (SQL Server).

      • (isteğe bağlı)Medya kümesinin ve yedekleme kümesinin süresinin dolduğunda yedekleme işleminin tarih ve saati doğrulamasına neden olmak için Medya kümesi adını ve yedekleme kümesi süre sonunu denetle'yi seçin.

      • (isteğe bağlı)Medya kümesi adı metin kutusuna bir ad girin. Ad belirtilmezse, boş bir ada sahip bir medya kümesi oluşturulur. Bir medya kümesi adı belirtirseniz, gerçek adın girdiğiniz adla eşleşip eşleşmediğini görmek için medya (bant veya disk) denetlenir.

      Medya adını boş bırakır ve onay kutusunu işaretleyip medyaya karşı işaretlerseniz, başarı, medyadaki medya adına eşit olur ve boş olur.

    • Yeni bir medya kümesine yedekleme ve mevcut tüm yedekleme kümelerini silme

      Bu seçenek için, Yeni medya kümesi adı metin kutusuna bir ad girin ve isteğe bağlı olarak Yeni medya kümesi açıklama metin kutusunda medya kümesini açıklayın. Bkz. Medya Kümeleri, Medya Aileleri ve Yedekleme Kümeleri (SQL Server).

  14. Güvenilirlik bölümünde isteğe bağlı olarak şunları denetleyin:

  15. İşlem günlüğü bölümünde:

    • Rutin günlük yedeklemeleri için, etkin olmayan girişleri kaldırarak işlem günlüğünü keserek varsayılan seçimi koruyun.

    • Günlüğün kuyruğunu (etkin günlük) yedeklemek için Günlüğün kuyruğunu yedekle'yi işaretleyin ve veritabanını geri yükleme durumunda bırakın.

      İş kaybını önlemek için günlüğün kuyruğu yedeklenememesinden sonra kuyruk günlüğü yedeklemesi alınır. Bir hatadan sonra, veritabanını geri yüklemeye başlamadan önce veya ikincil bir veritabanına yük devrederken etkin günlüğü (kuyruk günlüğü yedeklemesi) yedekleyin. Bu seçeneğin seçilmesi, Transact-SQL deyiminde NORECOVERY seçeneği belirtmekle BACKUP LOG eşdeğerdir.

      Kuyruk günlüğü yedeklemeleri hakkında daha fazla bilgi için bkz. Tail-log yedeklemeleri (SQL Server).

  16. Bir bant sürücüsüne yedekleniyorsanız (Genel sayfasının Hedef bölümünde belirtildiği gibi), Yedeklemeden sonra bandı kaldır seçeneği etkindir. Bu seçeneğin seçilmesi , kaldırmadan önce bandı geri sar seçeneğini etkinleştirir.

  17. Varsayılan olarak, yedeklemenin sıkıştırılıp sıkıştırılmayacağı , yedekleme sıkıştırma varsayılan sunucu yapılandırma seçeneğinin değerine bağlıdır. Ancak, geçerli sunucu düzeyindeki varsayılan değerden bağımsız olarak, Yedeklemeyi sıkıştır'ı işaretleyerek bir yedeklemeyi sıkıştırabilir ve Yedeklemeyi sıkıştırma seçeneğini işaretleyerek sıkıştırmayı önleyebilirsiniz.

    Yedekleme sıkıştırması SQL Server 2008 (10.0.x) Enterprise ve sonraki sürümlerde ve SQL Server 2016 (13.x) Service Pack 1 ve sonraki sürümlerde desteklenir.

    Geçerli yedekleme sıkıştırma varsayılanını görüntülemek için bkz . Sunucu yapılandırması: yedekleme sıkıştırma varsayılanı.

    Yedekleme dosyasını şifrelemek için Yedeklemeyi şifrele onay kutusunu işaretleyin. Yedekleme dosyasını şifrelemek için kullanılacak bir şifreleme algoritması seçin ve bir Sertifika veya Asimetrik anahtar sağlayın. Şifreleme için kullanılabilir algoritmalar şunlardır:

    • AES 128
    • AES 192
    • AES 256
    • Üçlü DES

Transact-SQL kullanma

BACKUP LOG Aşağıdaki bilgileri sağlayarak işlem günlüğünü yedeklemek için deyimini yürütebilirsiniz:

  • Yedeklemek istediğiniz işlem günlüğünün ait olduğu veritabanının adı.
  • İşlem günlüğü yedeklemesinin yazıldığı yedekleme cihazı.

Önemli

Bu örnek, basit kurtarma modelini kullanan veritabanını kullanır AdventureWorks2025 . Günlük yedeklemelerine izin vermek için, tam veritabanı yedeklemesi almadan önce veritabanı tam kurtarma modelini kullanacak şekilde ayarlanmıştır.

Daha fazla bilgi için bkz. Veritabanının (SQL Server) kurtarma modelini görüntüleme veya değiştirme.

Bu örnek, veritabanı için AdventureWorks2025 daha önce oluşturulan adlı yedekleme cihazına MyAdvWorks_FullRM_log1bir işlem günlüğü yedeklemesi oluşturur.

BACKUP LOG AdventureWorks2022
   TO MyAdvWorks_FullRM_log1;
GO

PowerShell kullanma

SQL Server PowerShell sağlayıcısını ayarlayın ve kullanın. Backup-SqlDatabase cmdlet'ini kullanın ve -BackupAction parametresinin değeri için Log değerini belirtin.

Aşağıdaki örnek, veritabanının sunucu örneğinin <myDatabase>Computer\Instancevarsayılan yedekleme konumuna bir günlük yedeği oluşturur.

Backup-SqlDatabase -ServerInstance Computer\Instance -Database <myDatabase> -BackupAction Log