sp_replshowcmds (Transact-SQL)
適用於:SQL Server Azure 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 命令(&C)。 |
備註
sp_replshowcmds
用於事務複製。
使用 sp_replshowcmds
,您可以檢視目前未散發的交易(尚未傳送至散發者的事務歷史記錄中剩餘的交易)。
在相同資料庫內執行 sp_replshowcmds
和 sp_replcmds
的用戶端會收到錯誤 18752。
若要避免此錯誤,第一個客戶端必須中斷連線,否則用戶端的角色必須藉由執行 sp_replflush
來釋放作為記錄讀取器。 在所有客戶端與記錄讀取器中斷連線之後, sp_replshowcmds
即可成功執行。
注意
sp_replshowcmds
應該只執行 以針對復寫問題進行疑難解答。
權限
只有系統管理員固定伺服器角色或db_owner固定資料庫角色的成員才能執行 sp_replshowcmds
。