zoukankan
html css js c++ java
学习在Sql Server中如何通过SQL语句创建Job
在程序中有用到
让用户自定义一些定时执行的提醒或工作任务
所以可能需要用到SQLServer相关创建的Job
因目前不熟作业创建的SQL语句
所以就
1.通过企业管理器的管理处作业的向导
直接建立一个作业
2.查看该作业的SQL语句
相关SQL语句如下
--
2007-8-16/14:58 上生成的脚本
--
由: sa
--
服务器: 192.168.0.36
BEGIN
TRANSACTION
DECLARE
@JobID
BINARY
(
16
)
DECLARE
@ReturnCode
INT
SELECT
@ReturnCode
=
0
IF
(
SELECT
COUNT
(
*
)
FROM
msdb.dbo.syscategories
WHERE
name
=
N
'
[Uncategorized (Local)]
'
)
<
1
EXECUTE
msdb.dbo.sp_add_category
@name
=
N
'
[Uncategorized (Local)]
'
--
删除同名的警报(如果有的话)。
SELECT
@JobID
=
job_id
FROM
msdb.dbo.sysjobs
WHERE
(name
=
N
'
WriteMsgOnTime
'
)
IF
(
@JobID
IS
NOT
NULL
)
BEGIN
--
检查此作业是否为多重服务器作业
IF
(
EXISTS
(
SELECT
*
FROM
msdb.dbo.sysjobservers
WHERE
(job_id
=
@JobID
)
AND
(server_id
<>
0
)))
BEGIN
--
已经存在,因而终止脚本
RAISERROR
(N
'
无法导入作业“WriteMsgOnTime”,因为已经有相同名称的多重服务器作业。
'
,
16
,
1
)
GOTO
QuitWithRollback
END
ELSE
--
删除[本地]作业
EXECUTE
msdb.dbo.sp_delete_job
@job_name
=
N
'
WriteMsgOnTime
'
SELECT
@JobID
=
NULL
END
BEGIN
--
添加作业
EXECUTE
@ReturnCode
=
msdb.dbo.sp_add_job
@job_id
=
@JobID
OUTPUT ,
@job_name
=
N
'
WriteMsgOnTime
'
,
@owner_login_name
=
N
'
sa
'
,
@description
=
N
'
没有可用的描述。
'
,
@category_name
=
N
'
[Uncategorized (Local)]
'
,
@enabled
=
1
,
@notify_level_email
=
0
,
@notify_level_page
=
0
,
@notify_level_netsend
=
0
,
@notify_level_eventlog
=
2
,
@delete_level
=
0
IF
(
@@ERROR
<>
0
OR
@ReturnCode
<>
0
)
GOTO
QuitWithRollback
--
添加作业步骤
EXECUTE
@ReturnCode
=
msdb.dbo.sp_add_jobstep
@job_id
=
@JobID
,
@step_id
=
1
,
@step_name
=
N
'
WriteMsg
'
,
@command
=
N
'
INSERT INTO Msg(MsgToUser, MsgTitle, MsgContent ,MsgDateTime )
VALUES(
''
张三
''
,
''
注意休息
''
,
''
需要定时休息一下啊
''
,GETDATE() )
'
,
@database_name
=
N
'
TestDB
'
,
@server
=
N
''
,
@database_user_name
=
N
''
,
@subsystem
=
N
'
TSQL
'
,
@cmdexec_success_code
=
0
,
@flags
=
0
,
@retry_attempts
=
0
,
@retry_interval
=
1
,
@output_file_name
=
N
''
,
@on_success_step_id
=
0
,
@on_success_action
=
1
,
@on_fail_step_id
=
0
,
@on_fail_action
=
2
IF
(
@@ERROR
<>
0
OR
@ReturnCode
<>
0
)
GOTO
QuitWithRollback
EXECUTE
@ReturnCode
=
msdb.dbo.sp_update_job
@job_id
=
@JobID
,
@start_step_id
=
1
IF
(
@@ERROR
<>
0
OR
@ReturnCode
<>
0
)
GOTO
QuitWithRollback
--
添加作业调度
EXECUTE
@ReturnCode
=
msdb.dbo.sp_add_jobschedule
@job_id
=
@JobID
,
@name
=
N
'
5min
'
,
@enabled
=
1
,
@freq_type
=
4
,
@active_start_date
=
20070816
,
@active_start_time
=
0
,
@freq_interval
=
1
,
@freq_subday_type
=
4
,
@freq_subday_interval
=
5
,
@freq_relative_interval
=
0
,
@freq_recurrence_factor
=
0
,
@active_end_date
=
20070816
,
@active_end_time
=
235959
IF
(
@@ERROR
<>
0
OR
@ReturnCode
<>
0
)
GOTO
QuitWithRollback
--
添加目标服务器
EXECUTE
@ReturnCode
=
msdb.dbo.sp_add_jobserver
@job_id
=
@JobID
,
@server_name
=
N
'
(local)
'
IF
(
@@ERROR
<>
0
OR
@ReturnCode
<>
0
)
GOTO
QuitWithRollback
END
COMMIT
TRANSACTION
GOTO
EndSave
QuitWithRollback:
IF
(
@@TRANCOUNT
>
0
)
ROLLBACK
TRANSACTION
EndSave:
查看全文
相关阅读:
11个Linux基础面试问题
OSI模型
戴文的Linux内核专题:10配置内核(6)
面向对象实验四(输入输出流)
计算机程序的思维逻辑 (2)
计算机程序的思维逻辑 (1)
java基础3.0:Java常用API
java基础2.0:Object、Class、克隆、异常编程
java基础1.0::Java面向对象、面向对象封装、抽象类、接口、static、final
Ajax工作原理(转)
原文地址:https://www.cnblogs.com/freeliver54/p/858214.html
最新文章
(转)最强Android模拟器genymotion的安装与配置
Android学习----Android Studio 技巧汇总
Android学习----Activity
Android学习----ADB
Android学习----AndroidManifest.xml文件解析
Android学习----Android架构
Android学习----发行版本
Java简介(4)-关键字
Java简介(3)-基本语法
sql 基础查询集锦
热门文章
MYSQL远程登录权限设置
java中集合的扩容
反射 Reflect
常用类及其常用方法
Rhel6-mailsystem配置文档
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
Linux的三种特殊权限
复数计算器
活期储蓄账目管理系统
Linux面试基础题-2
Copyright © 2011-2022 走看看