永发信息网

如何让sql每天执行一下一个写好的sql语句

答案:5  悬赏:0  手机版
解决时间 2021-01-03 09:43
如何让sql每天执行一下一个写好的sql语句
最佳答案
可以设置定时任务,比较常用的是用sqlserver 代理新建作业。有时候数据库自动备份也是用的这个。
还有一种比较复杂自己写个程序,使用系统定时任务 定时执行。
创建sql server定时任务作业步骤如下:
1.要先安装了sqlserver 代理服务
--2.鼠标右击【SQL Server 代理】,选择【启动(S)】,如已启动,可以省略此步骤;
--3.展开【SQL Server 代理】列表,右击【作业】--【新建作业】;
--3.1 在【常规】选项卡中:
-- 输入作业名称,如My Job;
--3.2 在【步骤】选项卡中:
--3.2.1 点击【新建】,输入【步骤名称】,如步骤1,类型默认T-SQL脚本,也可以选择SSIS包等;
--3.2.2 在【数据库】一栏选择要作业处理的数据库,在【命令】的右边空白编辑栏输入要执行的SQL代码,
EXEC p_Name --如:执行一个P_Name的存储过程
-- 也可以点击命令下面的【打开】,打开.sql脚本;
--3.2.3 输入运行脚本后,建议点击【分析】,确保脚本语法正确,然后点击下面的【确定】按钮;
--3.3 在【计划】选项卡中:
--3.3.1 点击【新建】,输入【计划名称】,如计划1,计划类型默认是重复执行,也可以选择执行一次等;
--3.3.2 在【频率】--【执行】处选择每天、每周或每月,以每天为例,间隔时间输入间隔几天执行一次,
-- 下面还可以选择每天一次性执行或间隔一定的时间重复执行
--3.3.3 在【持续时间】中选择计划开始执行的【起始日期】和【截止日期】,然后点击【确定】按钮;
--注意要将服务设置为自动启动,否则在重启服务器后作业就不运行了。
--启动代理服务的方法:
--开始--运行--输入services.msc--找到【SQL Server 代理】的服务并双击--【启动类型】选择自动--【确定】
--至此,定时作业已创建完毕。
全部回答
高楼当此夜,叹息未应闲。
创建存储过程,然后定义job定期执行
先写个存储过程: declare @sql varchar(8000) set @sql = 'create table sector'+ convert(varchar(10),getdate(),112)+ '(' + 'x int' + ')' exec(@sql) 这个是建立job的语句,不过需要修改一下,调用上面的存储过程: --1.新建作业 --> 作业步骤 --> 作业调度 --> 作业服务器 declare @jobname sysname,@db_name sysname select @jobname = '动态创建表', @db_name = db_name() --1.1创建作业 exec msdb..sp_add_job @job_name=@jobname --1.2创建作业步骤 exec msdb..sp_add_jobstep @job_name=@jobname, @step_name = n'数据处理', @subsystem = n'tsql', @database_name=@db_name, @command = n'exec 你的存储过程名称;', @retry_attempts = 1, @retry_interval = 1 --1.3添加作业步骤,每天8点运行一次 exec msdb..sp_add_jobschedule @job_name=@jobname, @name = n'动态创建表', @freq_type=4 , --间隔为每天 @freq_interval=1, @active_start_time=200000 --8点 --1.4添加目标服务器 exec msdb.dbo.sp_add_jobserver @job_name = @jobname , @server_name = '你的服务器名称' --@@servername 这个函数的返回值不一定准确 --1.5 开始作业 exec msdb.dbo.sp_start_job @job_name =n'动态创建表';
先写个存储过程: declare @sql varchar(8000) set @sql = 'create table sector'+ convert(varchar(10),getdate(),112)+ '(' + 'x int' + ')' exec(@sql) 这个是建立job的语句,不过需要修改一下,调用上面的存储过程: --1.新建作业 --> 作业步骤 --> 作业调度 --> 作业服务器 declare @jobname sysname,@db_name sysname select @jobname = '动态创建表', @db_name = db_name() --1.1创建作业 exec msdb..sp_add_job @job_name=@jobname --1.2创建作业步骤 exec msdb..sp_add_jobstep @job_name=@jobname, @step_name = n'数据处理', @subsystem = n'tsql', @database_name=@db_name, @command = n'exec 你的存储过程名称;', @retry_attempts = 1, @retry_interval = 1 --1.3添加作业步骤,每天8点运行一次 exec msdb..sp_add_jobschedule @job_name=@jobname, @name = n'动态创建表', @freq_type=4 , --间隔为每天 @freq_interval=1, @active_start_time=200000 --8点 --1.4添加目标服务器 exec msdb.dbo.sp_add_jobserver @job_name = @jobname , @server_name = '你的服务器名称' --@@servername 这个函数的返回值不一定准确 --1.5 开始作业 exec msdb.dbo.sp_start_job @job_name =n'动态创建表';
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
我想从事网络安全方面的工作,考软考有用吗
虎杖传说还元会所(华漕快乐家园店)地址在哪,
5首有关秋天的古诗
乾安县反贪局位置在什么地方啊,我要过去办理
梦见买手表
(1)15℃时声音在空气中的传播速度是_______
我们对偶像的爱是一种什么样的爱
李二珠村委会地址在什么地方?想过去办事
北郝家营村委会地址有知道的么?有点事想过去
保平村委会在什么地方啊,我要处理点事
单选题2009年7月27日至28日,首轮中美战略与
大家谁知道国货护肤品金伯莱丝这个品牌吗
土地承包基本费用标准 一亩地多少钱
一道物理题,不难,就是我自己搞得很乱
单选题下列各组城市中,由工业地域扩展而成的
推荐资讯
世界古代史上发生过许多值得探究的重大历史事
我国是世界上12个贫水国家之一,淡水资源还不
关于想象力的诗歌
竹山县人民检察院地址在什么地方?想过去办事
关于历史文化遗产,下列说法正确的是①对研究
哈尔滨站做公交到天鹅饭店要多久
一个圆柱体,侧面展开图是正方形,它的边长是
单选题下列关于中国近代报纸发展历程的叙述,
地球围绕什么转,月亮围绕什么转
豫a162wl车牌能打多少分
西门子GPRS通讯模块好用吗
单选题一定温度时某物质的饱和溶液,温度不变
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?