sp_replshowcmds (Transact-SQL)

適用於:SQL Server Azure 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 命令(&C)。

備註

sp_replshowcmds 用於事務複製。

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

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

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

注意

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

權限

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