sys.sp_replshowcmds (Transact-SQL)

Platí na:SQL ServerAzureSQL Managed Instance

Vrátí příkazy pro transakce označené pro replikaci ve čitelném formátu. sp_replshowcmds lze jej spustit pouze tehdy, když klientská připojení (včetně aktuálního připojení) nečtou replikované transakce z logu. Tato uložená procedura se spustí v Publisheru v databázi publikace.

Transact-SQL konvence syntaxe

Syntax

sys.sp_replshowcmds [ [ @maxtrans = ] maxtrans ]
[ ; ]

Arguments

[ @maxtrans = ] maxtrans

Počet transakcí, o kterých je třeba vrátit informace. @maxtrans je int, s výchozím nastavením 1, které určuje maximální počet transakcí čekajících na replikaci, pro které sp_replshowcmds vrací informace.

Sada výsledků

sp_replshowcmds je diagnostický postup, který vrací informace o databázi publikací, ze které je vykonán.

Název sloupce Datový typ Description
xact_seqno binary(10) Pořadové číslo příkazu.
originator_id int ID iniciátora příkazu, vždy 0.
publisher_database_id int ID databáze Publisher, vždy.0
article_id int ID článku.
type int Typ příkazu.
command nvarchar(1024) Transact-SQL velení.

Remarks

sp_replshowcmds se používá v transakční replikaci.

Pomocí sp_replshowcmds, můžete zobrazit transakce, které momentálně nejsou distribuovány (ty, které zůstaly v transakčním logu a ještě nebyly odeslány distributorovi).

Klienti, kteří běží sp_replshowcmds a sp_replcmds jsou ve stejné databázi, obdrží chybu 18752.

Aby se této chybě předešelo, musí se první klient odpojit, nebo musí být role klienta jako čtečky logů uvolněna vykonáním .sp_replflush Po odpojení všech klientů od čtečky logů lze sp_replshowcmds úspěšně spustit.

Note

sp_replshowcmds Mělo by se spouštět pouze k řešení problémů s replikací.

Permissions

Pouze členové role pevného správce systému nebo role db_owner pevné databáze mohou vykonávat sp_replshowcmds.