如何在SQL Server上每天执行一个创建表的SQL语句

 我来答
greystar_cn
2015-10-28 · 知道合伙人软件行家
greystar_cn
知道合伙人软件行家
采纳数:16407 获赞数:17260
本人主要从事.NET C#方向的技术开发工作,具有10多年的各类架构开发工作经验。

向TA提问 私信TA
展开全部
先写个存储过程:
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'动态创建表';
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式