SQL Server 2005'te işlem günlük dosyası küçültme

# Hata: 285895 (SQL BU aksaklığı izleme)hata #: 44510 (İçerik Bakımı)

Özet

Microsoft SQL Server 2005'te bir veritabanında kullanılmayan sayfaları kaldırmak için bir işlem günlük dosyası daraltabilirsiniz. Veritabanı altyapısı alanı verimli kullanır. Ancak, işlem günlüğü dosyasının beklenmedik biçimde büyürken, işlem günlüğü dosyasını el ile sıkıştırmak zorunda kalabilirsiniz.

Bu makalede, DBCC SHRINKFILE deyim el ile bir SQL Server 2005 veritabanı tam kurtarma modeli altında işlem günlüğü dosyasını sıkıştırmak için nasıl kullanılacağını açıklar. SQL Server 2005'te işlem günlüğü dosyasını sıkıştırmak için kullandığınız yöntem, SQL Server 2000'de işlem günlüğü dosyasını sıkıştırmak için kullandığınız yöntemden farklı olabilir. SQL Server 2000'de işlem günlüğü dosyasının daraltma hakkında daha fazla 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 DBCC SHRINKFILE ile işlem günlüğünü daraltma

Daha fazla bilgi

SQL Server 2005'te bir küçültme işlemi (DBCC SHRINKFILE) hemen belirtilen işlem günlüğü dosyasını istenen boyuta Küçült çalışır. El ile tam kurtarma modeli altında işlem günlüğü dosyasını sıkıştırmak için ilk işlem günlüğü dosyanızı yedekleyin. Daha sonra işlem günlük dosyası daraltmak için DBCC SHRINKFILE deyimini kullanın.

Genellikle, SQL Server 2005'te işlem günlük dosyası daraltılması SQL Server 2000'de işlem günlüğü dosyasının daraltma daha hızlıdır. SQL Server 2005 günlük Yöneticisi oluşturur veya fiziksel disk depolama sırasını izleyerek etkin sanal günlük dosyaları yeniden kullanır nedenidir. Bu nedenle, etkin işlem günlüğü dosyasının genellikle dosyanın sonunda bir parçasıdır.

Örneğin, işlem günlüğü dosyası sanal günlük dosyaları 100 olabilir ve yalnızca 2 sanal günlük dosyaları kullanılır. SQL Server 2000 ilk kullanılan sanal günlük dosyası işlem günlüğü dosyasının başındaki depolayabilir ve ikinci ortasında işlem günlüğü dosyası sanal günlük dosyası kullanılır. İşlem günlüğü dosyası sanal günlük dosyaları yalnızca 2 daraltmak için kukla kütüğü girişlerini kullanarak SQL Server ikinci sanal günlük dosyası kalan kısmını doldurur. SQL Server günlük yöneticisi tarafından belirtilen bir sonraki kullanılabilir sanal günlük dosyası, mantıksal günlük başlangıcı taşır. Günlük Yöneticisi işlem günlük dosyasının yalnızca son etkin sanal günlük dosyası önceden ortasında bir sanal günlük dosyası oluşturabilir. Bu durumda, birden çok günlük yedekleme işlemlerini ve birden fazla küçültme işlemleri işlem günlüğü dosyasını 2 sanal günlük dosyaları başarıyla daraltmak için kullanmak zorunda. Bu örnek, en kötü durumda, 50 günlük yedekleme işlemlerini kullanmak zorunda kalabilirsiniz ve 50 işlemleri işlem günlüğü dosyası sanal günlük dosyaları için 2 başarıyla daraltmak için Daralt.

Ancak, SQL Server 2005'te bir DBCC SHRINKFILE deyimi işlem günlüğü dosyası sanal günlük dosyaları için 2 hemen daraltmak için gerçekleştirebilirsiniz. Fiziksel disk depolama sırasını izleyerek SQL Server 2005 günlük Yöneticisi 2 sanal günlük dosyaları oluşturur çünkü bunu yapabilirsiniz. İşlem günlüğü dosyasının başlangıcında her iki sanal günlük dosyalarıdır.

SQL Server 2005'te çok az boş alana sahip bir işlem günlüğü dosyasını daraltın çalıştığınızda, bir ek günlük yedek işlemi gerçekleştirmek zorunda kalabilirsiniz. Ek günlük yedek işlemi işlem günlüğü dosyasının daha küçük bir boyuta keser. Bu günlük yedekleme ek olarak, SQL Server 2000'de işlem günlüğü dosyasını sıkıştırmak yerine üç adım bir işlemdir. Daha fazla bilgi için "Özet" bölümünde açıklanan Microsoft Bilgi Bankası makalesine bakın. SQL Server 2005'te çok az boş alana sahip bir işlem günlük dosyası daraltmak için şu adımları izleyin:

  1. En iyi etkin sanal günlük dosyaları etkin şekilde işlem günlüğü dosyasının yedeğini alın. Bu nedenle, bir sonraki adımda etkin sanal günlük dosyaları kaldırılabilir. Bunu yapmak için SQL Server Management Studio'yu başlatın ve aşağıdaki Transact-SQL deyimini benzer bir Transact-SQL deyimini çalıştırın.

    BACKUP LOG <DatabaseName> TO DISK = '<BackupFile>'

    Not: Bu ifade, < veritabanı adı > , yedeklemekte olduğunuz veritabanının adı için bir yer tutucudur ve < BackupFile > yedekleme dosyasının tam yolu için bir yer tutucudur.

    Örneğin, aşağıdaki Transact-SQL deyimini çalıştırın.

    BACKUP LOG TestDB TO DISK='C:\TestDB1.bak'
  2. İşlem günlüğü dosyasını daraltın. Bunu yapmak için aşağıdaki Transact-SQL deyimini benzer bir Transact-SQL deyimini çalıştırın.

    DBCC SHRINKFILE (<FileName>, <TargetSize>) WITH NO_INFOMSGS

    Not: Bu ifade, < dosyaadı > işlem günlük dosyası adı için bir yer tutucudur ve < TargetSize > olarak işlem günlüğü dosyasını istediğiniz hedef boyutu için bir yer tutucudur. Hedef boyutuna uygun olmalıdır. Örneğin, sanal günlük dosyaları 2'den daha az bir boyutu için hareket günlük dosyası daraltılamıyor.

  3. DBCC SHRINKFILE deyimi işlem günlük dosyası için hedef boyutu küçülmez, sanal günlük dosyaları daha etkin olmak için 1. adımda açıklanan BACKUP LOG deyimini çalıştırın.

  4. 2. adımda belirtilen DBCC SHRINKFILE deyimini çalıştırın. Bu işlemden sonra işlem günlüğü dosyasını hedef boyutuna yakın olması gerekir.

Özet olarak, SQL Server 2005'te sonraki sanal günlük dosyası elde etmek için Günlük Yöneticisi'nin algoritması değiştirildi. Bu nedenle, SQL Server 2005'te işlem günlük dosyası daraltılması SQL Server 2000'de işlem günlüğü dosyasının küçültmenizi farklı olabilir.

  • Çok fazla boş alan bir günlük dosyası varsa, SQL Server 2005'te işlem günlük dosyası daraltılması SQL Server 2000'de işlem günlüğü dosyasının daraltma daha hızlıdır.

  • Hiç boş alan bir günlük dosyası varsa, SQL Server 2005'te işlem günlük dosyası daraltılması SQL Server 2000'de işlem günlüğü dosyasının daraltma aynıdır.

  • Bir günlük dosyası çok az boş alan varsa, SQL Server 2000'de gerçekleştirmek ' den SQL Server 2005'te bir ek günlük yedek işlemi gerçekleştirmek zorunda kalabilirsiniz.

Başvurular

İşlem günlüğünü daraltma hakkında daha fazla bilgi için işlem günlüğünü daraltma Microsoft Developer Network (MSDN) Web sitesine gidin.


DBCC SHRINKFILE deyimi hakkında daha fazla bilgi için DBCC SHRINKFILE Transact-SQL () MSDN Web sitesine gidin.


Hareket günlük kesilme hakkında daha fazla bilgi için Hareket günlüğü kesme MSDN Web sitesine gidin.

Daha fazla yardıma mı ihtiyacınız var?

Yeteneklerinizi geliştirin
Eğitimleri keşfedin
Yeni özellikleri ilk olarak siz edinin
Microsoft Insider 'a katılın

Bu bilgi yardımcı oldu mu?

Geri bildiriminiz için teşekkür ederiz!

Geri bildiriminiz için teşekkürler! Office destek temsilcilerimizden biriyle görüşmeniz yararlı olabilir.

×