MSSQL_ENG021798

Gilt für:SQL ServerAzure SQL Managed Instance

Meldungsdetails

attribute Wert
Produktname SQL Server
Ereignis-ID 21798
Ereignisquelle MSSQLSERVER
Komponente SQL Server-Datenbank-Engine
Symbolischer Name
Meldungstext Der '%s'-Agent-Auftrag muss vor dem Fortsetzen des Vorgangs über '%s' hinzugefügt werden. Lesen Sie die Dokumentation zu '%3!s!'.

Erklärung

Um eine Veröffentlichung erstellen zu können, müssen Sie ein Mitglied der festen Serverrolle sysadmin auf dem Verleger oder ein Mitglied der festen Datenbankrolle db_owner in der Veröffentlichungsdatenbank sein. Wenn Sie ein Mitglied der db_owner -Rolle sind, wird dieser Fehler in folgenden Situationen ausgelöst:

  • Sie führen Skripts von SQL Server 2000 (8.x)aus. Das Sicherheitsmodell wurde in SQL Server 2005 (9.x)geändert, daher müssen die Skripts aktualisiert werden.

  • Die gespeicherte Prozedur sp_addpublication wird ausgeführt, bevor sp_addlogreader_agent (Transact-SQL) ausgeführt wird. Dies gilt für alle Transaktionsveröffentlichungen.

  • Die gespeicherte Prozedur sp_addpublication wird vor der Ausführung sp_addqreader_agent (Transact-SQL) ausgeführt. Dies gilt für Transaktionsveröffentlichungen, für die Abonnements mit verzögertem Update über eine Warteschlange aktiviert sind (d. h., für den @allow_queued_tran-Parameter von sp_addpublication ist der Wert TRUE ausgewählt).

Die gespeicherten Prozeduren sp_addlogreader_agent und sp_addqreader_agent erstellen jeweils einen Agentauftrag und ermöglichen Ihnen, das Microsoft Windows-Konto anzugeben, unter dem der Agent ausgeführt wird. Für Benutzer, die die Rolle sysadmin besitzen, werden Agentaufträge implizit erstellt, wenn sp_addlogreader_agent und sp_addqreader_agent nicht ausgeführt werden. Die Agents werden im Kontext des SQL Server -Agent-Dienstkontos auf dem Verteiler ausgeführt. Obwohl sp_addlogreader_agent und sp_addqreader_agent für Benutzer in der sysadmin -Rolle nicht erforderlich sind, empfiehlt sich als bewährte Sicherheitsmethode, ein separates Konto für die Agents anzugeben. Weitere Informationen finden Sie unter Replication Agent Security Model.

Benutzeraktion

Stellen Sie sicher, dass Sie die Prozeduren in der richtigen Reihenfolge ausführen. Weitere Informationen finden Sie unter Create a Publication. Wenn Sie Replikationsskripts aus vorherigen Versionen von SQL Serverübernehmen, aktualisieren Sie diese Skripts, sodass sie die für SQL Server 2005 (9.x) und spätere Versionen erforderlichen gespeicherten Prozeduren und Parameter enthalten. Weitere Informationen finden Sie unter Upgrade von Replikationsskripts (Replikationsprogrammierung mit Transact-SQL).

Weitere Informationen

Fehler- und Ereignisreferenz (Replikation)