sp_post_msx_operation (Transact-SQL)

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

主题链接图标Transact-SQL 语法约定

语法

sp_post_msx_operation
     [ @operation = ] 'operation'
     [ , [ @object_type = ] 'object' ] 
     { , [ @job_id = ] job_id } 
          [ , [ @specific_target_server = ] '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'
    将为其发布操作的对象的类型。有效类型为 JOBSERVER 以及 SCHEDULE。object 的数据类型为 varchar(64),默认值为 JOB

  • [ @job_id =] job_id
    应用操作的作业的作业标识号。job_id 的数据类型为 uniqueidentifier,无默认值。0x00 表示所有作业。如果 object 的数据类型为 SERVER,则不需要 job_id。

  • [ @specific_target_server =] 'target_server'
    应用指定操作的目标服务器的名称。如果已指定 job_id,但是未指定 target_server,则将为该作业的所有作业服务器发布操作。target_server 的数据类型为 nvarchar(30),其默认值为 NULL。

  • [ @value=] value
    以秒为单位的轮询间隔。value 的数据类型为 int,其默认值为 NULL。仅当 operation 的数据类型为 SET-POLL 时才指定此参数。

  • [ @schedule_uid= ] schedule_uid
    应用操作的计划的唯一标识符。schedule_uid 的数据类型为 uniqueidentifier,无默认值。

返回代码值

0(成功)或 1(失败)

结果集

注释

sp_post_msx_operation 必须基于 msdb 数据库运行。

sp_post_msx_operation 总可以安全地调用,因为它首先确定当前服务器是否为多服务器 Microsoft SQL Server 代理。若是,再判断 object是否为多服务器作业。

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

我们强烈建议使用 SQL Server Management Studio 来管理下载列表。有关详细信息,请参阅查看和修改作业

权限

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