从 T-SQL 调用日志文件查看器

问题描述 投票:0回答:1

我正在通过打开“作业活动监视器”查看 SQL Server 中的历史存储过程:

enter image description here

右键单击我的作业并选择“查看历史记录”:

enter image description here

它返回一个表,然后我将其导出为日志文件

enter image description here

enter image description here

然后我继续解析其他应用程序中的日志文件并进行监控。

有没有办法使用 SQL 查询来提取此信息,以便我可以自动执行此提取?

我尝试了

EXEC dbo.sp_help_jobhistory @job_id =  N'blahblahblah'
,但结果没有分解为步骤。

我尝试

exec sp_help_jobstep @job_id =  N'blahblahblah'
显示特定job_id的步骤,但我不知道如何将其连接到上面显示的表中。

有办法解决这个问题吗?

sql-server sql-server-agent
1个回答
0
投票

您可以使用:

EXEC dbo.sp_help_jobhistory @job_id = N'X-Y-Z', @mode='full'

以与 SQL Agent 相同的方式获取更多详细信息。

至于你的问题:

另外,是否可以看到超过30天的历史记录

这是 SQL 代理的设置,因此您必须在那里控制它:右键单击 SQL Server 代理 -> 属性 -> 历史记录 -> 删除代理历史记录。

SQL Server Agent history

就我个人而言,我更喜欢使用:“最大作业历史记录大小”和“最大作业历史记录行”,以确保每个作业都有不错的历史记录

请注意,如果永久保留日志,可能会消耗大量空间:)

© www.soinside.com 2019 - 2024. All rights reserved.