Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
van toepassing op:SQL Server
Azure SQL Managed Instance
Retourneert de opdrachten voor transacties die zijn gemarkeerd voor replicatie. Deze opgeslagen procedure wordt uitgevoerd bij Publisher in de publicatiedatabase.
Belangrijk
De sp_replcmds
procedure mag alleen worden uitgevoerd om problemen met replicatie op te lossen.
Transact-SQL syntaxisconventies
Syntaxis
sp_replcmds [ @maxtrans = ] maxtrans
[ ; ]
Argumenten
Belangrijk
Argumenten voor uitgebreide opgeslagen procedures moeten worden ingevoerd in de specifieke volgorde, zoals beschreven in de sectie Syntaxis. Als de parameters niet in de volgorde zijn ingevoerd, treedt er een foutbericht op.
[ @maxtrans = ] maxtrans-
Het aantal transacties waarover informatie moet worden geretourneerd.
@maxtrans is int, met een standaardwaarde van 1
, waarmee de volgende transactie wordt opgegeven die wacht op distributie.
Resultatenset
Kolomnaam | Gegevenstype | Beschrijving |
---|---|---|
article id |
De id van het artikel. | |
partial_command |
bit | Geeft aan of deze opdracht een gedeeltelijke opdracht is. |
command |
varbinary(1024) | De opdrachtwaarde. |
xactid |
binary(10) | Transactie-id. |
xact_seqno |
varbinary(16) | Het transactiereeksnummer. |
publication_id |
De id van de publicatie. | |
command_id |
Id van de opdracht in MSrepl_commands. | |
command_type |
Type opdracht. | |
originator_srvname |
sysname- | Server waar de transactie afkomstig is. |
originator_db |
sysname- | Database waar de transactie vandaan komt. |
pkHash |
Alleen intern gebruik. | |
originator_publication_id |
Id van de publicatie waarvan de transactie afkomstig is. | |
originator_db_version |
Versie van de database waarvan de transactie afkomstig is. | |
originator_lsn |
varbinary(16) | Identificeert het logboekreeksnummer (LSN) voor de opdracht in de oorspronkelijke publicatie. |
Opmerkingen
sp_replcmds
wordt gebruikt door het logboeklezerproces in transactionele replicatie.
Replicatie behandelt de eerste client die sp_replcmds
in een bepaalde database uitvoert als de logboeklezer.
Met deze procedure kunt u opdrachten genereren voor door de eigenaar gekwalificeerde tabellen of de tabelnaam (de standaardinstelling) niet kwalificeren. Door gekwalificeerde tabelnamen toe te voegen, kunnen gegevens uit tabellen die eigendom zijn van een specifieke gebruiker in de ene database, replicatie mogelijk maken van tabellen die eigendom zijn van dezelfde gebruiker in een andere database.
Omdat de tabelnaam in de brondatabase wordt gekwalificeerd door de naam van de eigenaar, moet de eigenaar van de tabel in de doeldatabase dezelfde naam van de eigenaar hebben.
Clients die proberen sp_replcmds
uit te voeren in dezelfde database, krijgen fout 18752 totdat de eerste client wordt verbroken. Nadat de eerste verbinding met de client is verbroken, kan een andere client sp_replcmds
uitvoeren en wordt deze de nieuwe logboeklezer.
Er wordt een waarschuwingsberichtnummer 18759 toegevoegd aan zowel het SQL Server-foutenlogboek als het Microsoft Windows-toepassingslogboek, als sp_replcmds
geen tekstopdracht kan repliceren omdat de tekstpointer niet is opgehaald in dezelfde transactie.
Machtigingen
Alleen leden van de sysadmin vaste serverfunctie of de db_owner vaste databaserol kunnen sp_replcmds
uitvoeren.
Verwante inhoud
- foutberichten
- sp_repldone (Transact-SQL)
- sp_replflush (Transact-SQL)
- sp_repltrans (Transact-SQL)
- systeem opgeslagen procedures (Transact-SQL)