我在SQL Server 2014中创建了作业代理,有人在未经我许可的情况下将其删除了。现在我的问题是如何在日志中看到作业代理创建和删除日期?这可能吗? 感谢
答案 0 :(得分:1)
答案是否定的。您无法找到过去发生的事情的任何日志。但如果您想再次处于不同的情况。这就是要做的事情。
- 创建服务器审核:
CREATE SERVER AUDIT [SqlAgentObjectAccess_Audit]
TO APPLICATION_LOG
WITH
(QUEUE_DELAY = 1000
,ON_FAILURE = CONTINUE
,AUDIT_GUID = 'e1f7d882-b26e-4b70-bc03-87af197eb7de'
)
- 现在启动服务器审核
ALTER SERVER AUDIT [SqlAgentObjectAccess_Audit] WITH (STATE = ON)
---现在您需要在MSDB中启用审核并说明要审核的事件
USE [msdb]
go
CREATE DATABASE AUDIT SPECIFICATION [SqlAgentObjectAccess_Audit_MSDB]
FOR SERVER AUDIT [SqlAgentObjectAccess_Audit]
ADD (EXECUTE ON OBJECT::[dbo].[sp_delete_job] BY [dbo]),
ADD (EXECUTE ON OBJECT::[dbo].[sp_delete_job] BY [SQLAgentUserRole]),
ADD (EXECUTE ON OBJECT::[dbo].[sp_add_job] BY [dbo]),
ADD (EXECUTE ON OBJECT::[dbo].[sp_add_job] BY [SQLAgentUserRole])
WITH (STATE = ON)
GO
注意:强>
1.您甚至可以登录某个共享并每天将这些文件读入表格并发送电子邮件
2.您可以审核所有可用事件的列表HERE
参考文献:
https://blogs.msdn.microsoft.com/sqlagent/2011/02/21/auditing-sql-agent-job-creation-and-deletion/