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