哪里可以看到SQL Server启动/停止日志?

时间:2009-09-23 03:25:05

标签: sql sql-server sql-server-2008 events

我想知道每个实例和SQL Server代理/作业启动/停止日志的SQL Server启动/停止日志的位置?我正在开发一些工具来监控SQL Server状态。我正在使用SQL Server 2008 Enterprise。

提前谢谢, 乔治

3 个答案:

答案 0 :(得分: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

答案 1 :(得分:5)

有一些未记录但很熟悉的系统过程可以从SQL本身读取错误日志:

  • exec xp_enumerrorlogs 1 将列出SQL Engine错误日志文件编号
  • exec xp_readerrorlog <errorlognumber>, 1 将返回所请求的引擎错误日志文件的内容。
  • exec xp_enumerrorlogs 2 会列出代理错误日志文件编号
  • exec xp_readerrorlog <errorlognumber>, 2 将返回所请求的代理错误日志文件的内容。

这些是Management Studio调用以显示引擎和代理日志的过程。

答案 2 :(得分:4)

如果您使用的是.NET,您还可以使用Microsoft.SqlServer命名空间以编程方式获取大部分此类数据。例如,我使用Microsoft.SqlServer.Rmo来获取合并复制发布的订阅者的状态。根据您使用它的方式,您可以避免直接访问(并且可能解析?)日志。

查看Microsoft.SqlServer.Management.Smo.Agent命名空间,查找特定于SQL代理的数据。

  

通过使用Microsoft.SqlServer.Management.Smo.Agent命名空间,您可以执行以下操作

     
      
  • 查看和修改SQL Server代理设置。
  •   
  • 设置和管理运营商。
  •   
  • 根据系统消息或性能设置和管理警报   条件。
  •   
  • 使用多个步骤和计划设置和管理作业。
  •   
  • 管理运行作业的子系统的代理帐户。
  •   
  • 管理在多台服务器上运行的作业。
  •