Megosztás a következőn keresztül:


sp_replcmds (Transact-SQL)

A következőkre vonatkozik:SQL ServerFelügyelt Azure SQL-példány

A replikációra megjelölt tranzakciók parancsait adja vissza. Ezt a tárolt eljárást a publisher a közzétételi adatbázisban hajtja végre.

Fontos

A sp_replcmds eljárást csak a replikációval kapcsolatos problémák elhárításához kell futtatni.

Transact-SQL szintaxis konvenciói

Szintaxis

sp_replcmds [ @maxtrans = ] maxtrans
[ ; ]

Érvek

Fontos

A kiterjesztett tárolt eljárások argumentumait a Szintaxis szakaszban leírt sorrendben kell megadni. Ha a paraméterek sorrenden kívül vannak beírva, hibaüzenet jelenik meg.

[ @maxtrans = ] maxtrans

A tranzakciók száma, amelyről adatokat szeretne visszaadni. @maxtransint, a 1alapértelmezett beállításával, amely a következő terjesztésre váró tranzakciót adja meg.

Eredményhalmaz

Oszlop neve Adattípus Leírás
article id A cikk azonosítója.
partial_command bit Azt jelzi, hogy ez a parancs részleges-e.
command varbinary(1024) A parancs értéke.
xactid bináris(10) Tranzakcióazonosító.
xact_seqno varbinary(16) A tranzakciósorozat száma.
publication_id A kiadvány azonosítója.
command_id A parancs azonosítója a MSrepl_commands.
command_type Parancs típusa.
originator_srvname sysname Kiszolgáló, ahonnan a tranzakció származik.
originator_db sysname Adatbázis, ahonnan a tranzakció származik.
pkHash Csak belső használatra.
originator_publication_id Annak a kiadványnak az azonosítója, ahonnan a tranzakció származik.
originator_db_version Annak az adatbázisnak a verziója, amelyből a tranzakció származik.
originator_lsn varbinary(16) Azonosítja a parancs naplóütemezési számát (LSN) az eredeti kiadványban.

Megjegyzések

sp_replcmds a naplóolvasó folyamat használja a tranzakciós replikációban.

A replikáció naplóolvasóként kezeli az első ügyfelet, amely egy adott adatbázisban futtat sp_replcmds.

Ez az eljárás parancsokat hozhat létre a tulajdonos által minősített táblákhoz, vagy nem felel meg a táblanévnek (az alapértelmezettnek). Minősített táblanevek hozzáadása lehetővé teszi az adatok replikálását egy adott felhasználó tulajdonában lévő táblákból egy másik adatbázisban lévő, ugyanazon felhasználó tulajdonában lévő táblákba.

Mivel a forrásadatbázis táblanevét a tulajdonos neve minősíti, a céladatbázisban lévő tábla tulajdonosának ugyanazzal a tulajdonosnévvel kell rendelkeznie.

Azok az ügyfelek, akik ugyanazon az adatbázison belül próbálnak sp_replcmds futtatni, az 18752-s hibaüzenetet kapják, amíg az első ügyfél le nem választ. Az első ügyfél leválasztása után egy másik ügyfél futtathatja sp_replcmds, és az új naplóolvasóvá válik.

Egy 18759-es figyelmeztető üzenet jelenik meg az SQL Server hibanaplójában és a Microsoft Windows-alkalmazásnaplóban is, ha sp_replcmds nem tudja replikálni a szöveges parancsot, mert a szövegmutató nem ugyanabban a tranzakcióban lett beolvasva.

Engedélyek

Csak a sysadmin rögzített kiszolgálói szerepkör vagy a db_owner rögzített adatbázis-szerepkör tagjai hajthatnak végre sp_replcmds.