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
    --*/
  • 相关阅读:
    mycat 1.6.6.1 distinct报错问题
    linux下Tomcat+OpenSSL配置单向&双向认证(自制证书)
    Too many open files错误与解决方法
    Tomcat类加载机制触发的Too many open files问题分析(转)
    spring boot 自签发https证书
    redis集群如何解决重启不了的问题
    centos7 docker 安装 zookeeper 3.4.13 集群
    centos7用docker安装kafka
    心怀感恩
    不使用if switch 各种大于 小于 判断2个数的大小
  • 原文地址:https://www.cnblogs.com/shihao/p/2510810.html
Copyright © 2011-2022 走看看