sp_post_msx_operation (Transact-SQL)

适用范围:SQL Server

将操作(行) sysdownloadlist 插入系统表中,以便目标服务器下载和执行。

Transact-SQL 语法约定

语法

sp_post_msx_operation
    [ @operation = ] 'operation'
    [ , [ @object_type = ] 'object_type' ]
    [ , [ @job_id = ] 'job_id' ]
    [ , [ @specific_target_server = ] N'specific_target_server' ]
    [ , [ @value = ] value ]
    [ , [ @schedule_uid = ] 'schedule_uid' ]
[ ; ]

参数

[ @operation = ] 'operation'

已发布操作的操作类型。 @operation为 varchar(64),没有默认值。 有效操作取决于 @object_type

对象类型 操作
JOB INSERT
UPDATE
DELETE
START
STOP
SERVER RE-ENLIST
DEFECT
SYNC-TIME
SET-POLL
SCHEDULE INSERT
UPDATE
DELETE

[ @object_type = ] 'object_type'

将为其发布操作的对象的类型。 @object_type为 varchar(64),默认值为 JOB. 有效类型为 JOBSERVERSCHEDULE

[ @job_id = ] 'job_id'

应用操作的作业的作业标识号。 @job_id是 uniqueidentifier,默认值为 NULL. 0x00 指示所有作业。 如果@object_typeSERVER,则不需要@job_id

[ @specific_target_server = ] N'specific_target_server'

应用指定操作的目标服务器的名称。 @specific_target_server为 sysname,默认值为 NULL. 如果 指定了@job_id ,但 未指定@specific_target_server ,则会为作业的所有作业服务器发布操作。

[ @value = ] value

以秒为单位的轮询间隔。 @value为 int,默认值为 NULL. 仅当@operationSET-POLL<@operation 时,才指定此参数。

[ @schedule_uid = ] 'schedule_uid'

应用操作的计划的唯一标识符。 @schedule_uid是 uniqueidentifier,默认值为 NULL.

返回代码值

0(成功)或 1(失败)。

结果集

无。

注解

sp_post_msx_operation 必须从 msdb 数据库运行。

sp_post_msx_operation始终可以安全地调用,因为它首先确定当前服务器是否为多服务器Microsoft SQL Server 代理,如果是,则@object_type是否为多服务器作业。

发布操作后,它将显示在 sysdownloadlist 表中。 创建并发布作业后,对该作业的后续更改也必须与目标服务器(TSX)通信。 此步骤也是使用下载列表完成的。

强烈建议在 SQL Server Management Studio 中管理下载列表。 有关详细信息,请参阅 “查看或修改作业”。

权限

若要运行此存储过程,必须向用户授予 sysadmin 固定服务器角色。