共用方式為


sp_replshowcmds (Transact-SQL)

以可讀取格式傳回含複寫標示之交易的命令。只有在用戶端連接 (包括並行連接) 並未從記錄中讀取複寫的交易時,才能執行 sp_replshowcmds。這個預存程序執行於發行集資料庫的發行者端。

主題連結圖示Transact-SQL 語法慣例

語法


sp_replshowcmds [ @maxtrans = ] maxtrans

引數

  • [@maxtrans = ] maxtrans
    這是要傳回相關資訊的交易數目。maxtrans 是 int,預設值是 1,指定 sp_replshowcmds 要傳回資訊的最大交易暫止複寫數目。

結果集

sp_replshowcmds 是一個診斷程序,它會傳回執行時的來源發行集資料庫的相關資訊。

資料行名稱

資料類型

描述

xact_seqno

binary(10)

命令的序號。

originator_id

int

命令發起者的識別碼,一律是 0

publisher_database_id

int

發行者資料庫的識別碼,一律是 0

article_id

int

發行項的識別碼。

type

int

命令的類型。

command

nvarchar(1024)

Transact-SQL 命令。

備註

sp_replshowcmds 用於交易式複寫中。

您可以利用 sp_replshowcmds 來檢視目前尚未散發的交易 (保留在交易記錄中,尚未傳送給散發者的交易)。

在相同資料庫內執行 sp_replshowcmdssp_replcmds 的用戶端會收到錯誤 18752。

若要避免這個錯誤,第一個用戶端必須中斷連接,否則,您必須執行 sp_replflush 來釋出作為記錄讀取器的用戶端角色。在所有用戶端都中斷了記錄讀取器的連接之後,sp_replshowcmds 便能夠順利執行。

[!附註]

您只應為了進行複寫問題的疑難排解,才執行 sp_replshowcmds。

權限

只有系統管理員 (sysadmin) 固定伺服器角色或 db_owner 固定資料庫角色的成員,才能夠執行 sp_replshowcmds