sp_replshowcmds (Transact-SQL)

適用於:SQL ServerAzure SQL 受控執行個體

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

Transact-SQL 語法慣例

語法

  
sp_replshowcmds [ @maxtrans = ] maxtrans  

引數

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

結果集

sp_replshowcmds是一種診斷程式,會傳回執行發行集資料庫的相關信息。

資料行名稱 資料類型 描述
xact_seqno binary(10) 命令的序號。
originator_id int 命令原始程式標識碼,一律 為 0
publisher_database_id int 發行者資料庫的標識碼,一律 為 0
article_id int 發行項的標識碼。
type int 命令的類型。
命令 nvarchar(1024) Transact-SQL 命令(&C)。

備註

sp_replshowcmds用於事務複製。

使用 sp_replshowcmds,您可以檢視目前未散發的交易(尚未傳送至散發者的事務歷史記錄中剩餘的交易)。

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

若要避免此錯誤,第一個客戶端必須中斷連線,否則用戶端的角色必須藉由執行 sp_replflush來釋放。 所有用戶端都與記錄讀取器中斷連線之後, sp_replshowcmds即可順利執行。

注意

sp_replshowcmds應該只執行,以針對復寫問題進行疑難解答。

權限

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

另請參閱

錯誤訊息
sp_replcmds (Transact-SQL)
sp_repldone (Transact-SQL)
sp_replflush (Transact-SQL)
sp_repltrans (Transact-SQL)
系統預存程序 (Transact-SQL)