zoukankan      html  css  js  c++  java
  • 实现秒级作业的示例(使用WAITFOR).sql

    USE tempdb

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

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

    --定义作业步骤
    DECLARE @sql nvarchar(400),@dbname sysname
    SELECT @dbname=DB_NAME(),
        @sql=N'
            DECLARE @dt datetime
            SET @dt=DATEADD(Minute,1,GETDATE())
            WHILE @dt>GETDATE()
            BEGIN
                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
                WAITFOR DELAY ''00:00:20''
            END'
    EXEC msdb.dbo.sp_add_jobstep
        @job_id = @jobid,
        @step_name = N'作业步骤名称',
        @subsystem = 'TSQL',
        @database_name=@dbname,
        @command = @sql

    --创建调度
    EXEC msdb..sp_add_jobschedule
        @job_id = @jobid,
        @name = N'每分钟执行的调度',
        @freq_type=4,
        @freq_interval=1,
        @freq_subday_type=0x4,
        @freq_subday_interval=1,
        @active_start_time = 000000

    --添加目标服务器
    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='20秒一次的作业'

    /*--结果
    dt       
    --------
    15:08:00
    15:08:20
    15:08:40
    --*/
  • 相关阅读:
    [收集]Grid Animation-01
    陕西航天大学横幅动态测试
    IPC机制
    Android使用权限
    DDMS
    看懂UML类图和时序图
    Frameworks detected: Android framework is detected in the project
    CoordinatorLayout父布局的Behavior
    Android权限记录
    AndroidManifest.xml文件中属性记录
  • 原文地址:https://www.cnblogs.com/shihao/p/2522190.html
Copyright © 2011-2022 走看看