{"id":3423,"date":"2009-08-19T17:30:53","date_gmt":"2009-08-19T15:30:53","guid":{"rendered":"http:\/\/www.glorf.it\/blog\/?p=3423"},"modified":"2009-08-14T21:32:01","modified_gmt":"2009-08-14T19:32:01","slug":"mehr-als-7-errorlogs","status":"publish","type":"post","link":"http:\/\/www.glorf.it\/blog\/2009\/08\/19\/sql-talk\/sql-server\/mehr-als-7-errorlogs","title":{"rendered":"Mehr als 7 Errorlogs"},"content":{"rendered":"<p>Bei jedem Start des SQL-Servers wird eine neue Errorlog-Datei angelegt. Die alten werden aber nicht sofort &#252;berschrieben. Stattdessen werden die letzten 6 beibehalten. Das gleiche kann man auch dediziert ausl&#246;sen:<\/p>\n<p><code>EXEC sp_cycle_errorlog<\/code><\/p>\n<p>Dabei passiert Folgendes:<\/p>\n<ul>\n<li>Datei &quot;errorlog.6&quot; wird gel&#246;scht<\/li>\n<li>Datei &quot;errorlog.5&quot; wird in &quot;errorlog.6&quot; umbenannt<\/li>\n<li>Datei &quot;errorlog.4&quot; wird in &quot;errorlog.5&quot; umbenannt<\/li>\n<li>Datei &quot;errorlog.3&quot; wird in &quot;errorlog.4&quot; umbenannt<\/li>\n<li>Datei &quot;errorlog.2&quot; wird in &quot;errorlog.3&quot; umbenannt<\/li>\n<li>Datei &quot;errorlog.1&quot; wird in &quot;errorlog.2&quot; umbenannt<\/li>\n<li>Datei &quot;errorlog&quot; wird in &quot;errorlog.1&quot; umbenannt<\/li>\n<li>Das neue &quot;Errorlog&quot; wird angelegt.<\/li>\n<\/ul>\n<p>Man kann sich vom SQL-Server die Liste der aktuell verwalteten Errorlogs anzeigen lassen:<br \/>\n<code>EXEC sp_enumerrorlogs<\/code><\/p>\n<p>Beispiel: <\/p>\n<table>\n<tr>\n<td>Archiv-Nr.<\/td>\n<td>Datum<\/td>\n<td>Protokolldateigr&#246;&#223;e (Bytes)<\/td>\n<\/tr>\n<tr>\n<td>0<\/td>\n<td>08\/24\/2009  17:45<\/td>\n<td>1468<\/td>\n<\/tr>\n<tr>\n<td>1<\/td>\n<td>08\/24\/2009  17:40<\/td>\n<td>15956<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>08\/23\/2009  20:39<\/td>\n<td>30462<\/td>\n<\/tr>\n<tr>\n<td>3<\/td>\n<td>08\/23\/2009  19:50<\/td>\n<td>83076<\/td>\n<\/tr>\n<tr>\n<td>4<\/td>\n<td>08\/23\/2009  18:35<\/td>\n<td>17160<\/td>\n<\/tr>\n<tr>\n<td>5<\/td>\n<td>08\/23\/2009  18:19<\/td>\n<td>32608<\/td>\n<\/tr>\n<tr>\n<td>6<\/td>\n<td>08\/22\/2009  17:37<\/td>\n<td>50104<\/td>\n<\/tr>\n<\/table>\n<p>Will man sich ein Errorlog ansehen, dann geht das mittels sp_readerrorlog:<br \/>\n<code>EXEC sp_readerrorlog 0<\/code><\/p>\n<p>Oder mit xp_readerrorlog: Hier gibt es mehr Parameter.<br \/>\n<code>EXEC master.dbo.xp_readerrorlog 6, 1, 'Version', NULL, NULL, NULL, N'asc'<\/code><\/p>\n<ul>\n<li>Nummer des Errorlogs<\/li>\n<li>optional: Typ des Errorlogs: 1=SQL Server (Default), 2=SQL Agent<\/li>\n<li>optional: Suchstring 1<\/li>\n<li>optional: Suchstring 2<\/li>\n<li>optional: Suchstring 3<\/li>\n<li>optional: Sortierung &quot;asc&quot; (Default) oder &quot;desc&quot;<\/li>\n<\/ul>\n<p>Mein Kollege Vladimir zeigte mir einen guten, aber undokumentierten Trick, wie die Anzahl der historischen Errorlogs erh&#246;ht werden kann. Dazu muss man unter [HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Microsoft SQL Server\\MSSQL.1\\MSSQLServer] den Key &quot;NumErrorLogs&quot; (REG_DWORD) z.B. auf &quot;99&quot; setzen. Wobei &quot;MSSQL.1&quot; f&#252;r die Instanznummer steht. Die Liste der Instanzen und deren Numemrn steht unter [HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Microsoft SQL Server\\Instance Names\\SQL].<\/p>\n<p>Hinweis: Wird der Wert von &quot;99&quot; dann wieder auf einen niedrigeren gesetzt, dann muss man selber daf&#252;r sorgen, dass die &quot;alten&quot; Errorlogs &#252;ber der neuen Maximalzahl gel&#246;scht werden.<\/p>\n<p>Leider fand ich dazu so gut wie keine Infos, lediglich auf MS-Connect ist das mal <a href=\"http:\/\/connect.microsoft.com\/SQLServer\/feedback\/ViewFeedback.aspx?FeedbackID=126942\">offiziell erw&#228;hnt<\/a>&#8230; \ud83d\ude09<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Bei jedem Start des SQL-Servers wird eine neue Errorlog-Datei angelegt. Die alten werden aber nicht sofort &#252;berschrieben. Stattdessen werden die letzten 6 beibehalten. Das gleiche kann man auch dediziert ausl&#246;sen: EXEC sp_cycle_errorlog Dabei passiert Folgendes: Datei &quot;errorlog.6&quot; wird gel&#246;scht Datei &quot;errorlog.5&quot; wird in &quot;errorlog.6&quot; umbenannt Datei &quot;errorlog.4&quot; wird in &quot;errorlog.5&quot; umbenannt Datei &quot;errorlog.3&quot; wird in [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[16],"tags":[580,929],"_links":{"self":[{"href":"http:\/\/www.glorf.it\/blog\/wp-json\/wp\/v2\/posts\/3423"}],"collection":[{"href":"http:\/\/www.glorf.it\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.glorf.it\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.glorf.it\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.glorf.it\/blog\/wp-json\/wp\/v2\/comments?post=3423"}],"version-history":[{"count":7,"href":"http:\/\/www.glorf.it\/blog\/wp-json\/wp\/v2\/posts\/3423\/revisions"}],"predecessor-version":[{"id":3475,"href":"http:\/\/www.glorf.it\/blog\/wp-json\/wp\/v2\/posts\/3423\/revisions\/3475"}],"wp:attachment":[{"href":"http:\/\/www.glorf.it\/blog\/wp-json\/wp\/v2\/media?parent=3423"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.glorf.it\/blog\/wp-json\/wp\/v2\/categories?post=3423"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.glorf.it\/blog\/wp-json\/wp\/v2\/tags?post=3423"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}