sp_replshowcmds (Transact-SQL)
以可讀取格式傳回含複寫標示之交易的命令。只有在用戶端連接 (包括並行連接) 並未從記錄中讀取複寫的交易時,才能執行 sp_replshowcmds。這個預存程序執行於發行集資料庫的發行者端。
語法
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_replshowcmds 和 sp_replcmds 的用戶端會收到錯誤 18752。
若要避免這個錯誤,第一個用戶端必須中斷連接,否則,您必須執行 sp_replflush 來釋出作為記錄讀取器的用戶端角色。在所有用戶端都中斷了記錄讀取器的連接之後,sp_replshowcmds 便能夠順利執行。
[!附註]
您只應為了進行複寫問題的疑難排解,才執行 sp_replshowcmds。
權限
只有系統管理員 (sysadmin) 固定伺服器角色或 db_owner 固定資料庫角色的成員,才能夠執行 sp_replshowcmds。