SQL Server 作业批量停止
2012-08-02 13:40
1576 查看
CREATE PROC P_STOPJOB AS BEGIN DECLARE @I INT DECLARE @JOBID UNIQUEIDENTIFIER -- 1. CREATE TEMP TABLE TO SAVE JOBS STATUS CREATE TABLE #JOB_RUN_STATUS ( JOB_ID UNIQUEIDENTIFIER NOT NULL, LAST_RUN_DATE INT NOT NULL, LAST_RUN_TIME INT NOT NULL, NEXT_RUN_DATE INT NOT NULL, NEXT_RUN_TIME INT NOT NULL, NEXT_RUN_SCHEDULE_ID INT NOT NULL, REQUESTED_TO_RUN INT NOT NULL, -- BOOL REQUEST_SOURCE INT NOT NULL, REQUEST_SOURCE_ID SYSNAME COLLATE DATABASE_DEFAULT NULL, RUNNING INT NOT NULL, -- BOOL CURRENT_STEP INT NOT NULL, CURRENT_RETRY_ATTEMPT INT NOT NULL, JOB_STATE INT NOT NULL ) -- 2. GET JOBS STATUS INSERT INTO #JOB_RUN_STATUS EXECUTE MASTER.DBO.XP_SQLAGENT_ENUM_JOBS 1, 'SA' -- 3. GET RUNNING JOBS SELECT JOB_NAME = J.NAME ,S.*,ROW_NUMBER() OVER (ORDER BY J.NAME) AS ID INTO #RUNJOB FROM #JOB_RUN_STATUS S INNER JOIN MSDB.DBO.SYSJOBS J ON S.JOB_ID = J.JOB_ID WHERE S.RUNNING = 1 -- RUNNING = 1 --4.停止运行作业 SELECT @I=COUNT(*) FROM #RUNJOB WHILE @I>0 BEGIN SELECT @JOBID=JOB_ID FROM #RUNJOB WHERE ID=@I EXEC MSDB.DBO.SP_STOP_JOB '',@JOBID SET @I=@I-1 END END
相关文章推荐
- SQL SERVER如何批量生成作业脚本
- SQL Server中采用BULK INSERT实现大数据量文本文件批量导入
- SQL语句实现SQL Server 2000及Sql Server 2005日志收缩(批量)
- 批量删除Sql Server对象(表,存储过程,触发器)
- SQL Server 2012中快速插入批量数据的示例及疑惑
- SQL SERVER服务停止和启动命令行
- 如果每一个聪明的工程 师都打算在自己四年职业生涯后停止做开发而仅做管理工作,我们是无法建立像SQL Server这样的产品的
- SQL server 2005 如何批量修改架构名(包括表名和存储过程名)
- SQL SERVER 作业
- [SQL Server] (MSSQLSERVER) 服务因 找不到指定的模块。 服务特定错误而停止
- 批量修改SQL Server 2005表构架很简单!
- SQL Server 批量插入数据的两种方法
- SQL SERVER日常运维巡检系列之六——作业运行情况
- 用命令行启动和停止iis、sql server
- Sql server 批量更新
- 第二篇 SQL Server代理作业步骤和子系统
- sql server操作,使用insert进行批量数据操作
- SQL Server (SQL2008) 服务因 126 (0x7E) 服务性错误而停止
- SQL Server 游标运用:批量创建、删除链接服务器
- Sql Server如何新建作业