Makale numarası: 873235 - Bu makalenin geçerli olduğu ürünleri görün.
Hepsini aç | Hepsini kapa

Bu Sayfada

GİRİŞ

Bu makalede, işlem günlükleri çok fazla büyüdüğünde uygulamanız gereken adımlar açıklanır. Tam işlem günlükleri, Microsoft SQL Server veritabanınızı kullanılamaz hale getirebilir. Bu makalede; işlem günlüklerini kesme, daraltma ve işlem günlüklerinin beklenmedik şekilde büyümesini önleme konuları açıklanır.

Daha fazla bilgi

İşlem günlüğü boyutunu küçültün

İşlem günlüklerinin dolduğu bir durumdan kurtarmak için, işlem günlüklerinin boyutunu küçültmeniz gerekir. Bunu yapmak için, işlem günlüğünüzdeki etkin olmayan işlemleri kesmeniz ve işlem günlüğü dosyasını daraltmanız gerekir.

Not İşlem günlükleri, veritabanının işlem bütünlüğünün korunması açısından çok önemlidir. Bu nedenle, veritabanınızın ve işlem günlüklerinizin yedeğini aldıktan sonra bile işlem günlüğü dosyalarını silmemelisiniz.


İşlem günlüğü boyutunu küçültme hakkında daha fazla bilgi için, aşağıdaki Microsoft Web sitesini ziyaret edin:
SQL Server 2000 için İşlem Günlüğü'nü Daraltma
SQL Server 2005 için İşlem Günlüğü'nü Daraltma

İşlem günlüğünüzdeki etkin olmayan işlemleri kesin

İşlem günlükleri dolduğunda, işlem günlüğü dosyanızı derhal yedeklemelisiniz. İşlem günlüğü dosyalarınızın yedeğinin oluşturulmasına karşın, işlem günlüğünün etkin olmayan bölümü SQL Server tarafından otomatik olarak kesilir. İşlem günlüğü dosyasının etkin olmayan kısmı, tamamlanmış işlemleri içerir. Bu nedenle, kurtarma işlemi sırasında işlem günlüğü dosyası SQL Server tarafından artık kullanılmaz. SQL Server, işlem günlüğünün büyümeye devam ederek daha fazla alan kullanmasına izin vermek yerine, işlem günlüğündeki bu kesilmiş ve etkin olmayan alanı yeniden kullanır.

İşlem günlüklerinin yedeğini oluştururken ve işlem günlüğü yedeklerini geri yüklerken göz önünde bulundurmanız gereken konular hakkında ek bilgi için, SQL Server Books Online'da aşağıdaki konuları ziyaret edin:
  • İşlem günlüğü yedekleri
  • İşlem günlüğünü yedekleme ve geri yükleme
Ayrıca, Truncate yöntemini kullanarak, etkin olmayan işlemleri işlem günlüğü dosyasından silebilirsiniz. İşlem günlüklerinin kesilmesiyle ilgili ek bilgi için, SQL Server Books Online'da "İşlem günlüğünün kesilmesi" konusuna bakın.

Önemli İşlem günlüğü dosyalarını el ile kestikten sonra, yeni bir işlem günlüğü dosyası yedeği oluşturmadan önce, tam veritabanı yedeği oluşturmalısınız.

İşlem günlüğü dosyalarını kestiğinizde oluşabilecek sorunlar hakkında ek bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
62866 SQL işlem günlüğünün kesilmeme nedenleri

İşlem günlüğü dosyasını daraltın

Yedekleme işlemi veya Kesme yöntemi günlük dosyası boyutunu küçültmez. İşlem günlüğü dosyasının boyutunu küçültmek için işlem günlük dosyasını daraltmalısınız. İşlem günlüğü dosyasını istenen boyuta göre daraltmak ve kullanılmayan sayfaları kaldırmak için, DBCC SHRINKFILE işlemini kullanmalısınız. DBCC SHRINKFILE Transact-SQL deyimi, günlük dosyasının yalnızca etkin olmayan kısmını daraltabilir.

Not DBCC SHRINKFILE Transact-SQL deyimi, tek başına günlüğü kesemez ve günlük dosyasında kullanılan alanı daraltamaz.

İşlem günlüğü dosyalarının daraltılması hakkında daha fazla bilgi için, SQL Server Books Online'da aşağıdaki konulara bakın:
  • İşlem günlüğünü daraltma
  • DBCC SHRINKFILE
SQL Server 2000'de işlem günlüğü dosyalarını daraltma hakkında ek bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
272318 SQL Server 2000'de DBCC SHRINKFILE ile işlem günlüğünü daraltma
İşlem günlüğü dosyalarını daraltırken oluşabilecek sorunlar hakkında ek bilgi için, Microsoft Bilgi Bankası'ndaki makaleleri görüntülemek üzere aşağıdaki makale numaralarını tıklatın:
814574 SORUN: Hata iletisi: İşlem günlüğü dosyasını daraltırken "Günlük dosyası daraltılamıyor ..." görüntüleniyor
324432 SORUN: DBCC SHRINKFILE ve SHRINKDATABASE komutları, seyrek doldurulmuş text, ntext veya image sütunları nedeniyle çalışmayabilir

İşlem günlüğü dosyalarının beklenmedik biçimde büyümesini önleyin

İşlem günlüğü dosyalarının beklenmedik biçimde büyümesini önlemek için, aşağıdaki yöntemlerden birini kullanmayı değerlendirin:
  • İşlem günlüğü dosyalarının otomatik olarak genişlemesini önlemek için işlem günlüğü dosyalarının boyutunu büyük bir değere ayarlayın.
  • En iyi başarımı sağlayan bellek boyutunu ayrıntılı olarak değerlendirdikten sonra, işlem günlüğü dosyalarının otomatik genişlemesini yüzde birimi yerine bellek birimi cinsinden yapılandırın.

    Otomatik büyüme seçeneğini yapılandırırken dikkate almanız gereken konular hakkında ek bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
    315512 Otomatik büyüme ve otomatik daralma yapılandırmalarına ilişkin hususlar
  • Kurtarma modelini değiştirin. Bir olağanüstü durum veya veri bozulması meydana geldiğinde, veritabanının veri tutarlılığının ve işlem bütünlüğünün korunması için veritabanınızı kurtarmanız gerekir. Veritabanınızda bulunan verilerin ne kadar önemli olduğuna bağlı olarak, verilerinizin yedeklenme şeklini ve uğradığınız veri kaybını belirlemek için aşağıdaki kurtarma modellerinden birini kullanabilirsiniz:
    • Basit kurtarma modeli
    • Tam kurtarma modeli
    • Toplu günlük kurtarma modeli
    Basit kurtarma modelini kullanarak, veritabanınızı en son yedeğine kadar kurtarabilirsiniz. Tam kurtarma modelini veya toplu günlük kurtarma modelini kullanarak, veritabanınızı işlem günlüğü dosyası yedekleriyle geri yükleyerek, veritabanınızı hatanın oluştuğu noktaya kadar kurtarabilirsiniz.

    SQL Server 2000'de ve SQL Server 2005'te SQL Server veritabanı için varsayılan kurtarma modeli, Tam kurtarma modelidir. Tam kurtarma modelinde, işlem günlüğü dosyasının boyutunun, veritabanı boyutuyla orantısız ölçüde büyümesini önlemek için işlem günlüğünün düzenli yedekleri kullanılır. Ancak işlem günlüğünün düzenli olarak yedeği alınmadığında, işlem günlüğü dosyası büyüyerek diski doldurur ve SQL Server veritabanınızda herhangi bir veri değiştirme işlemini gerçekleştirmeniz mümkün olmayabilir.

    İşlem günlüğü dosyalarını bir olağanüstü durum kurtarma işlemi sırasında kullanmak istemiyorsanız, kurtarma modelini "tam"dan "basit"e getirebilirsiniz.
  • İşlem günlüğünüzdeki etkin olmayan işlemleri silmek için işlem günlüğü dosyalarını düzenli olarak yedekleyin.
  • İşlemleri küçük olacak şekilde tasarlayın.
  • Herhangi bir istenmeyen işlemin süresiz olarak çalışmaya devam etmediğinden emin olun.
  • Update Statistics (İstatistikleri Güncelleştir) seçeneğini, günlük olarak yapılacak şekilde zamanlayın.
  • Üretim ortamınızda iş yükü performansından yararlanmak üzere dizinleri birleştirmek için, DBCC DBREINDEX Transact-SQL deyiminin yerine DBCC INDEXDEFRAG Transact-SQL deyimini kullanın. DBCC DBREINDEX bildirimini çalıştırırsanız, SQL Server veritabanınız Tam kurtarma modundayken işlem günlüğü önemli ölçüde genişleyebilir. Ek olarak, DBCC DBREINDEX deyiminin tersine DBCC INDEXDEGRAG deyimi, kilitleri uzun süre tutmaz.

    SQL Server 2000'de dizinleri birleştirme hakkında ek bilgi için, aşağıdaki Microsoft web sitesine bakın:
    Microsoft SQL Server 2000 dizin birleştirme konusunda en iyi uygulamalar
    Veritabanı bakım planının bir parçası olan bir iş olarak DBCC DBREINDEX bildirimini çalıştırmanız gerekiyorsa, işi birden çok işe bölmeniz gerekir. Ayrıca, yürütülen işlerin arasında işlem günlüklerinin yedeğini sıkça almalısınız.

İşlem günlüğü dosyaları hakkında daha fazla bilgi

SQL Server 2000'de ve SQL Server 2005'te her bir veritabanı, en az bir veri dosyasına ve bir işlem günlüğü dosyasına sahiptir. SQL Server verileri fiziksel olarak veri dosyasında depolar. İşlem günlüğü dosyası, SQL Server veritabanınızda gerçekleştirdiğiniz tüm değişikliklerin ve her bir değişikliği gerçekleştiren işlemin ayrıntılarını depolar. İşlem bütünlüğü SQL Server'ın temel ve yapısal özelliği olarak kabul edildiğinden, SQL Server'da işlem ayrıntılarının günlüğe kaydedilmesi devre dışı bırakılamaz.

İşlem günlüğü dosyaları, sanal günlük dosyaları denilen daha küçük kesimlere mantıksal olarak bölünmüştür. SQL Server 2000'de işlem günlüğü dosyasını gerektiği kadar genişlemek üzere yapılandırabilirsiniz. İşlem günlüğünün genişlemesi kullanıcı tarafından yönetilebilir veya tüm kullanılabilir disk alanını kullanmak üzere yapılandırılabilir. İşlem günlüğü dosyalarının kesilmesi veya genişletilmesi gibi, SQL Server tarafından işlem günlüğü dosyasının boyutu üzerinde yapılan her değişiklik, sanal günlük dosyaları biriminde gerçekleştirilir.

SQL Server veritabanına karşılık gelen bir işlem günlüğü dosyası doldurulduysa ve işlem günlüğü dosyalarının otomatik olarak genişlemesi seçeneğini ayarladıysanız, işlem günlüğü dosyası sanal günlük dosyaları biriminde genişler. Bazen işlem günlüğü dosyası çok büyüyebilir ve disk alanınız tükenebilir. İşlem günlüğü dosyası, günlük dosyası tüm kullanılabilir disk alanını kullanıncaya ve daha fazla genişleme olanağı kalmayıncaya dek genişlediğinde, artık veritabanınız üzerinde herhangi bir veri değişikliği işlemi gerçekleştiremezsiniz. Ayrıca, işlem günlüğünün genişlemesi nedeniyle oluşan alan eksikliği nedeniyle SQL Server veritabanınızı şüpheli olarak işaretleyebilir.

İşlem günlüğü dosyasının beklenmedik biçimde genişlemesine neden olan senaryolar hakkında ek bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
317375 SQL Server üzerindeki işlem günlüğü beklenmedik biçimde büyüyor veya tamamen doluyor

Referanslar

Kurtarma işlemi sırasında ek disk alanı gereksinimi ile ilgili sorun giderme hakkında daha fazla bilgi için, SQL Server Books Online'da "Yetersiz disk alanı" konusuna bakın. İşlem günlüğü mimarisiyle ilgili ek bilgi için, SQL Server Online Books'da aşağıdaki konulara bakın:
  • İşlem günlüğü mimarisi
  • İşlem günlüğünün mantıksal yapısı
  • İşlem günlüğünün fiziksel yapısı
SQL Server 2000'deki kurtarma modelleri hakkında daha fazla bilgi için, SQL Server Books Online'da aşağıdaki konulara bakın:
  • Kurtarma modeli seçme
  • Basit kurtarma
  • Tam kurtarma
  • Toplu günlük kurtarması
  • Kurtarma modellerini değiştirme

Özellikler

Makale numarası: 873235 - Last Review: 29 Şubat 2012 Çarşamba - Gözden geçirme: 4.0
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL 2005 Server Enterprise
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL 2005 Server Workgroup
Anahtar Kelimeler: 
kbsqlsetup kbdiskmemory kbdisasterrec kbhowto kbconfig kbinfo kbcip KB873235

Geri Bildirim Ver

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com