Login | | Register

  Home     Support  
Thursday, December 09, 2021
 

Table of Contents

Die Protokoll-Datei
Die Prozedur sp_cycle_errorlog
Der Error Log Manager

Verwalten der SQL Server Protokoll-Datei

Der Error Log Manager

Die Lösung zur automatisierten Überwachung der Protokoll-Datei verbirgt sich in einer kleinen Prozedur. Die Prozedur wird mit einem Parameter aufgerufen mit dem die max. Größe der Protokoll-Datei definiert werden kann. Ist die aktuelle Protokoll-Datei größer wird die Prozedur sp_cycle_errorlog ausgeführt. Das Skript wurde auf  SQLServerCentral.com geposted.

Hier das Skript, danach die Erläuterung:

Create Procedure procErrorLogMaintenance
(
 @MaxFileSize int = 10240000
)
AS
Declare @CurrentLogFileSize bigint
Create Table #LogFileInfo
(
    [Archive #] tinyint,
    [Date] datetime,
    [Log File Size (Byte)] bigint
)
Insert #LogFileInfo Exec xp_enumerrorlogs
Select @CurrentLogFileSize = [Log File Size (Byte)]
  From #LogFileInfo
 Where [Archive #] = 0
If @CurrentLogFileSize > @MaxFileSize 
  Exec sp_cycle_errorlog
Drop Table #LogFileInfo
Go

Die Prozedur erstellt zunächst eine Tabelle #LogFileInfo in der TempDB. Diese Tabelle wird durch die Prozedur xp_enumerrorlogs mit den Informationen über die aktuellen Protokoll-Dateien (also max. 7 Einträge) gefüllt. Der Datensatz mit der Nummer 0 in der Spalte [Archive #] beinhaltet die Daten der aktuellen Protokoll-Datei. Die Größe der Datei wird aus der Spalte [Log File Size (Byte)] gelesen und mit dem Parameter @MaxFileSize verglichen. Ist die definierte Größe überschritten wird die Prozedur sp_cycle_errorlog ausgeführt. In jedem Fall wird die angelegte Tabelle #LogFileInfo wieder gelöscht.

Previous Page | 1 | 2 | 3

(c) Thomas Trefz