我想知道每个实例和SQL Server代理/作业启动/停止日志的SQL Server启动/停止日志的位置?我正在开发一些工具来监控SQL Server状态。我正在使用SQL Server 2008 Enterprise。
提前谢谢, 乔治答案 0 :(得分:6)
默认情况下,SQL Server错误日志存储在Program Files \ Microsoft SQL Server \ MSSQL \ Log目录中。最新的错误日志文件称为ERRORLOG。如果停止并重新启动SQL Server,旧日志将被存档并将创建一个新日志。此外,您可以通过执行DBCC ERRORLOG命令或sp_cycle_errorlog系统过程来重新循环错误日志。
答案 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代理设置。
- 设置和管理运营商。
- 根据系统消息或性能设置和管理警报 条件。
- 使用多个步骤和计划设置和管理作业。
- 管理运行作业的子系统的代理帐户。
- 管理在多台服务器上运行的作业。