数据库日常维护-CheckList_01历史Agent Job执行情况检查
2015-07-10 21:18
423 查看
检查Agent Job中日常维护作业或业务作业是否成功,如每天的备份、碎片整理、索引维护、历史备份文件清除等,可利用SSMS工具,通过CDC下面设置好的DB Server List,运行下面脚本一次,便可以查询完成所有JOB历史运行情况。
--SQL
-- 参数定义
DECLARE @PreviousDate datetime
DECLARE @Year VARCHAR(4)
DECLARE @Month VARCHAR(2)
DECLARE @MonthPre VARCHAR(2)
DECLARE @Day VARCHAR(2)
DECLARE @DayPre VARCHAR(2)
DECLARE @FinalDate INT
--初始化参数
SET @PreviousDate = DATEADD(dd, -7, GETDATE()) -- Last 7 days
SET @Year = DATEPART(yyyy, @PreviousDate)
SELECT @MonthPre = CONVERT(VARCHAR(2), DATEPART(mm, @PreviousDate))
SELECT @Month = RIGHT(CONVERT(VARCHAR, (@MonthPre + 1000000000)),2)
SELECT @DayPre = CONVERT(VARCHAR(2), DATEPART(dd, @PreviousDate))
SELECT @Day = RIGHT(CONVERT(VARCHAR, (@DayPre + 1000000000)),2)
SET @FinalDate = CAST(@Year + @Month + @Day AS INT)
-- 查询
SELECT j.[name],
s.step_name,
h.step_id,
h.step_name,
h.run_date,
h.run_time,
h.sql_severity,
h.message,
h.server
FROM msdb.dbo.sysjobhistory h
INNER JOIN msdb.dbo.sysjobs j
ON h.job_id = j.job_id
INNER JOIN msdb.dbo.sysjobsteps s
ON j.job_id = s.job_id
AND h.step_id = s.step_id
WHERE h.run_status = 0 -- 0 is Failure, 1 is sucess
AND h.run_date > @FinalDate
ORDER BY h.instance_id DESC
--SQL
-- 参数定义
DECLARE @PreviousDate datetime
DECLARE @Year VARCHAR(4)
DECLARE @Month VARCHAR(2)
DECLARE @MonthPre VARCHAR(2)
DECLARE @Day VARCHAR(2)
DECLARE @DayPre VARCHAR(2)
DECLARE @FinalDate INT
--初始化参数
SET @PreviousDate = DATEADD(dd, -7, GETDATE()) -- Last 7 days
SET @Year = DATEPART(yyyy, @PreviousDate)
SELECT @MonthPre = CONVERT(VARCHAR(2), DATEPART(mm, @PreviousDate))
SELECT @Month = RIGHT(CONVERT(VARCHAR, (@MonthPre + 1000000000)),2)
SELECT @DayPre = CONVERT(VARCHAR(2), DATEPART(dd, @PreviousDate))
SELECT @Day = RIGHT(CONVERT(VARCHAR, (@DayPre + 1000000000)),2)
SET @FinalDate = CAST(@Year + @Month + @Day AS INT)
-- 查询
SELECT j.[name],
s.step_name,
h.step_id,
h.step_name,
h.run_date,
h.run_time,
h.sql_severity,
h.message,
h.server
FROM msdb.dbo.sysjobhistory h
INNER JOIN msdb.dbo.sysjobs j
ON h.job_id = j.job_id
INNER JOIN msdb.dbo.sysjobsteps s
ON j.job_id = s.job_id
AND h.step_id = s.step_id
WHERE h.run_status = 0 -- 0 is Failure, 1 is sucess
AND h.run_date > @FinalDate
ORDER BY h.instance_id DESC
相关文章推荐
- mysqld源码及目录结构
- 10. 数据库迁移操作
- 收集统计信息脚本
- MySQL用户权限
- 数据类型和运算符(三)
- mysql 随机更新表里的几条数据
- MySQL表损坏:Table XXX is marked as crashed and should be repaired
- 查询复杂sql的表的大小
- MySQL的触发器创建之注意事项(有关delimiter)
- 【转】IBatis.Net项目数据库SqlServer迁移至Oracle
- 写sql语句连接的时候注意的一个小细节
- Oracle中的函数 字符串、数字、日期
- sqlite3插入日期时间出错解决
- ORACLE查看数据文件包含哪些对象
- 数据库排名sql,group by 分组查询按照时间最大值
- update慢如何处理?
- winfrom连接数据库增删改查写法
- Oracle 11g Pivot函数实现行转列
- 查看Oracle自动优化建议
- orcale sql常用语句