Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
azure SQL Managed Instance
Vrátí příkazy pro transakce označené pro replikaci. Tato uložená procedura se spustí v Publisheru v databázi publikace.
Důležitý
Postup sp_replcmds by se měl spustit jenom pro řešení potíží s replikací.
Syntax
sp_replcmds [ @maxtrans = ] maxtrans
[ ; ]
Argumenty
Důležitý
Argumenty rozšířených uložených procedur musí být zadány v určitém pořadí, jak je popsáno v části Syntaxe. Pokud jsou parametry zadány mimo pořadí, dojde k chybové zprávě.
[ @maxtrans = ] maxtrans
Počet transakcí, o které se mají vrátit informace.
@maxtrans je int, s výchozí hodnotou 1, která určuje další transakci čekající na distribuci.
Sada výsledků
| Název sloupce | Datový typ | Popis |
|---|---|---|
article id |
int | ID článku. |
partial_command |
bitová | Určuje, jestli je tento příkaz částečným příkazem. |
command |
varbinary(1024) | Hodnota příkazu. |
xactid |
binární(10) | ID transakce. |
xact_seqno |
varbinary(16) | Pořadové číslo transakce. |
publication_id |
int | ID publikace. |
command_id |
int | ID příkazu v MSrepl_commands. |
command_type |
int | Typ příkazu |
originator_srvname |
sysname | Server, kde transakce pochází. |
originator_db |
sysname | Databáze, kde transakce pochází. |
pkHash |
int | Pouze interní použití. |
originator_publication_id |
int | ID publikace, kde transakce pochází. |
originator_db_version |
int | Verze databáze, kde transakce pochází. |
originator_lsn |
varbinary(16) | Identifikuje pořadové číslo protokolu (LSN) pro příkaz v původní publikaci. |
Poznámky
sp_replcmds používá proces čtečky protokolů v transakční replikaci.
Replikace zachází s prvním klientem, který běží sp_replcmds v dané databázi jako se čtečkou protokolů.
Tento postup může generovat příkazy pro tabulky kvalifikované vlastníkem nebo nekvalifikovat název tabulky (výchozí). Přidání kvalifikovaných názvů tabulek umožňuje replikaci dat z tabulek vlastněných konkrétním uživatelem v jedné databázi do tabulek vlastněných stejným uživatelem v jiné databázi.
Protože název tabulky ve zdrojové databázi je kvalifikovaný podle názvu vlastníka, vlastník tabulky v cílové databázi musí být stejný název vlastníka.
Klienti, kteří se pokusí spustit sp_replcmds ve stejné databázi, se zobrazí chyba 18752, dokud se první klient neodpojí. Po odpojení prvního klienta může jiný klient spustit sp_replcmdsa stane se novou čtečkou protokolu.
Do protokolu chyb SYSTÉMU SQL Server i do protokolu aplikací systému Microsoft Windows se přidá zpráva s upozorněním číslo 18759, pokud sp_replcmds nemůže replikovat textový příkaz, protože textový ukazatel nebyl načten ve stejné transakci.
Dovolení
sp_replcmdsmohou provádět pouze členové pevné role serveru správce systému nebo db_owner pevné databázové role .
Související obsah
- chybové zprávy
- sp_repldone (Transact-SQL)
- sp_replflush (Transact-SQL)
- sp_repltrans (Transact-SQL)
- uložené procedury systému (Transact-SQL)