最近我的作业代理作业之一的计划最近已被禁用,无论如何找出除最后修改日期以外的任何信息日期关于谁或什么禁用了作业时间表?获取sql作业代理作业的最后修改用户
回答
SQL Server不审核默认情况下这些信息,所以没有,这个数据是不会在事后提供给您。 (我查了默认的跟踪,它似乎并没有在此记录。)如果你还没有,因为重新启用的工作,你可能能够值相关的msdb.dbo.sysjobs.modified_date
与其他信息被记录,但我不知道你可能能够确定的其他事件属于同一个用户,与修改工作的用户属于同一用户。同样,如果作业尚未修改(或者在修复它之前知道修改时间),并且假设更改发生在仍处于当前默认跟踪的滚动窗口内的时间范围内,则可以检查大约在同一时间其他活动:
DECLARE @ModifiedDate DATETIME;
SET @ModifiedDate = -- plug in the value here
DECLARE @path NVARCHAR(260);
SELECT @path = REVERSE(SUBSTRING(REVERSE([path]),
CHARINDEX(CHAR(92), REVERSE([path])), 260)) + N'log.trc'
FROM sys.traces WHERE is_default = 1;
SELECT * FROM sys.fn_trace_gettable(@path, DEFAULT)
WHERE EndTime >= DATEADD(MINUTE, -30, @ModifiedDate)
AND EndTime < DATEADD(MINUTE, 30, @ModifiedDate)
ORDER BY EndTime DESC;
你可以建立自己的服务器端跟踪,扩展事件会话,事件通知或审核,以确保您能够审计在未来该信息(或简称限制整个团队混淆工作的能力)。
最简单的部分是找出最近被禁用的工作和/或时间表。
-- Use msdb
use msdb
go
-- Jobs that have been recently disabled
select
[name], [enabled], [date_created], [date_modified]
from sysjobs
where [date_modified] > '2013-09-30' and enabled = 0
order by [date_modified] desc
go
-- Schedules that have been recently disabled
select
[name], [enabled], [date_created], [date_modified]
from sysschedules
where [date_modified] > '2013-09-30' and enabled = 0
order by [date_modified] desc
go
除非用户或系统管理员取得了该作业的所有权,否则很难找出是谁做的。
的事情,我想,但没有工作内容如下所示。
1 - 服务器或代理日志中的任何条目? NO DICE
2 - 缺省服务器端跟踪是否取得事件? NO DICE
3 - 我可以查看交易日志以查找此人吗? MSDB使用简单的恢复模式。 NO DICE
4 - 健康检查(扩展事件)是否跟踪此信息。我怀疑,但想检查。 NO DICE
5 - 因为这不是错误,所以没有任何东西会被记录到windows事件中。 NO DICE
因此,经过几次谷歌搜索,我认为你是一对夫妇的解决方案。
A - 创建上相应的系统表的触发器和保存审计信息。 查看我的博客'How to audit and prevent unwanted user actions.'。这是一个完整的演示文稿,我在SQL星期六做。
乙 - 创建http://www.bimonkey.com/2009/12/sql-server-2008-auditing/审计规范,但你必须读输出文件。
Ç - 添加服务器端跟踪或扩展事件来捕获数据。
祝你好运。
约翰
- 1. 修剪使用SQL Server代理作业
- 2. 调用SQL代理作业
- 3. SQL Server代理作业
- 4. SQL代理作业历史
- 5. SQL代理作业失败
- 6. SQL代理作业失败
- 7. SQL Server代理作业中的XML DML(修改)
- 8. Datastage最新修改作业的识别
- 9. 如何查找SQL Server代理作业中的作业数量?
- 10. SQL Server代理作业调用
- 11. Java批处理作业侦听器在作业获得作业ID后
- 12. 从SQL代理作业调用Web服务作业不起作用
- 13. 写入SQL代理作业的历史
- 14. Sql代理中的预定作业
- 15. 计划的Packege SQL代理作业
- 16. 如何批量修改所有sql服务器代理作业中的作业步骤命令
- 17. 获取SQL代理作业状态而不进行轮询?
- 18. SQL作业的理由193
- 19. SQL代理作业,如何记录
- 20. SQL Server代理作业崩溃
- 21. SQL Server代理作业优先级
- 22. SQL Server代理作业依赖关系
- 23. 如何调试SQL Server代理作业?
- 24. SQL代理作业未能执行
- 25. SQL Server代理作业失败
- 26. 从SSIS运行SQL代理作业
- 27. 在sql server代理ssis作业
- 28. SQL Server代理作业未运行
- 29. 重新创建SQL Server代理作业
- 30. SQL Server代理作业和gsutil
我检查了所有这些最近没有成功。 –
@CRAFTYDBA你检查了所有这些? –
'WHERE'子句后的逗号将导致错误。 – chridam