以可讀格式返回被標(biāo)記為復(fù)制的事務(wù)的命令。只有當(dāng)客戶端連接(包括當(dāng)前連接)沒有從日志中讀取復(fù)制事務(wù)時才能運(yùn)行 sp_replshowcmds。此存儲過程在發(fā)布服務(wù)器的發(fā)布數(shù)據(jù)庫上執(zhí)行。
sp_replshowcmds [ @maxtrans = ] maxtrans
[@maxtrans =] maxtrans
是返回有關(guān)其信息的事務(wù)數(shù)。maxtrans 的數(shù)據(jù)類型為 int,默認(rèn)值為 1,用以指定 sp_replshowcmds 將為其返回信息的事務(wù)掛起復(fù)制的最大數(shù)。
sp_replshowcmds 是一個診斷過程,返回有關(guān)此過程執(zhí)行時所在的發(fā)布數(shù)據(jù)庫的信息。
列名 | 數(shù)據(jù)類型 | 描述 |
---|---|---|
xact_seqno | binary(10) | 命令的序列號。 |
originator_id | int | 命令創(chuàng)建人的 ID,始終為 0。 |
publisher_database_id | int | 發(fā)布服務(wù)器數(shù)據(jù)庫的 ID,始終為 0。 |
article_id | int | 項目的 ID。 |
type | int | 命令的類型。 |
command | nvarchar(1024) | Transact-SQL 命令。 |
sp_replshowcmds 用于事務(wù)復(fù)制。
通過使用 sp_replshowcmds,可以查看當(dāng)前沒有分發(fā)的事務(wù)(保留在事務(wù)日志中尚未發(fā)送到分發(fā)服務(wù)器的事務(wù))。
在同一數(shù)據(jù)庫內(nèi)運(yùn)行 sp_replshowcmds 和 sp_replcmds 的客戶端會收到 18752 號錯誤。
若要避免此錯誤,必須斷開第一個客戶端,或者必須執(zhí)行 sp_replflush 釋放該客戶端作為日志讀取器的角色。在所有客戶端都與日志讀取器斷開連接后,可以成功運(yùn)行 sp_replshowcmds。
說明 只有在解決與復(fù)制有關(guān)的問題時才應(yīng)運(yùn)行 sp_replshowcmds。
只有 sysadmin 固定服務(wù)器角色成員或 db_owner 固定數(shù)據(jù)庫角色成員才能執(zhí)行 sp_replshowcmds。
相關(guān)文章