`
huanghuaibin
  • 浏览: 68294 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

sp_add_job添加由SQLServerAgent 服务执行的新作业

    博客分类:
  • SQL
阅读更多

sp_add_job

添加由 SQLServerAgent 服务执行的新作业。

语法

sp_add_job [ @job_name = ] 'job_name'
    
[ , [ @enabled = ] enabled ]
    [ , [ @description = ] 'description' ]
    [ , [ @start_step_id = ] step_id ]
    [ , [ @category_name = ] 'category' ]
    [ , [ @category_id = ] category_id ]
    [ , [ @owner_login_name = ] 'login' ]
    [ , [ @notify_level_eventlog = ] eventlog_level ]
    [ , [ @notify_level_email = ] email_level ]
    [ , [ @notify_level_netsend = ] netsend_level ]
    [ , [ @notify_level_page = ] page_level ]
    [ , [ @notify_email_operator_name = ] 'email_name' ]
    [ , [ @notify_netsend_operator_name = ] 'netsend_name' ]
    
[ , [ @notify_page_operator_name = ] 'page_name' ]
    [ , [ @delete_level = ] delete_level ]
    [ , [ @job_id = ] job_id OUTPUT ]

参数

[ @job_name = ] 'job_name'

作业的名称。该名称必须唯一,不能包含百分比 (%) 字符。job_name 的数据类型为 sysname,没有默认设置。

[ @enabled = ] enabled

指明所添加的作业的状态。enabled 的数据类型为 tinyint,默认设置为 1(启用)。如果为 0,则不启用作业,也不按照其调度运行该作业;但是可以手工运行该作业。

[ @description = ] 'description'

是作业描述。descriptionnvarchar(512) 类型,其默认值为 NULL。如果省略 description,则使用"无可用的描述"。

[ @start_step_id = ] step_id

该作业所要执行的第一步的标识号。step_id 的数据类型为 int,默认设置为 1。

[ @category_name = ] 'category'

是作业分类。category 的数据类型为 sysname,默认设置为 NULL。

[ @category_id = ] category_id

用来指定作业分类的与语言无关的机制。category_id 的数据类型为 int,默认设置为 NULL。

[ @owner_login_name = ] 'login'

是拥有作业的登录的名称。login 的数据类型为 sysname,默认设置为 NULL,此时可解释为当前的登录名。

[ @notify_level_eventlog = ] eventlog_level

指明何时将该作业的项目放进 Microsoft® Windows NT® 应用程序日志中的值。eventlog_level 的数据类型为 int,可以为下列值之一。

值 描述
0 从不
1 成功后
2(默认值) 失败后
3 始终

 

[ @notify_level_email = ] email_level

用于指明作业完成后何时发送电子邮件的值。email_level 的数据类型为 int,设置为 0,表示成功发送。email_level eventlog_level 使用相同的值。

[ @notify_level_netsend = ] netsend_level

用于指明作业完成后何时发送网络消息的值。netsend_level 的数据类型为 int,默认设置为 0,表示从不发送。netsend_leveleventlog_level 使用相同的值。

[ @notify_level_page = ] page_level

用于指明作业完成后何时发送呼叫的值。page_level 的数据类型为 int,默认设置为 0,表示从不发送。page_level eventlog_level 使用相同的值。

[ @notify_email_operator_name = ] 'email_name'

当达到 email_level 时,电子邮件所发送到的人员的电子邮件名称。email_name 的数据类型为 sysname,默认设置为 NULL。

[ @notify_netsend_operator_name = ] 'netsend_name'

在该作业完成时,将网络消息发送到的操作员的名称。netsend_name 的数据类型为 sysname,默认设置为 NULL。

[ @notify_page_operator_name = ] 'page_name'

该作业完成时要呼叫的人员的名称。page_name 的数据类型为 sysname,默认设置为 NULL。

[ @delete_level = ] delete_level

用于指明何时删除作业的值。delete_value 的数据类型为 int,默认设置为 0,表示从不删除。delete_level eventlog_level 使用相同的值。

<!--NOTE-->

说明  当 delete_level3 时,只执行一次作业,而不管任何为该作业定义的调度如何。而且,如果作业将其自身删除,则该作业的历史也将被删除。

<!--/NOTE-->

 

[ @job_id = ] job_id OUTPUT

指派给成功创建的作业的作业标识号。job_id uniqueidentifer 类型的输出变量,默认设置为 NULL。

返回代码值

0(成功)或 1(失败)

结果集

注释

@originating_server 存在于 sp_add_job 中,但没有列在参数里。保留 @originating_server 用于内部使用。

当执行 sp_add_job 添加完作业后,可使用 sp_add_jobstep 添加执行该作业活动的步骤。sp_add_jobschedule 可用于创建 SQLServerAgent 服务用于执行作业的调度。

SQL Server 企业管理器提供易于使用的图形方法来管理作业,建议使用该方法创建和管理作业基本结构。

权限

执行权限默认授予 public 角色。

示例
A. 添加作业

此示例添加一个名为 NightlyBackups 的新作业。

USE msdb
EXEC sp_add_job @job_name = 'NightlyBackups'
B. 添加带有呼叫程序、电子邮件和网络发送信息的作业

下面的示例创建名为 Ad hoc Sales Data Backup 的作业,该作业通知 janetl(通过寻呼机、电子邮件或网络弹出式消息)作业是否失败,并删除已成功完成的作业。

USE msdb
EXEC sp_add_job @job_name = 'Ad hoc Sales Data Backup', 
   @enabled = 1,
   @description = 'Ad hoc backup of sales data',
   @owner_login_name = 'janet1',
   @notify_level_eventlog = 2,
   @notify_level_email = 2,
   @notify_level_netsend = 2,
   @notify_level_page = 2,
   @notify_email_operator_name = 'janet1',
   @notify_netsend_operator_name = 'janet1', 
   @notify_page_operator_name = 'janet1',
   @delete_level = 1
分享到:
评论

相关推荐

    sql agent sql 代理操作手册

    SQL Server Agent 是一种 Windows 服务,主要负责在 SQL Server 上执行计划任务。这些任务可以包括但不限于备份数据库、执行存储过程或脚本等。由于 SQL Server 的用户权限仅限于 SQL Server 范围内,因此当任务需要...

    sql server自动备份

    - 使用`sp_add_schedule`来定义作业执行的时间表。 - 使用`sp_attach_schedule`将时间表与作业关联起来。 3. **执行备份作业**: - 一旦作业被定义并调度好,它就会按照设定的时间自动运行。 - 可以通过SQL ...

    sql脚本创建job任务调度

    4. **创建作业步骤**:使用`sp_add_jobstep`系统存储过程定义具体的作业步骤,例如执行SQL命令。 ```sql exec msdb..sp_add_jobstep @job_name = @jobname, @step_name = '数据测试', @subsystem = TSQL, @...

    SQLserver定时备份存储过程

    - 在执行任何备份任务之前,必须确保`SQLServerAgent`服务已经启动,否则定时任务将无法执行。 - 需要注意的是,在实际部署中,应考虑备份文件的存放位置、备份文件的命名规则以及备份策略等因素。 - 调度规则中的`@...

    SQL数据库的备份和恢复

    通过`sp_add_job`、`sp_add_jobstep`等存储过程可以创建和配置作业,而`sp_start_job`则用于启动作业执行。 在实践中,了解并熟练掌握这些SQL Server的备份和恢复技术是至关重要的。这包括理解不同的备份类型(完整...

    SQL 系统存储过程用法整理

    - **用途**:添加由SQL Server Agent服务执行的新作业。 - **示例**: ```sql EXEC sp_add_job @job_name = N'MyJob', @enabled = 1; ``` ##### 25. **sp_add_jobschedule** - **用途**:创建作业计划。 - **...

    SqlServer备份源码

    - 在T-SQL脚本中,可以使用`sp_add_job`、`sp_add_schedule`和`sp_attach_schedule`等存储过程创建和调度作业。 6. **备份文件的存储和管理**: - 备份文件应保存在安全、可靠的存储位置,考虑使用网络存储或云...

    p6中的pm登录时提示没有配置数据库以运行后台任务.doc

    脚本涉及到`sp_add_category`,`sp_add_job`和`sp_add_jobstep`等存储过程,用于创建名为"PrimaveraJobs"的分类,删除已存在的同名作业,然后添加新的作业及其执行命令。 4. **故障排查**:如果问题仍然存在,应...

    mssql提权的一些方法.docx

    exec master.dbo.xp_servicecontrol "start", "SQLSERVERAGENT" ``` ##### 3.2 创建和执行作业 1. **删除旧作业**(如果存在)。 2. **添加新作业**。 3. **添加作业步骤**。 4. **添加作业服务器**。 5. **启动...

    在SQL Server和Oracle中创建job

    在SQL Server中,创建job通常通过SQL Server代理服务(SQL Server Agent)来实现。以下是创建job的基本步骤: 1. 首先确保SQL Server代理服务已启动。在服务管理器中,启动"SQL Server Agent (MSSQLServer)"服务。 ...

    vb.net 修改sql作业

    首先,SQL Server中的作业(SQL Agent Job)是一种调度工具,用于执行计划的任务,如备份、数据清理、性能监控等。在VB.NET中,我们可以利用`System.Data.SqlClient`命名空间下的`SqlConnection`、`SqlCommand`等类...

    sqlserver数据库使用存储过程和dbmail实现定时发送邮件

    总结来说,本文主要介绍了如何在SQL Server环境中通过存储过程`sp_send_dbmail`和SQL Server Agent Job来实现定时发送包含数据库查询结果的邮件,这对于监控数据库状态、自动报告异常情况等具有很高的实用价值。

    SQL SERVER数据库的作业的脚本及存储过程

    如果需要添加新的作业,则使用`sp_add_job`创建作业,通过`sp_add_jobserver`来指定作业在哪个服务器上运行。这些操作需要放在事务中,确保操作的原子性。 #### 4. 关键代码解析 - `@isAppendMedia`变量用于控制...

    SqlServer批量备份多个数据库且删除3天前的备份

    - 创建定时作业,可以使用SqlServer Management Studio或T-SQL脚本,通过sp_add_job等存储过程添加作业。 - 在定时作业中,可以指定作业的开始时间、重复频率以及相关的操作命令。 4. 文件删除操作: - 删除旧...

    sqlserver2008自动发送邮件

    3. 在"Steps"选项卡中,创建新的Job步骤,编写Transact-SQL脚本调用`sp_send_dbmail`,并传递相应的参数。 4. 在"Schedule"选项卡中,设置Job的执行计划,如每天、每周或在特定事件触发时执行。 5. 最后,保存并激活...

    vc#发布相关文档-手册

    - 通过SQL Server Agent创建作业来定期执行存储过程,例如: - 每小时执行一次`SP_SynRMSInfo`。 - 每15分钟执行一次`SP_UpdateRMSInfo`。 - 每天零点执行`SP_SyncUser`。 - 每月第一个星期日执行一次`VMS_...

Global site tag (gtag.js) - Google Analytics