在我们的项目中,我们有两个SQL Server作业 – 每天晚上12点(我们称之为“JobA”)运行一个SQL Server作业,另一个作业每个月运行一次(每个月的第一个12点,我们称它为“JobB”) 。 这些职位创build脚本是在4月8日运行的。
我们有一个logging每个成功运行的作业的日志表(它也logging了在执行过程中发生的故障)。 当我检查日志时,发现“JobA”已经在4月9日到4月30日之间成功运行,然后运行了5月3日至截止date。 而且没有“JobB”的日志
我假设5月1日和5月2日这台服务器已经closures了 ,这就是为什么我们在日志数据库中没有看到“JobB”的日志。
但是,我怎么certificate呢?
请分享你的想法。
查找SQL Server的开始和结束时间。
SELECT Create_Date,[Name] FROM sys.databases WHERE [Name]='tempdb' SELECT Start_Time,Command FROM sys.dm_exec_requests WHERE Command IN ('LAZY WRITER','RESOURCE MONITOR') SELECT Login_Time,LastWaitType FROM master..sysprocesses WHERE lastwaittype = 'LAZYWRITER_SLEEP'
默认情况下,错误日志位于Program Files \ Microsoft SQL Server \ MSSQL.n \ MSSQL \ LOG \ ERRORLOG和ERRORLOG.n文件中。 通常情况下,SQL Server将保留以前六个日志的备份,并为最近的日志备份提供扩展名.1,最近的第二个扩展名为.2,依此类推。 当前的错误日志没有扩展名。
如果您有权访问服务器的事件日志,请检查它们在该时间段内的活动,每天中午至less应该有一个系统正常运行时间的入口。 检查SQL代理日志。
工作中的财产也应该有一个最后执行的date/时间,或者你可以
从msdb.dbo.sysjobsteps中select*
看到一些可能有用的信息