向系统表 sysdownloadlist 中插入操作(行),以供目标服务器下载和执行。
sp_post_msx_operation [ @operation = ] 'operation'
[ , [ @object_type = ] 'object' ]
{ , [ @job_id = ] job_id }
[ , [ @specific_target_server = ] 'target_server' ]
[ , [ @value = ] value ]
[@operation =] 'operation'
是被发布操作的操作类型。operation 的数据类型为 varchar(64),无默认值。有效的操作取决于 object_type。
对象类型 | 操作 |
---|---|
JOB | INSERT UPDATE DELETE START STOP |
SERVER | RE-ENLIST DEFECT SYNC-TIME SET-POLL |
[@object_type =] 'object'
是为之发布操作的对象的类型。有效的类型是 JOB 和 SERVER。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 类型时,才指定此参数。
0(成功)或 1(失败)
无
sp_post_msx_operation 必须从 msdb 数据库中运行。
sp_post_msx_operation 总可以安全地调用,因为它首先确定当前服务器是否为多服务器 SQL Server 代理,若是,再判断 object 是否为多服务器作业。
操作发布后,将记录在表 sysdownloadlist 中。创建并发布作业后,对该作业的后续更改也必须通知目标服务器 (TSX)。这也是用下载列表完成的。
建议最好用 SQL Server 企业管理器来管理下载列表。有关更多信息,请参见修改及查看作业。
任何人均可执行此过程,但是只有 sysadmin 固定服务器角色的成员执行此过程才会有作用。
相关文章