分享方式:


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

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,預設值為 NULL0x00 表示所有作業。 如果 @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,才指定此參數。

[ @schedule_uid = ] 'schedule_uid'

作業套用之排程的唯一標識符。 @schedule_uid為 uniqueidentifier,預設值為 NULL

傳回碼值

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

結果集

無。

備註

sp_post_msx_operation 必須從 msdb 資料庫執行。

sp_post_msx_operation一律可以安全地呼叫,因為它會先判斷目前伺服器是否為多伺服器Microsoft SQL Server Agent,如果是的話,@object_type是否為多伺服器作業。

在張貼作業之後,它會出現在數據表中 sysdownloadlist 。 建立並張貼作業之後,該作業的後續變更也必須與目標伺服器 (TSX) 通訊。 此步驟也會使用下載清單來完成。

強烈建議您在 SQL Server Management Studio 中管理下載清單。 如需詳細資訊,請參閱 檢視或修改作業

權限

若要執行此預存程式,用戶必須獲授與 系統管理員 固定伺服器角色。