sqlserver怎么定时任务(sqlserver定时执行sql)

sqlserver怎么定时任务(sqlserver定时执行sql),第1张

写个脚本用crontab设置每小时执行一次,SQL语句如下:

deletefromtbnameorderbysearch_timedesclimit11,1000

如果数据超过1000可以再大点。

IF EXISTS(SELECT  FROM msdbdbosysjobs WHERE name='启用pubs数据库')
EXEC msdbdbosp_delete_job @job_name='启用pubs数据库'
--定义创建作业
DECLARE @jobid uniqueidentifier
EXEC msdbdbosp_add_job
@job_name = N'启用pubs数据库',
@job_id = @jobid OUTPUT
--定义作业步骤
DECLARE @sql nvarchar(400),@dbname sysname
SELECT @dbname=N'master',                   --数据库联机或者脱机只能在master数据库中进行
@sql=N'ALTER DATABASE pubs SET ONLINE'  --使用pubs数据库联机(启用)
EXEC msdbdbosp_add_jobstep
@job_id = @jobid,
@step_name = N'启用pubs数据库处理',
@subsystem = 'TSQL',
@database_name=@dbname,
@command = @sql
--创建调度(使用后面专门定义的几种作业调度模板)
EXEC msdbsp_add_jobschedule
@job_id = @jobid,
@name = N'启用pubs数据库处理调度',
@freq_type=4,
@freq_interval=1,
@freq_subday_type=0x1,
@freq_subday_interval=1,
@active_start_time = 075000 --每天07:50分执行
--添加目标服务器
DECLARE @servername sysname
SET @servername=CONVERT(nvarchar(128),SERVERPROPERTY(N'ServerName'))
EXEC msdbdbosp_add_jobserver 
@job_id = @jobid,
@server_name = @servername


-- 给你一个例子 不懂在问我

可以制作批处理文件处理,将下述内容制作为bat文件。
net stop sqlserveragent
net stop mssqlserver
net start mssqlserver
net start sqlserveragent
然後,可以用windows的计划任务,定时调用此批处理,即可定时实现重启。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10697080.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存