zoukankan      html  css  js  c++  java
  • 实现秒级作业的示例(多个作业调度).sql

    USE tempdb

    IF EXISTS(SELECT * FROM msdb.dbo.sysjobs WHERE name='30秒一次的作业')
        EXEC msdb.dbo.sp_delete_job @job_name='30秒一次的作业'

    --定义创建作业
    DECLARE @jobid uniqueidentifier
    EXEC msdb.dbo.sp_add_job
        @job_name = N'30秒一次的作业',
        @job_id = @jobid OUTPUT

    --定义作业步骤
    DECLARE @sql nvarchar(400),@dbname sysname
    SELECT @dbname=DB_NAME(),
        @sql=N'
            IF EXISTS(SELECT * FROM sysobjects WHERE name=''tb_log'')            
                INSERT tb_log VALUES(CONVERT(char(8),GETDATE(),108))
            ELSE
                SELECT dt=CONVERT(char(8),GETDATE(),108) INTO tb_log'
    EXEC msdb.dbo.sp_add_jobstep
        @job_id = @jobid,
        @step_name = N'作业步骤名称',
        @subsystem = 'TSQL',
        @database_name=@dbname,
        @command = @sql

    --创建调度1
    EXEC msdb..sp_add_jobschedule
        @job_id = @jobid,
        @name = N'第1个30秒',
        @freq_type=4,
        @freq_interval=1,
        @freq_subday_type=0x4,
        @freq_subday_interval=1,
        @active_start_time = 00000

    --创建调度2
    EXEC msdb..sp_add_jobschedule
        @job_id = @jobid,
        @name = N'第2个30秒',
        @freq_type=4,
        @freq_interval=1,
        @freq_subday_type=0x4,
        @freq_subday_interval=1,
        @active_start_time = 00030

    --添加目标服务器
    DECLARE @servername sysname
    SET @servername=CONVERT(nvarchar(128),SERVERPROPERTY(N'ServerName'))
    EXEC msdb.dbo.sp_add_jobserver
        @job_id = @jobid,
        @server_name = @servername
    GO

    --等待2分钟后查看结果
    WAITFOR DELAY '00:02:00'
    SELECT * FROM tb_log ORDER BY dt
    GO

    --删除测试
    DROP TABLE tb_log
    EXEC msdb.dbo.sp_delete_job @job_name='30秒一次的作业'

    /*--结果
    dt       
    --------
    14:54:01
    14:54:31
    14:55:01
    14:55:31
    --*/
  • 相关阅读:
    git 常用命令
    PHP打印日志类
    如何从总账获取分类账信息
    AP -> GL 数据流动
    JDeveloper 速度慢问题
    JDeveloper 滚轮不受控制
    MyBatis 环境搭建
    初识 MyBatis
    Linux 中设置 MySQL 字符集为 UTF-8
    Linux 安装 MySQL 详解(rpm 包)
  • 原文地址:https://www.cnblogs.com/shihao/p/2510810.html
Copyright © 2011-2022 走看看