- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
sql 实现秒级作业的示例(多个作业调度)
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 = N30秒一次的作业,
@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(NServerName))
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
--*/
文档评论(0)