SQL定时作业的制定Word文件下载.docx

上传人:b****4 文档编号:6282018 上传时间:2023-05-06 格式:DOCX 页数:8 大小:16.97KB
下载 相关 举报
SQL定时作业的制定Word文件下载.docx_第1页
第1页 / 共8页
SQL定时作业的制定Word文件下载.docx_第2页
第2页 / 共8页
SQL定时作业的制定Word文件下载.docx_第3页
第3页 / 共8页
SQL定时作业的制定Word文件下载.docx_第4页
第4页 / 共8页
SQL定时作业的制定Word文件下载.docx_第5页
第5页 / 共8页
SQL定时作业的制定Word文件下载.docx_第6页
第6页 / 共8页
SQL定时作业的制定Word文件下载.docx_第7页
第7页 / 共8页
SQL定时作业的制定Word文件下载.docx_第8页
第8页 / 共8页
亲,该文档总共8页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

SQL定时作业的制定Word文件下载.docx

《SQL定时作业的制定Word文件下载.docx》由会员分享,可在线阅读,更多相关《SQL定时作业的制定Word文件下载.docx(8页珍藏版)》请在冰点文库上搜索。

SQL定时作业的制定Word文件下载.docx

选择执行命令的数据库

命令"

中输入要执行的语句:

EXEC存储过程名...

--确定

调度"

--新建调度

名称"

中输入调度名称

调度类型"

中选择你的作业执行安排

--如果选择"

反复出现"

--点"

更改"

来设置你的时间安排

然后将SQLAgent服务启动,并设置为自动启动,否则你的作业不会被执行

设置方法:

我的电脑--控制面板--管理工具--服务--右键SQLSERVERAGENT--属性--启动类型--选择"

自动启动"

--确定.

SQL2005的设置参考:

SQLserver2005中建立备份自动化任务

 

/*--创建作业过程代码

--邹建2003.10(引用时请保留此信息)--*/

/*--调用示例

--每月执行的作业

execp_createjob@jobname='

mm'

@sql='

select*fromsyscolumns'

@freqtype='

month'

--每周执行的作业

ww'

week'

--每日执行的作业

a'

--每日执行的作业,每天隔4小时重复的作业

b'

@fsinterval=4

--*/

ifexists(select*fromdbo.sysobjectswhereid=object_id(N'

[dbo].[p_createjob]'

)andOBJECTPROPERTY(id,N'

IsProcedure'

)=1)

dropprocedure[dbo].[p_createjob]

GO

createprocp_createjob

@jobnamevarchar(100),--作业名称

@sqlvarchar(8000),--要执行的命令

@dbnamesysname='

'

--默认为当前的数据库名

@freqtypevarchar(6)='

day'

--时间周期,month月,week周,day日

@fsintervalint=1,--相对于每日的重复次数

@timeint=170000--开始执行时间,对于重复执行的作业,将从0点到23:

59分

as

ifisnull(@dbname,'

)='

set@dbname=db_name()

--创建作业

execmsdb..sp_add_job@job_name=@jobname

--创建作业步骤

execmsdb..sp_add_jobstep@job_name=@jobname,

@step_name='

数据处理'

@subsystem='

TSQL'

@database_name=@dbname,

@command=@sql,

@retry_attempts=5,--重试次数

@retry_interval=5--重试间隔

--创建调度

declare@ftypeint,@fstypeint,@ffactorint

select@ftype=case@freqtypewhen'

then4

when'

then8

then16end

@fstype=case@fsintervalwhen1then0else8end

if@fsinterval<

>

1set@time=0

set@ffactor=case@freqtypewhen'

then0else1end

EXECmsdb..sp_add_jobschedule@job_name=@jobname,

@name='

时间安排'

@freq_type=@ftype,--每天,8每周,16每月

@freq_interval=1,--重复执行次数

@freq_subday_type=@fstype,--是否重复执行

@freq_subday_interval=@fsinterval,--重复周期

@freq_recurrence_factor=@ffactor,

@active_start_time=@time--下午17:

00:

00分执行

go

/*--作业处理实例

根据sendTab的SendTime定制作业

并且在该作业完成时,可以自动删除作业

--邹建2004.04(引用请保留此信息)--*/

--示例

--测试表

createtablesendTab(IDintidentity(1,1),Namevarchar(10)

SendTimedatetime,AcceptUnitvarchar(10)

SendUnitvarchar(10),Contentvarchar(8000))

createtableaccepteTab(IDintidentity(1,1),Namevarchar(10)

SendUnitvarchar(10),AcceptUnitvarchar(10),Contentvarchar(8000))

--创建处理的存储过程

createprocp_JobSet

@idint,--要处理的sendTab的id

@is_deletebit=0--是否仅删除,为则否,为则是

declare@dbnamesysname,@jobnamesysname

@dateint,@timeint

select@jobname='

定时发送作业_'

+cast(@idasvarchar)

@date=convert(varchar,SendTime,112)

@time=replace(convert(varchar,SendTime,108),'

:

'

fromsendTabwhereid=@id

ifexists(select1frommsdb..sysjobswherename=@jobname)

execmsdb..sp_delete_job@job_name=@jobname

if@is_delete=1return

execmsdb..sp_add_job@job_name=@jobname,@delete_level=1

declare@sqlvarchar(800)

select@sql='

insertaccepteTab(name,SendUnit,AcceptUnit,Content)

selectname,AcceptUnit,SendUnit,ContentfromsendTabwhereid='

@dbname=db_name()

execmsdb..sp_add_jobstep@job_name=@jobname,

发送处理步骤'

@retry_attempts=5,--重试次数

@retry_interval=5--重试间隔

EXECmsdb..sp_add_jobschedule@job_name=@jobname,

@enabled=1,

@freq_type=1,

@active_start_date=@date,

@active_start_time=@time

--添加目标服务器

EXECmsdb.dbo.sp_add_jobserver

@job_name=@jobname,

@server_name=N'

(local)'

--创建处理的触发器(新增/修改)

createtriggertr_insert_updateonsendTab

forinsert,update

declare@idint

declaretbcursorlocalforselectidfrominserted

opentb

fetchnextfromtbinto@id

while@@fetch_status=0

begin

execp_JobSet@id

end

closetb

deallocatetb

--创建处理的触发器(删除)

createtriggertr_deleteonsendTab

fordelete

declaretbcursorlocalforselectidfromdeleted

execp_JobSet@id,1

--测试

--插入数据

insertsendTab

select'

文书'

2004/5/112:

00'

UnitA'

UnitB'

txt'

unionallselect'

2004/5/1212:

2004/5/2112:

--修改

updatesendTabsetname='

档案'

SendTime='

2004/5/115:

whereid=1

--删除

deletesendtabwhereid=3

--删除测试

droptablesendTab,accepteTab

dropprocp_JobSet

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高中教育 > 小学教育

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2