• 首页
  • 小学语文
  • 中学语文
  • 中学英语
  • 免费论文
  • 教学随笔
  • 学生作文
  • 综合考试
  • 试题教案
  • 育儿话题
  • 教学资源
  • 编程技术
  • 博客
  • 创建作业的通用存储过程

    日期:2003-03-26  地址:  作者:

    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

    /*--定时调用存储过程

     创建一个在指定时间,调用指定存储过程的作业 作业执行完成后会自动删除

    --邹建 2004.07--*/

    /*--调用示例

     exec p_JobSet 'master.dbo.xp_cmdshell','2004-1-1 10:30'--*/create proc p_JobSet@prorcname sysname, --要调用定时调用的存储过程名,如果不在当前库中,则用:库名.所有者名.存储过程名@job_date datetime --存储过程的执行时间(包括时间信息)asdeclare @dbname sysname,@jobname sysname ,@date int,@time int

    select @jobname='定时发送作业_'+cast(newid() as varchar(36)) ,@date=convert(varchar,@job_date,112) ,@time=replace(convert(varchar,@job_date,108),':','')

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

    --创建作业exec msdb..sp_add_job @job_name=@jobname,@delete_level=1

    --创建作业步骤declare @sql varchar(800)select @sql='exec '+@prorcname ,@dbname=db_name()

    exec msdb..sp_add_jobstep @job_name=@jobname, @step_name = '发送处理步骤', @subsystem = 'TSQL', @database_name=@dbname, @command = @sql, @retry_attempts = 5,   --重试次数 @retry_interval = 5    --重试间隔

    --创建调度EXEC msdb..sp_add_jobschedule @job_name = @jobname,  @name = '时间安排', @enabled = 1,  @freq_type = 1,  @active_start_date = @date, @active_start_time = @time

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

    对 创建作业的通用存储过程 文章的评论    [查看网友评论]

    验证码:
    匿名发表: