MSSQL_ENG021798

Meldungsdetails

Produktname

SQL Server

Produktversion

10.50

Buildnummer des Produkts

 

Ereignis-ID

21798

Ereignisquelle

MSSQLSERVER

Komponentenbezeichnung

SQL Server Database Engine (Datenbankmodul)

Symbolischer Name

Meldungstext

Der %1!s!-Agent-Auftrag muss vor dem Fortsetzen des Vorgangs über '%2!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 aus. Das Sicherheitsmodell wurde in SQL Server 2005 geändert, daher müssen die Skripts aktualisiert werden.

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

  • Die gespeicherte Prozedur sp_addpublication wird vor sp_addqreader_agent (Transact-SQL) ausgeführt. Dies gilt für Transaktionsveröffentlichungen, für die Abonnements mit verzögerter Aktualisierung ü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 Sicherheitsmodell des Replikations-Agents.

Benutzeraktion

Stellen Sie sicher, dass Sie die Prozeduren in der richtigen Reihenfolge ausführen. Weitere Informationen finden Sie unter Vorgehensweise: Erstellen einer Veröffentlichung (Replikationsprogrammierung mit Transact-SQL). Wenn Sie Replikationsskripts aus vorherigen Versionen von SQL Server übernehmen, aktualisieren Sie diese Skripts, sodass sie die für SQL Server 2005 und spätere Versionen erforderlichen gespeicherten Prozeduren und Parameter enthalten. Weitere Informationen finden Sie unter Vorgehensweise: Aktualisieren von Replikationsskripts (Replikationsprogrammierung mit Transact-SQL).