1. 程式人生 > >關於 SQL Server ErrorLog 錯誤日誌

關於 SQL Server ErrorLog 錯誤日誌

預設情況下,SQL Server 儲存 7 個 ErrorLog 檔案,名為:

  • ErrorLog
  • ErrorLog.1
  • ErrorLog.2
  • ErrorLog.3
  • ErrorLog.4
  • ErrorLog.5
  • ErrorLog.6

在 APACS OS 版本 6.1 中,ErrorLog 檔案儲存在 c:\Program Files\Microsoft SQL Server\MSSQL$WINCC\LOG 資料夾中。在 APACS OS 版本 7.0 中,ErrorLog 檔案儲存在 c:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\LOG

資料夾中。ErrorLog 檔案包含最新資訊;ErrorLog.6 檔案包含最老的資訊。

每次重啟動 SQL Server 時,這些日誌檔案都如下迴圈:

  • 刪除 ErrorLog.6 檔案中的所有資料,並建立一個新的 ErrorLog 檔案。
  • 上個 ErrorLog 檔案中的所有資料被寫入到 ErrorLog.1 檔案中。
  • 上個 ErrorLog.1 檔案中的所有資料被寫入到 ErrorLog.2 檔案中。
  • 上個 ErrorLog.2 檔案中的所有資料被寫入到 ErrorLog.3 檔案中。
  • 上個 ErrorLog.3 檔案中的所有資料被寫入到 ErrorLog.4 檔案中。
  • 上個 ErrorLog.4 檔案中的所有資料被寫入到 ErrorLog.5 檔案中。
  • 上個 ErrorLog.5 檔案中的所有資料被寫入到 ErrorLog.6 檔案中。

如果其中一個 ErrorLog 檔案已很大,則可通過執行 sp_cycle_errorlog 儲存過程手動迴圈這些 ErrorLog 檔案。注意事項:舊的 ErrorLog 檔案中的資料將被覆蓋!如果必須儲存舊的 ErrorLog 檔案中的資料,則可將這些舊的 ErrorLog 檔案複製到某個外部儲存介質中。

在 APACS OS 版本 6.1 中,可利用 SQL Qry Analyzer Tool 從 SQL Server Enterprise Manager 執行 sp_cycle_errorlog

儲存過程。在 APACS OS 版本 7.0 中,可從 SQL Server Management St io 執行 sp_cycle_errorlog 儲存過程。

所以需要定期能切換寫入error log . 一般可以使用DBCC errorlog命令來操作 。

Exec('DBCC ErrorLog')  或 exec sp_cycle_errorlog

或者可以通過以下命令,將sp 放在Job中定期執行。

..........

..........

SQL 2005 Errolog過大處理方法 SQL Server 錯誤日誌

在日常SQL Server的維護中,檢視 SQL Server 錯誤日誌可以用來確認服務的執行情況:例如服務的啟停、備份和還原操作、登入認證情況等等,需要經常性的檢視。

使用 SQL Server Management Studio 或文字編輯器都可以檢視 SQL Server 錯誤日誌。預設情況下,錯誤日誌位於 Program Files/Microsoft SQL Server/MSSQL.n/MSSQL/LOG/ERRORLOG ERRORLOG.n 檔案中。預設保留有7 SQL Server 錯誤日誌檔案,分別是:ErrorLogErrorlog.1Errorlog.6 ,當前的錯誤日誌(檔案ErrorLog)沒有副檔名。每當啟動 SQL Server 例項時,將建立新的錯誤日誌ErrorLog,並將之前的ErrorLog更名為ErrorLog.1,之前的ErrorLog.1更名為ErrorLog.2,依次類推,原先的ErroLog.6被刪除。

生產伺服器上的ErrorLog檔案有時候會碰到檔案很大的情況,尤其將登入認證情況記錄到錯誤日誌的情況之下,此時使用SQL Server Management Studio或者文字編輯器檢視錯誤日誌檢視的時候速度會是個問題,對於這種情況,可以在不重新啟動伺服器的情況下,通過儲存過程sp_cycle_errorlog來生成新的日誌檔案,並迴圈錯誤日誌擴充套件編號,就如同重新啟動服務時候一樣。除了 Execute sp_cycle_errorlog 之外,也可以使用DBCC ERRORLOG來實現同樣的功能。在實際操作中,也可以通過建立一個Job定時去執行該儲存過程,這樣將日誌檔案大小控制在合理的範圍之內。

SQL Server預設保留7次錯誤日誌檔案,在產生新的錯誤日誌的同時,最老的那個日誌也被刪除了,如果想保留更多次的錯誤日誌,可以通過如下方法來設定(SQL Server 2005):

  • 開啟 SQL Server Management Studio
  • 在“管理”目錄下,在SQL Server日誌上右鍵,點選“配置”
  • 在彈出的“配置SQL Server錯誤日誌”視窗中,在“限制錯誤日誌檔案在回收之前的數目”複選框上打勾,並且將“最大錯誤日誌檔案數”設定為希望的數值。這個數值在699之間。

除了上述方法之外,也可以通過修改登錄檔的方式來修改。新建一個登錄檔項(如果有則修改之):HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/MSSQLServer/MSSQLServer/NumErrorLogs預設情況下,並沒有這個登錄檔項,型別選擇REG_DWORD,數值設定為希望保留的日誌次數。修改登錄檔項的方法也可以通過以下儲存過程來實現:

exec xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'Software/Microsoft/MSSQLServer/MSSQLServer', N'NumErrorLogs', REG_DWORD, 20

在預設情況下,SQLServer的錯誤日誌位於 Program Files/Microsoft SQL Server/MSSQL.n/MSSQL/LOG/ERRORLOG ERRORLOG.n 檔案中。

可以通過如下方法來修改該路徑:

  • SQL Server 配置管理器中,單擊“SQL Server 服務
  • 在右窗格中,右鍵單擊 SQL Server (<例項名>),再單擊屬性
  • 高階選項卡的啟動引數框中,有以分號 (;) 分隔的引數。其中,有一個以 –e開頭的引數,修改該引數後面的路徑,就可以將錯誤日誌存放到指定的路徑下,修改完成需要重啟服務生效

相關推薦

關於 SQL Server ErrorLog 錯誤日誌

預設情況下,SQL Server 儲存 7 個 ErrorLog 檔案,名為: ErrorLog ErrorLog.1 ErrorLog.2 ErrorLog.3 ErrorLog.4 ErrorLog.5 ErrorLog.6 在 APACS OS 版本 6.1 中,ErrorLog

用戶、組或角色 'zgb' 在當前數據庫中已存在。 (Microsoft SQL Server錯誤: 15023)

href 角色 比較 chan 通過 sql ref lac 區別 在使用SQL Server 時,我們經常會遇到一個情況:需要把一臺服務器上的數據庫轉移到另外一臺服務器上。而轉移完成後,需要給一個"登錄"關聯一個"用戶"時,往往會發生錯誤: “錯誤15023:

SQL Server 2008 收縮日誌 清空刪除大日誌文件

時間 server 系統 cti sim 個數 class alter sql2005 SQL2008 的收縮日誌 由於SQL2008對文件和日誌管理進行了優化,所以以下語句在SQL2005中可以運行但在SQL2008中已經被取消:(SQL2005)BackupLog

sql server 高可用日誌傳送

span 術語 sre 數據庫配置 logs 優點 style col 登錄 原文:sql server 高可用日誌傳送一. 日誌傳送概述 SQL Server使用日誌傳送,可以自動將主服務器的事務日誌備份發送到一個或多個輔助數據庫上。可選的監視服務器,記錄備份和

Sql server 分發錯誤 程序無法在“WIN-XXX”上執行“sp_repldone/sp_replcounters”

錯誤提示: 程序無法在“WIN-XXX”上執行“sp_repldone/sp_replcounters” 解決辦法: uses 資料庫名 EXEC sp_repldone @xactid =NULL, @xact_segno =NULL, @numtrans = 0, @t

Microsoft SQL Server錯誤: 924

USE master; GO DECLARE @SQL VARCHAR(MAX); SET @SQL='' SELECT @[email protected]+'; KILL '+RTRIM(SPID) FROM master..sysprocesses WHERE dbid=DB_ID(

無法開啟使用者預設資料庫。登入失敗/使用者 'sa' 登入失敗。 (Microsoft SQL Server錯誤: 4064)

能用管理員賬號登入的話,就很簡單,只要修改相關使用者的預設資料庫,或者修復預設資料庫使之正常,就OK了。 關鍵的是,如果是管理員賬號的預設資料庫打不開,就只能用下面的方法了。 在命令視窗 (執行->cmd->回車),定位到sql安裝目錄,比如sql2008是:c:\Prog

重新命名資料報錯:無法用排他鎖鎖定該資料庫,以執行該操作。 (Microsoft SQL Server錯誤: 5030)

一般來說,在確保沒有客戶端連線的情況下,重新命名資料庫不會報這個錯 解決方法: Use master  EXEC sp_dboption 'OldDbName', 'Single User', 'TRUE'  EXEC sp_renamedb 'OldDbName',

SQL SERVER 2008 資料庫日誌檔案收縮的方法

資料庫隨著業務量的增多,日誌檔案巨大(超過300G),造成磁碟空間不夠用,進而後來的訪問資料庫請求無法訪問。 網上類似的方法也很多,但不可行,如下是我實踐過,可行的,將日誌檔案收縮至任意指定大小的方法: 第一步: 在SQL SERVER Management Studio

SQL Server中事務日誌已滿的原因以及解決辦法

錯誤描述:資料庫的事務日誌已滿。若要查明無法重用日誌中的空間的原因 ,請參閱sys.databases 中的 log_reuse_wait_desc 列 。   首先引入一下事務日誌的概念(來自百度百科):   事務日誌是一個與資料庫檔案分開的檔案

SQL server 2012 資料庫日誌快取過大

由於我公司的每日資料錄入量較多,資料庫日誌與日俱增,前兩天就出現了,因為資料庫日誌太大導致了 伺服器磁碟空間不足,於是我上網查了一下,終於找到了一個數據庫日誌檔案壓縮的方法 原文出處:http://blog.sina.com.cn/s/blog_491d1f37010131mk.html 第一步:開啟資料庫,

SQL Server中事務日誌管理的階梯,級別5:以完全恢復模式管理日誌

value letter 的確 維護計劃 臨時 行數 dbo call des 該系列本文是Stairway系列的一部分:SQL Server中事務日誌管理的階梯 當事情進展順利時,沒有必要特別註意事務日誌的功能或工作方式。您只需要確信每個數據庫都有正確的備份機制。當出現問

SQL Server連線錯誤1326

全新的SQL Server 2017,在2018年末才安裝上,不過使用它來管理並不複雜的幾張表,佔用相對較多伺服器資源,確實是有些大材小用。 無論如何,安裝還是比較順利。記得2012年第一次安裝SQL Server2005,當時剛接觸資料庫,安裝遇到了不少問題,費了不少勁。 安裝完成後,用Navica

SQL Server中事務日誌管理的步驟,第5級:完全恢復模式管理日誌(譯)

維護計劃 recover 最小 替代 關心 每日 工作方式 檢查 耗時 SQL Server中事務日誌管理的步驟,第5級:完全恢復模式管理日誌 作者:Tony Davis,2012/01/27 系列 本文是進階系列的一部分:SQL Server中事務日誌管理的步驟 當事情進

SQL Server中事務日誌管理的步驟,第5級:完全恢復模式管理日誌

語句 targe .aspx 頻率 良好的 popu 這樣的 模式 insert SQL Server中事務日誌管理的步驟,第5級:完全恢復模式管理日誌 作者:Tony Davis,2012/01/27 系列 本文是進階系列的一部分:SQL Server中事務日誌管理的

翻譯:SQL Server中事務日誌管理的階梯,級別5:以完全恢復模式管理日誌

作者:Tony Davis, 2012/01/27 該系列 本文是Stairway系列的一部分:SQL Server中事務日誌管理的階梯 當事情進展順利時,沒有必要特別注意事務日誌的功能或工作方式。您只需要確信每個資料庫都有正確的備份機制。當出現問題時,瞭解事務日誌對於採取糾正措施非常重要,尤

翻譯之:SQL Server中事務日誌管理的階梯,級別5:以完全恢復模式管理日誌

資料庫中事務日誌管理的階梯,級別5:以完全恢復模式管理日誌 原文連結:http://www.sqlservercentral.com/articles/Stairway+Series/73785/ 作者:Tony Davis, 2012/01/27 本文是樓梯系列的一部分:SQL Server

翻譯:Stairway to Transaction Log Management in SQL Server, Level 5: Managing the Log in Full Recovery Mode SQL Server中事務日誌管理的階梯,級別5:以完全恢復模式管理日誌

轉載自:Stairway to Transaction Log Management in SQL Server, Level 5: Managing the Log in Full Recovery Mode SQL Server,By Tony Davis,文章來源:http://www.sqlserve

SQL Server 2005 無日誌檔案附加資料庫

雖然目前本人用的是2008R2,但很多客戶仍然還是2005版本的,所以還是將這篇文章轉過來,以備不時之需。在2008下附加2005的mdf應該也可以用得上的。以下是原文: 公司網站運營兩年多了,日誌檔案超級大,在重灌系統的時候,為了省事,就沒有備份日誌檔案,而且是沒有分離就

SQL Server 2008無日誌檔案附加資料庫

我們的“DBA”晚上執行了一個涉及使用者的操作,結果執行資料量太大,導致sql server存放日誌的磁碟空間不足,第二天早起發現論壇出現問題,不能發帖。收縮日誌不見效果的情況下,和其主管商議決定直接刪除日誌檔案.ldf 。沒有進一步驗證自己的方案,就付諸實施。 1、停服務; 2、刪除日誌檔案(直接物理刪除