我想知道在哪裏可以看到每個實例和SQL Server代理/作業啓動/停止日誌的SQL Server啓動/停止日誌?我正在開發一些工具來監視SQL Server狀態。我正在使用SQL Server 2008 Enterprise。從哪裏可以看到SQL Server啓動/停止日誌?
由於事先 喬治
我想知道在哪裏可以看到每個實例和SQL Server代理/作業啓動/停止日誌的SQL Server啓動/停止日誌?我正在開發一些工具來監視SQL Server狀態。我正在使用SQL Server 2008 Enterprise。從哪裏可以看到SQL Server啓動/停止日誌?
由於事先 喬治
默認情況下,SQL Server錯誤日誌存儲在Program Files \ Microsoft SQL Server的\ MSSQL \ Log目錄。最新的錯誤日誌文件稱爲ERRORLOG。如果您停止並重新啓動SQL Server,則舊日誌將被存檔並創建一個新日誌。另外,您可以通過執行DBCC ERRORLOG命令或sp_cycle_errorlog系統過程來重新循環錯誤日誌。
有一些無證,但衆所周知的系統程序來讀取SQL本身的錯誤日誌:
exec xp_enumerrorlogs 1
將列出SQL引擎錯誤日誌文件編號exec xp_readerrorlog <errorlognumber>, 1
將返回請求的引擎錯誤日誌文件的內容。exec xp_enumerrorlogs 2
將列出代理錯誤日誌文件編號exec xp_readerrorlog <errorlognumber>, 2
將返回請求代理錯誤日誌文件的內容。這些是由Management Studio調用的顯示引擎和代理日誌的過程。
我們可以導出那些錯誤日誌嗎? – 2009-09-23 04:04:22
結果是一個普通的結果集,每行一個文本行。您可以根據自己的意願操作它,包括導出它。 – 2009-09-23 04:09:33
如果您使用的是.NET,還可以使用Microsoft.SqlServer命名空間以編程方式獲取大部分數據。例如,我使用Microsoft.SqlServer.Rmo將訂閱者的狀態獲取到合併複製發佈。根據你使用的是什麼,你可以避免直接訪問(並推測解析?)日誌。
檢出特定於SQL代理的數據的Microsoft.SqlServer.Management.Smo.Agent名稱空間。
通過使用Microsoft.SqlServer.Management.Smo.Agent命名空間,你可以做以下:
- 查看和修改SQL Server代理設置。
- 設置和管理操作員。
- 根據系統消息或性能 條件設置和管理警報。
- 通過多個步驟和時間表設置和管理作業。
- 管理運行作業的子系統的代理帳戶。
- 管理在多臺服務器上運行的作業。
你問@ serverfault.com? – ethyreal 2009-09-23 03:46:07