常用作业定义的T-SQL模板.sql
--定义创建作业
DECLARE @jobid uniqueidentifier
EXEC msdb.dbo.sp_add_job
@job_name = N'作业名称',
@job_id = @jobid OUTPUT
--定义作业步骤
DECLARE @sql nvarchar(400),@dbname sysname
SELECT @dbname=DB_NAME(), --作业步骤在当前数据库中执行
@sql=N'--作业步骤内容' --一般定义的是使用TSQL处理的作业,这里定义要执行的Transact-SQL语句
EXEC msdb.dbo.sp_add_jobstep
@job_id = @jobid,
@step_name = N'作业步骤名称',
@subsystem = 'TSQL', --步骤的类型,一般为TSQL
@database_name=@dbname,
@command = @sql
--创建调度(使用后面专门定义的几种作业调度模板)
EXEC msdb..sp_add_jobschedule
@job_id = @jobid,
@name = N'调度名称',
@freq_type=4, --每天
@freq_interval=1, --指定每多少天发生一次,这里是1天.
@freq_subday_type=0x8, --重复方式,0x1=在指定的时间,0x4=多少分钟,0x8=多少小时执行一次
@freq_subday_interval=1, --重复周期数,这里每小时执行一次
@active_start_date = NULL, --作业执行的开始日期,为NULL时表示当前日期,格式为YYYYMMDD
@active_end_date = 99991231, --作业执行的停止日期,默认为99991231,格式为YYYYMMDD
@active_start_time = 00000, --作业执行的开始时间,格式为HHMMSS
@active_end_time = 235959 --作业执行的停止时间,格式为HHMMSS
--添加目标服务器
DECLARE @servername sysname
SET @servername=CONVERT(nvarchar(128),SERVERPROPERTY(N'ServerName'))
EXEC msdb.dbo.sp_add_jobserver
@job_id = @jobid,
@server_name = @servername --使用当前SQL实例
--调度模板定义
--/*--日调度
EXEC msdb..sp_add_jobschedule
@job_id = @jobid,
@name = N'调度名称',
@freq_type=4, --每天
@freq_interval=1, --指定每多少天发生一次,这里是1天.
@freq_subday_type=0x8, --重复方式,0x1=在指定的时间,0x4=多少分钟,0x8=多少小时执行一次
@freq_subday_interval=1, --重复周期数,这里每小时执行一次
@active_start_date = NULL, --作业执行的开始日期,为NULL时表示当前日期,格式为YYYYMMDD
@active_end_date = 99991231, --作业执行的停止日期,默认为99991231,格式为YYYYMMDD
@active_start_time = 00000, --作业执行的开始时间,格式为HHMMSS
@active_end_time = 235959 --作业执行的停止时间,格式为HHMMSS
--*/
--/*--周调度
EXEC msdb.dbo.sp_add_jobschedule
@job_id = @jobid,
@name = N'调度名称',
@freq_type = 8, --每周
@freq_recurrence_factor = 1, --每多少周执行一次,这里是每周
@freq_interval = 62, --在星期几执行,由POWER(2,N)表示,N的值为0~6,代表星期日~星期六,如果指定两个,则将值相加,例如,值为65表示在星期天和星期日执行(POWER(2,0)+POWER(2,6))
@freq_subday_type = 0x8, --重复方式,0x1=在指定的时间,0x4=多少分钟,0x8=多少小时执行一次
@freq_subday_interval = 1, --重复周期数,这里每小时执行一次
@active_start_date = NULL, --作业执行的开始日期,为NULL时表示当前日期,格式为YYYYMMDD
@active_end_date = 99991231, --作业执行的停止日期,默认为99991231,格式为YYYYMMDD
@active_start_time = 00000, --作业执行的开始时间,格式为HHMMSS
@active_end_time = 235959 --作业执行的停止时间,格式为HHMMSS
--*/
--/*--月调度(每X个月的每月几号)
EXEC msdb.dbo.sp_add_jobschedule
@job_id = @jobid,
@name = N'调度名称',
@freq_type = 16, --每月
@freq_recurrence_factor = 2, --每多少月执行一次,这里是每2个月
@freq_interval = 2, --在执行月的第几天执行,这里是第2天
@freq_subday_type = 0x8, --重复方式,0x1=在指定的时间,0x4=多少分钟,0x8=多少小时执行一次
@freq_subday_interval = 1, --重复周期数,这里每小时执行一次
@active_start_date = NULL, --作业执行的开始日期,为NULL时表示当前日期,格式为YYYYMMDD
@active_end_date = 99991231, --作业执行的停止日期,默认为99991231,格式为YYYYMMDD
@active_start_time = 00000, --作业执行的开始时间,格式为HHMMSS
@active_end_time = 235959 --作业执行的停止时间,格式为HHMMSS
--*/
--/*--月调度(每X个月的相对时间)
EXEC msdb.dbo.sp_add_jobschedule
@job_id = @jobid,
@name = N'调度名称',
@freq_type = 32, --每月
@freq_recurrence_factor = 2, --每多少月执行一次,这里是每2个月
@freq_interval = 9, --在当月的那个时间执行,1~7=星期日至星期六,8=日 ,9=工作日,10=周末
@freq_relative_interval = 1, --在第几个相对时间执行,允许的值为1,2,4,8代表第1~4个相对时间,16表示最后一个相对时间
@freq_subday_type = 0x8, --重复方式,0x1=在指定的时间,0x4=多少分钟,0x8=多少小时执行一次
@freq_subday_interval = 1, --重复周期数,这里每小时执行一次
@active_start_date = NULL, --作业执行的开始日期,为NULL时表示当前日期,格式为YYYYMMDD
@active_end_date = 99991231, --作业执行的停止日期,默认为99991231,格式为YYYYMMDD
@active_start_time = 00000, --作业执行的开始时间,格式为HHMMSS
@active_end_time = 235959 --作业执行的停止时间,格式为HHMMSS
--*/
--/*--在特定时候执行的作业调度
EXEC msdb.dbo.sp_add_jobschedule
@job_id = @jobid,
@name = N'调度名称',
@freq_type = 64 --64=在SQLServerAgent 服务启动时运行,128=计算机空闲时运行
--*/
--/*--只执行一次的作业调度
EXEC msdb..sp_add_jobschedule
@job_id = @jobid,
@name = N'调度名称',
@freq_type=1, --仅执行一次
@active_start_date = NULL, --作业执行的开始日期,为NULL时表示当前日期,格式为YYYYMMDD
@active_start_time = 00000 --作业执行的开始时间,格式为HHMMSS
--*/
转载于:https://www.cnblogs.com/dushu/archive/2012/05/18/2507781.html
常用作业定义的T-SQL模板.sql相关推荐
- 帝国cms内容模板sql语句方式调用当前TAG标签
帝国cms内容模板sql语句方式调用当前TAG标签的具体方式,具体调用代码如下: <?php $fr=$empire->fetch1("select infotags from ...
- PL/SQL -- 动态SQL调用包中函数或过程
动态SQL主要是用于针对不同的条件或查询任务来生成不同的SQL语句.最常用的方法是直接使用EXECUTE IMMEDIATE来执行动态SQL语句字符串或字符串变量.但是对于系统自定义的包或用户自定的包 ...
- PL/SQL -- 动态SQL
--==================== -- PL/SQL --> 动态SQL --==================== 使用动态SQL是在编写PL/SQL过程时经常使用的方法之一.很 ...
- sql 触发器未触发_学习SQL:SQL触发器
sql 触发器未触发 SQL Triggers are another powerful database object we have at our disposal. In previous ar ...
- 学习SQL:SQL Server数据透视表
In the previous few articles in this series, we've set the foundations on how to create a report. We ...
- 学习SQL:SQL Server日期和时间函数
So far, we haven't talked about SQL Server date and time functions. Today we'll change that. We'll t ...
- 【ORACLE】21版本新特性之SQL宏(SQL MACROS)的分析
前言 在21c发布后,很多文章中都提到了SQL宏,但看到的人们大多都有个疑问,这个SQL宏看上去和一般的函数没什么区别,为什么还要重点拿出来说? 我们先看看ORACLE官方是怎么说的 https:// ...
- SQL:SQL 指令大全
SQL:SQL 指令大全 目录 SQL指令 SELECT DISTINCT WHERE AND OR IN BETWEEN LIKE ORDER BY 函数 COUNT GROUP BY HAVING ...
- ORACLE SQL and SQL PLUS
前言: 关系数据库的简单介绍 1970.Dr.E.F.codded 创建了关系数据库的模型(类似现在常用的二维表格) 关系数据库由许多数据对象组成, 被关系操作SQL命令管理着, 数据之间有完整性的约 ...
- ORACLE SQL and SQL*PLUS 学习
前言: 关系数据库的简单介绍 1970.Dr.E.F.codded 创建了关系数据库的模型(类似现在常用的二维表格) 关系数据库由许多数据对象组成, 被关系操作 SQL命令管理着, 数据之间有完整性的 ...
最新文章
- memcache php windows,windows系统下安装memcache
- 进程同步算法实现实验报告Linux,操作系统进程同步实验报告.doc
- python读取文本中的内容
- Python合成PDF文件
- 【matlab】syms x y 用法
- 软件工程——软件详细设计
- 【微信小程序】自己的小程序跳转到京东小程序商品详情页
- 白光led 计算机模拟,白光LED在TracePro中的建模及仿真
- 老李分享:六度分隔理论 2
- springboot程序logback日志基本配置,多个包不同日志级别输入到文件中
- oracle从11.0.2.4.0打PSU 11.0.2.4.8
- 溢出的概念和判断方法
- axure 彻底删除lib_【AutoCAD 卸载工具,完全彻底删除清理干净AutoCAD各种残留注册表和文件】...
- 单链表的头插法与尾插法
- js 原子级操作_原子操作与同步机制
- 3、关于onclick事件的两种写法
- python之freshman00
- list redis 怎样做排行_Redis中5种数据结构的使用场景介绍
- 《高效能人士的7个习惯》-知彼解己
- 进制转换(C++):十六进制、二进制、十进制(附源代码)
热门文章
- Android开发笔记(一百三十四)协调布局CoordinatorLayout
- Android开发笔记(五十一)通过Messenger实现进程间通信
- python快速入门 数据输出和基本类型 常用的循环遍历等
- 解决Android 输入法InputMethodService 显示时让原Activity大小计算错误问题
- proxychains 一个好用的终端用代理拦截器
- Skype for Business Server 2015-04-前端服务器-5-创建DNS记录
- selenium和junit 的使用
- 一款基于jquery和css3实现的摩天轮式分享按钮
- 复制mysql数据目录后无法启动的问题
- 去掉 RHEL AS 3 内存检测达不到256MB的警告