2009-09-23 67 views
7

我想知道在哪裏可以看到每個實例和SQL Server代理/作業啓動/停止日誌的SQL Server啓動/停止日誌?我正在開發一些工具來監視SQL Server狀態。我正在使用SQL Server 2008 Enterprise。從哪裏可以看到SQL Server啓動/停止日誌?

由於事先 喬治

+1

你問@ serverfault.com? – ethyreal 2009-09-23 03:46:07

回答

6

默認情況下,SQL Server錯誤日誌存儲在Program Files \ Microsoft SQL Server的\ MSSQL \ Log目錄。最新的錯誤日誌文件稱爲ERRORLOG。如果您停止並重新啓動SQL Server,則舊日誌將被存檔並創建一個新日誌。另外,您可以通過執行DBCC ERRORLOG命令或sp_cycle_errorlog系統過程來重新循環錯誤日誌。

http://sqlserverpedia.com/wiki/SQL_Server_Error_Logs

+0

謝謝!我找到了答案! – George2 2009-09-23 04:14:32

+0

基於此的程序文件\ Microsoft SQL Server \ MSSQL.n \ MSSQL \ LOG \ ERRORLOG和ERRORLOG.n':https://technet.microsoft.com/en-us/library/ms187885(v=sql.105 ).aspx – Tilo 2017-06-15 21:52:15

+0

不幸的是,anwer中的鏈接被破壞 – AFract 2017-10-31 08:19:38

4

有一些無證,但衆所周知的系統程序來讀取SQL本身的錯誤日誌:

  • exec xp_enumerrorlogs 1將列出SQL引擎錯誤日誌文件編號
  • exec xp_readerrorlog <errorlognumber>, 1將返回請求的引擎錯誤日誌文件的內容。
  • exec xp_enumerrorlogs 2將列出代理錯誤日誌文件編號
  • exec xp_readerrorlog <errorlognumber>, 2將返回請求代理錯誤日誌文件的內容。

這些是由Management Studio調用的顯示引擎和代理日誌的過程。

+1

我們可以導出那些錯誤日誌嗎? – 2009-09-23 04:04:22

+2

結果是一個普通的結果集,每行一個文本行。您可以根據自己的意願操作它,包括導出它。 – 2009-09-23 04:09:33

4

如果您使用的是.NET,還可以使用Microsoft.SqlServer命名空間以編程方式獲取大部分數據。例如,我使用Microsoft.SqlServer.Rmo將訂閱者的狀態獲取到合併複製發佈。根據你使用的是什麼,你可以避免直接訪問(並推測解析?)日誌。

檢出特定於SQL代理的數據的Microsoft.SqlServer.Management.Smo.Agent名稱空間。

通過使用Microsoft.SqlServer.Management.Smo.Agent命名空間,你可以做以下

  • 查看和修改SQL Server代理設置。
  • 設置和管理操作員。
  • 根據系統消息或性能 條件設置和管理警報。
  • 通過多個步驟和時間表設置和管理作業。
  • 管理運行作業的子系統的代理帳戶。
  • 管理在多臺服務器上運行的作業。
相關問題