sql创造作业,作业的行使示例_成立按期调用存款和储蓄进度的作业

始建机关施行存款和储蓄进度:

开创机关推行存款和储蓄进程:

if exists (select * from dbo.sysobjects where id =
object_id(N'[dbo].[p_JobSet]’) and OBJECTPROPERTY(id,
N’IsProcedure’) = 1)
    drop procedure [dbo].[p_JobSet]
GO

–定义创造作业
DECLARE @jobid uniqueidentifier
EXEC msdb.dbo.sp_add_job
 @job_name = N’作业名称’,
 @job_id = @jobid OUTPUT

1.创办参数

一.开立参数

/*–钦赐时期调用存款和储蓄进度

–定义作业步骤
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_sql创造作业,作业的行使示例_成立按期调用存款和储蓄进度的作业。type=4,                –每天
 @freq_interval=一,            –内定每多少天产生2遍,那里是壹天.
 @freq_subday_type=0x八,      
–重复方式,0x1=在内定的小运,0x四=多少秒钟,0x八=多少小时施行2回
 @freq_subday_interval=一,     –重复周期数,那里每时辰推行二回
 @active_start_date = NULL,  
–作业实施的早先日期,为NULL时表示方今天期,格式为YYYYMMDD
 @active_end_date = 9999123壹,
–作业推行的告一段落日期,暗中同意为9999123壹,格式为YYYYMMDD
 @active_start_time = 00000,  –作业实行的初始时间,格式为HHMMSS
 @active_end_time = 23595玖    –作业实施的终止时间,格式为HHMMSS

  1. 创设作业
  1. 创建作业

–邹建 200四.07(引用请保留此音讯)–*/

–增多目的服务器
DECLARE @servername sysname
SET @servername=CONVERT(nvarchar(128),SERVERPROPERTY(N’ServerName’))
EXEC msdb.dbo.sp_add_jobserver
 @job_id = @jobid,
 @server_name = @servername –使用当前SQL实例

4.创办作业步骤

四.创制作业步骤

/*–调用示例

–调度模板定义
–/*–日调度
EXEC msdb..sp_add_jobschedule
 @job_id = @jobid,
 @name = N’调度名称’,
 @freq_type=4,                –每天
 @freq_interval=壹,            –内定每多少天产生三遍,那里是一天.
 @freq_subday_type=0x捌,      
–重复形式,0x壹=在钦点的流年,0x4=多少秒钟,0x八=多少时辰推行二回
 @freq_subday_interval=1,     –重复周期数,那里每时辰实行一遍
 @active_start_date = NULL,  
–作业实行的始发日期,为NULL时表示如今些天期,格式为YYYYMMDD
 @active_end_date = 9999123一,
–作业实践的停下日期,默认为9999123壹,格式为YYYYMMDD
 @active_start_time = 00000,  –作业实施的启幕时间,格式为HHMMSS
 @active_end_time = 23595玖    –作业施行的甘休时间,格式为HHMMSS
–*/

伍.老是服务器

伍.接连服务器

    declare @dt datetime
    set @dt=dateadd(minute,一,getdate())    –当前岁月一分钟后实行
    exec p_JobSet ‘master.dbo.xp_cmdshell ”dir c:\*.*”’,@dt
–*/
create proc p_JobSet
@prorcname sysname,  
 –要调用定期调用的贮存进度名,假设不在当前库中,则用:库名.全体者名.存储进程名
@job_date datetime    –存储进程的实行时间(包括时间新闻)
with encryption
as
declare @dbname sysname,@jobname sysname
    ,@date int,@time int

–/*–周调度
EXEC msdb.dbo.sp_add_jobschedule
 @job_id = @jobid,
 @name = N’调度名称’,
 @freq_type = 8,              –每周
 @freq_recurrence_factor = 一, –每多少周实施2遍,那里是周周
 @freq_interval = 6二,        
–在星期几举办,由POWE讴歌MDX(二,N)表示,N的值为0~陆,代表礼拜贰~周四,如若钦命五个,则将值相加,例如,值为陆伍表示在小礼拜和礼拜六进行(POWELX570(二,0)+POWE逍客(二,陆))
 @freq_subday_type = 0x8,    
–重复方式,0x1=在钦命的年月,0x四=多少分钟,0x捌=多少小时实行1次
 @freq_subday_interval = 壹,   –重复周期数,那里每小时执行二遍
 @active_start_date = NULL,  
–作业实践的起首日期,为NULL时表示目后天期,格式为YYYYMMDD
 @active_end_date = 99991231,
–作业实施的告1段落日期,默以为9999123一,格式为YYYYMMDD
 @active_start_time = 00000,  –作业推行的起头时间,格式为HHMMSS
 @active_end_time = 23595玖    –作业实施的终止时间,格式为HHMMSS
–*/

陆.开立作业调度

6.创造作业调度

select @jobname=’一时半刻作业_’+cast(newid() as varchar(36))
    ,@date=convert(varchar,@job_date,112)
    ,@time=replace(convert(varchar,@job_date,108),’:’,”)

–/*–月调度(每X个月的每月几号)
EXEC msdb.dbo.sp_add_jobschedule
 @job_id = @jobid,
 @name = N’调度名称’,
 @freq_type = 16,             –每月
 @freq_recurrence_factor = 二, –每多少月施行三回,那里是每三个月
 @freq_interval = 贰,          –在实施月的第几天实行,那里是第三天
 @freq_subday_type = 0x8,    
–重复格局,0x1=在钦定的光阴,0x四=多少分钟,0x八=多少小时实施2回
 @freq_subday_interval = 一,   –重复周期数,那里每时辰施行2回
 @active_start_date = NULL,  
–作业实行的初阶日期,为NULL时表示近日些天子,格式为YYYYMMDD
 @active_end_date = 99991231,
–作业实施的结束日期,默感到9999123一,格式为YYYYMMDD
 @active_start_time = 00000,  –作业执行的开端时间,格式为HHMMSS
 @active_end_time = 23595玖    –作业实践的告一段落时间,格式为HHMMSS
–*/

柒.起动作业

七.伊始作业

if exists(select 1 from msdb..sysjobs where name=@jobname)
    exec msdb..sp_delete_job @job_name=@jobname

–/*–月调度(每X个月的相持即间)
EXEC msdb.dbo.sp_add_jobschedule
 @job_id = @jobid,
 @name = N’调度名称’,
 @freq_type = 32,             –每月
 @freq_recurrence_factor = 贰, –每多少月推行2回,这里是每二个月
 @freq_interval = 九,         
–在前些日子的非凡时间实施,壹~7=星期四至星期5,捌=日 ,玖=工作日,10=周末
 @freq_relative_interval = 壹,
–在第多少个相对时间推行,允许的值为一,二,四,八代表第叁~5个相对时间,1六表示最后一个绝对时间
 @freq_subday_type = 0x捌,    
–重复情势,0x一=在钦命的年华,0x4=多少分钟,0x捌=多少小时实施贰遍
 @freq_subday_interval = 一,   –重复周期数,那里每小时实行二遍
 @active_start_date = NULL,  
–作业实施的起首日期,为NULL时表示近年来几日期,格式为YYYYMMDD
 @active_end_date = 9999123一,
–作业施行的结束日期,默以为9999123一,格式为YYYYMMDD
 @active_start_time = 00000,  –作业实行的起来时间,格式为HHMMSS
 @active_end_time = 23595九    –作业实践的平息时间,格式为HHMMSS
–*/

 

 

–创制作业
exec msdb..sp_add_job @job_name=@jobname,@delete_level=1

–/*–在特定期候实施的功课调度
EXEC msdb.dbo.sp_add_jobschedule
 @job_id = @jobid,
 @name = N’调度名称’,
 @freq_type = 6四     –6肆=在SQLServerAgent
服务运维时运维,12八=Computer空闲时运转
–*/

 

 

–创制作业步骤
declare @sql varchar(800)
select @sql=’exec ‘+@prorcname
    ,@dbname=db_name()

–/*–只进行一次的学业调度
EXEC msdb..sp_add_jobschedule
 @job_id = @jobid,
 @name = N’调度名称’,
 @freq_type=一,                –仅实践三次
 @active_start_date = NULL,  
–作业试行的起初日期,为NULL时表示目今日子,格式为YYYYMMDD
 @active_start_time = 00000   –作业实践的起来时间,格式为HHMMSS
–*/

 

 

exec msdb..sp_add_jobstep @job_name=@jobname,
    @step_name = ‘处理步骤’,
    @subsystem = ‘TSQL’,
    @database_name=@dbname,
    @command = @sql,
    @retry_attempts = 伍,         –重试次数
    @retry_interval = 伍          –重试间隔

ALTER PROCEDURE dbo.sx_pro_AutoExecJobCreation

ALTER PROCEDURE dbo.sx_pro_AutoExecJobCreation

–成立调度
EXEC msdb..sp_add_jobschedule @job_name = @jobname,
    @name = ‘时间铺排’,
    @enabled = 1,
    @freq_type = 1,
    @active_start_date = @date,
    @active_start_time = @time

AS

AS

— 增添目标服务器
EXEC msdb.dbo.sp_add_jobserver
    @job_name = @jobname ,
    @server_name = N'(local)’
go

Begin

Begin

   Declare @jobName varchar(20)

   Declare @jobName varchar(20)

   Declare @stepName varchar(20)

   Declare @stepName varchar(20)

   Declare @scheNmae varchar(20)

   Declare @scheNmae varchar(20)

   declare @sql varchar(1000)

   declare @sql varchar(1000)

   declare @db_name varchar(30)

   declare @db_name varchar(30)

 

 

 

 

   –dbo.webpage_getData_KPM,webpageKPMalert

   –dbo.webpage_getData_KPM,webpageKPMalert

   –dbo.webpage_getData_scrap,webPageScrapRate

   –dbo.webpage_getData_scrap,webPageScrapRate

   –dbo.webpage_ScrapKPM_Calculation,webpageScrapKPMcal

   –dbo.webpage_ScrapKPM_Calculation,webpageScrapKPMcal

   –dbo.webpage_calScrap,webpage_calScrap

   –dbo.webpage_calScrap,webpage_calScrap

   –dbo.webpage_calKpm,webpage_calKpm

   –dbo.webpage_calKpm,webpage_calKpm

 

 

   set @sql=’exec dbo.webpage_calScrap’     –实施存款和储蓄进程

   set @sql=’exec dbo.webpage_calScrap’     –试行存储进程

   set @db_name=db_997755.com澳门葡京 ,name()

   set @db_name=db_name()

   set @jobName=’webpage_calScrap’

   set @jobName=’webpage_calScrap’

   set @stepName=’webpage_calScrap’

   set @stepName=’webpage_calScrap’

   set @scheNmae=’webpage_calScrap’

   set @scheNmae=’webpage_calScrap’

 

 

 

 

 

 

 

 

–删除作业

–删除作业

if exists(SELECT * FROM msdb.dbo.sysjobs WHERE Name=@jobName)

if exists(SELECT * FROM msdb.dbo.sysjobs WHERE Name=@jobName)

   begin

   begin

     exec msdb.dbo.sp_delete_job

     exec msdb.dbo.sp_delete_job

     @job_name =@jobName

     @job_name =@jobName

   end

   end

 

 

–成立作业

–创造作业

EXEC msdb.dbo.sp_add_job 

EXEC msdb.dbo.sp_add_job 

    @job_name =@jobName

    @job_name =@jobName

 

 

–创立作业步骤

–创立作业步骤

Exec msdb.dbo.sp_add_jobstep

Exec msdb.dbo.sp_add_jobstep

  @job_name=@jobName,

  @job_name=@jobName,

  @step_name=@stepName,

  @step_name=@stepName,

  @subsystem=’TSQL’,

  @subsystem=’TSQL’,

  @database_name=@db_name,

  @database_name=@db_name,

  @command=@sql,

  @command=@sql,

  @retry_attempts=4,

  @retry_attempts=4,

  @retry_interval=5

  @retry_interval=5

 

 

–连接服务器

–连接服务器

EXEC   msdb.dbo.sp_add_jobserver    

EXEC   msdb.dbo.sp_add_jobserver    

   @job_name=@jobName,  

   @job_name=@jobName,  

   @server_name=N'(local)’    

   @server_name=N'(local)’    

 

 

–成立作业调度

–创造作业调度

EXEC msdb.dbo.sp_add_jobschedule

EXEC msdb.dbo.sp_add_jobschedule

        @job_name = @jobName, — Job name

        @job_name = @jobName, — Job name

        @name = @scheNmae,  — Schedule name

        @name = @scheNmae,  — Schedule name

        @freq_type =4,

        @freq_type =4,

        @freq_interval =1,

        @freq_interval =1,

 

 

        @freq_subday_type=0x1,

        @freq_subday_type=0x1,

        @freq_subday_interval=1,

        @freq_subday_interval=1,

 

 

        @active_start_date =null,

        @active_start_date =null,

        @active_end_date =20550101,

        @active_end_date =20550101,

 

 

        @active_start_time = 062000,

        @active_start_time = 062000,

        @active_end_time = null;

        @active_end_time = null;

  

  

EXEC msdb.dbo.sp_start_job @jobName

EXEC msdb.dbo.sp_start_job @jobName

end

end

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*
*
Website