SQL Server ErrorLog

來源:互聯網
上載者:User

標籤:

SQL Server 使用ErrorLog記錄SQL Server啟動和運行過程中的資訊,具體資訊參考:《SQLSERVER errorlog講解》。通常來說,ErrorLog是指SQL Server Error Log,其實,SQL Server存在另外一種類型,SQL Server Agent ErrorLog,用於記錄Agent的運行資訊。

預設情況下,SQL Server 儲存 7 個 ErrorLog 檔案,分別命名為: ErrorLog,ErrorLog.n(n=1,2,3,4,5,6)。ErrorLog 檔案包含的資訊最新,ErrorLog.6 檔案包含的資訊最老。每次重啟 SQL Server 時,這些記錄檔都做如下迴圈: 刪除 ErrorLog.6 檔案,將ErrorLog.5重新命名為ErrorLog.6,依次類推,直到將ErrorLog重新命名為ErrorLog.1,最後建立一個ErrorLog檔案,用於儲存SQL Server 運行過程的資訊。

SQL Server Agent ErrorLog的檔案名稱是:SQLAgent.n(n=1,2,3,4,5,,,,)。

ErrorLog的存放路徑是在:C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Log

1,使用SSMS查看

2,使用TSQL 指令碼查看

2.1 查看Errorlog的資訊

使用 sys.xp_enumerrorlogs 查看 ErrorLog Files的建立日期和大小,其建立日期就是第一條記錄插入的日期。

exec sys.xp_enumerrorlogs

切換ErrorLog,查看ErrorLog Files的資訊

dbcc errorlog

2.2,讀取ErrorLog的資訊

SQL Server提供了預存程序sys.xp_readerrorlog及sys.sp_readerrorlog,用於查看Errorlog記錄的錯誤記錄檔。

sys.xp_readerrorlog 有7個參數

1. 存檔編號(0~99),其值是 sys.xp_enumerrorlogs返回的Archive#欄位的值, 0 代表的是ErrorLog,1代表的是ErrorLog.1。

2. 日誌類型(1為SQL Server日誌,2為SQL Server Agent日誌)

3. 查詢包含的字串

4. 查詢包含的字串,參數4和參數5的邏輯關係是and(與關係)

5. LogDate開始時間

6. LogDate結束時間

7. 結果排序,按LogDate排序(Desc、Asc)

sys.sp_readerrorlog有四個參數,和sys.xp_readerrorlog的前四個參數相同,sys.sp_readerrorlog內部使用sys.xp_readerrorlog來實現。

查看登陸失敗的錯誤記錄檔,可以看到參數4和參數5是過濾Text欄位。

exec sys.sp_readerrorlog 0,1,‘login‘,‘failed‘

3,ErrorLog的Rollover

如果Current ErrorLog 檔案很大,那麼載入和查看的過程十分緩慢,可以運行 sys.sp_cycle_errorlog 或 DBCC ErrorLog,或exec (‘DBCC ErrorLog‘),手動強制ErrorLog 檔案迭代,避免單個ErrorLog File Size過大。每次啟動 SQL Server 時,ErrorLog會自動迭代。由於ErrorLog的Rollover會刪除時間最老的ErrorLog.6 檔案,如果需要儲存ErrorLog,在執行 sys.sp_cycle_errorlog 或 DBCC ErrorLog 之前,需要將ErrorLog.6 檔案複製到其他儲存介質上。

推薦閱讀:

SQL Server 錯誤記錄檔過濾(ERRORLOG)

SQL Server 錯誤記錄檔收縮(ERRORLOG)

Appendix

Talking about SQL Server and SQL Server agent error logs. Here are few interesting things that we can do from query analyzer in order to read and analyze the SQL Server and agent error logs.

1, sys.XP_READERRORLOG

Syntax: xp_ReadErrorLog a,b,c,d

a -> default is 0. It accepts only integers. 0 mean the current error log, 1 means 1st archive and so on.

b -> default is 1. Accepts value equals 1 for SQL Server error log and 2 for SQL Agent error log.

c -> accepts varchar chanracter upto 255 characters. Default is Null.

d -> accepts varchar chanracter upto 255 characters. Default is Null.

1) To read the current SQL Server error log i.e. ERRORLOG file

xp_readerrorlog xp_readerrorlog 0 xp_readerrorlog 0,1 

2) TO read SQL Server error log archive 1 i.e. ERRORLOG.1 file

xp_readerrorlog 1 xp_readerrorlog 1,1 

3) To read the current SQL Server Agent error log i.e. SQLAGENT.OUT file

xp_readerrorlog 0,2 

4) To read SQL Server error log archive 1 i.e. SQLAGENT.1 file

xp_readerrorlog 1,2 

5) To search for any specific text in current SQL Server error log

xp_ReadErrorLog 0, 1, ‘Failed‘ 

6) To search for entries in current SQL Server error log which contain both ‘Failed’ and ‘Login’ in a row.

xp_ReadErrorLog 0, 1, ‘Failed‘.‘Login‘

2,sys.XP_ENUMERRORLOGS

Syntax: xp_enumerrorlogs a

a -> default is 1. Accepts value equals 1 for SQL Server error log and 2 for SQL Agent error log.

1) List all the avilable SQL Server error log archives, there last modified date and size.

xp_enumerrorlogs xp_enumerrorlogs 1

2) List all the avilable SQL Server Agent error log archives, there last modified date and size.

xp_enumerrorlogs 2

3,recycle errorlog

To Recycle Current SQL Server Error Log

exec sp_cycle_errorlog

 To Recycle Current SQL Server Agent Error Log

exec sp_cycle_agent_errorlog

 

參考doc:

SQL SERVER – Read Error Log Data using sp_readerrorlog – System Stored Procedure

Reading the SQL Server log files using TSQL

Searching through the SQL Server error logs

SQL Server ErrorLog

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.