SQL Server eski hata günlük dosyalarını siler mi?


13

Sp_cycle_errorlog çalıştırarak geçerli hata günlüğünü kolayca döngüsü biliyorum, ama SQL Server hiç eski / arşivlenmiş hata günlüğü dosyalarını siler mi merak ediyorum. Buna hiçbir yerde cevap bulamıyorum ...

Yanıtlar:


20

Gelen SQL Server Management Studio, içinde Object Explorer> Managementsağ tıklarsanız, bir ayarı vardır SQL Server Logsve seçmek Configure. Kaç günlük dosyası saklamak istediğinizi belirleyebilirsiniz. Bu sayıya ulaştığında eskilerini kaldırmaya başlayacaktır.

resim açıklamasını buraya girin


8

SQL Server'ı 7 kez yeniden başlatın. Hala sadece 7 ERRORLOG*dosyanız olduğunu göreceksiniz (sürüme bağlı olarak). Bu, geçerli günlük dosyası ve en son 6 günlük dosyasıdır.

Not: SQL Server'ın sakladığı hata günlüklerinin sayısını değiştirirseniz 7'yi başka bir şeye değiştirmeniz gerekebilir . Sanırım max, 99'dur. Ancak mevcut ayarınız ne olursa olsun, eski dosyaları geri dönüştürüp temizler.

Bunu test ettim ve şu kutunun işaretini kaldırırsanız:

☐ Hata günlüğü dosyalarının geri dönüştürülmeden önce sayısını sınırlayın

... (en azından benim için) ima hangi tüm günlük dosyalarını tutmak , bu hala sadece mevcut hata günlük dosyasını artı 6 yedekleri tutacak . @RLF'nin işaret ettiği kayıt defteri anahtarını değiştirdiyseniz, kayıt defteri anahtarı ayarı geçersiz kılınır (kutunun işaretini kaldırmamış gibi), ancak yine de 6 arasında bazı yedekleme hatası günlük dosyalarıyla sınırlı kalacaksınız. ve 99.

Yani kısa cevap: evet, her durumda, SQL Server sonunda eski hata günlüğü dosyalarını silmeye başlayacaktır.


7

SQL Server, doğru şekilde yapılandırdığınız sürece hata günlüklerini otomatik olarak geri dönüştürür.

Bkz. Http://msdn.microsoft.com/en-us/library/ms177285.aspx . Aşağıdaki göze çarpan noktaları kopyaladım:

Nesne Gezgini'nde, SQL Server örneğini genişletin, Yönetim'i genişletin, SQL Server Günlükleri'ni sağ tıklatın ve ardından Yapılandır'ı tıklatın.

SQL Server Hata Günlüklerini Yapılandır iletişim kutusunda, aşağıdaki seçeneklerden birini belirleyin.

  • Hata günlüğü dosyalarının geri dönüştürülmeden önce sayısını sınırlayın

    • Geri dönüştürülmeden önce oluşturulan hata günlüklerinin sayısını sınırlamak için işaretleyin. Her SQL Server örneği başlatıldığında yeni bir hata günlüğü oluşturulur. SQL Server, bu seçeneği işaretlemez ve aşağıda farklı sayıda maksimum hata günlüğü dosyası belirtmezseniz, önceki altı günlüğün yedeklerini tutar.
  • Maksimum hata günlüğü dosyası sayısı

    • Geri dönüştürülmeden önce oluşturulan maksimum hata günlüğü dosyası sayısını belirtin. Varsayılan değer, SQL Server'ın geri dönüştürülmeden önce sakladığı önceki yedekleme günlüklerinin sayısı olan 6'dır.

2

Evet, kaç hata günlüğünün saklanacağı konusunda bir yapılandırma vardır.

Kayıt defteri anahtarında bulunabilir:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\NumErrorLogs

Bu anahtarı eklemeniz gerekebilir.


1
MSSQLServerAdlandırılmış bir örnekse ilk örneğini örnek kimliğinizle değiştirmeniz gerektiğini unutmayın (örn . MSSQL12.SQL2014Adlı adlandırılmış 2014 örneğim için SQL2014).
Aaron Bertrand
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.