MSSQL_ENG018752

Meldungsdetails

Produktname

SQL Server

Produktversion

10.50

Buildnummer des Produkts

 

Ereignis-ID

18752

Ereignisquelle

MSSQLSERVER

Komponentenbezeichnung

SQL Server Database Engine (Datenbankmodul)

Symbolischer Name

Meldungstext

Nur jeweils ein Protokolllese-Agent oder eine protokollbezogene Prozedur ('sp_repldone', 'sp_replcmds' oder 'sp_replshowcmds') kann eine Verbindung mit einer Datenbank herstellen. Falls Sie eine protokollbezogene Prozedur ausgeführt haben, löschen Sie vor dem Starten des Protokolllese-Agents oder dem Ausführen einer weiteren protokollbezogenen Prozedur die Verbindung, über die sie ausgeführt wurde, oder führen Sie 'sp_replflush' über diese Verbindung aus.

Erklärung

Mehrere aktuelle Verbindungen versuchen, sp_repldone, sp_replcmds oder sp_replshowcmds auszuführen. Die gespeicherten Prozeduren sp_repldone (Transact-SQL) und sp_replcmds (Transact-SQL) werden vom Protokolllese-Agent verwendet, um Informationen zu replizierten Transaktionen in einer veröffentlichten Datenbank zu finden und zu aktualisieren. Die gespeicherte sp_replshowcmds (Transact-SQL)-Prozedur wird für die Behandlung bestimmter Probleme einer Transaktionsreplikation verwendet.

Dieser Fehler wird in folgenden Situationen ausgelöst:

  • Wenn der Protokolllese-Agent für eine veröffentlichte Datenbank ausgeführt und versucht wird, einen zweiten Protokolllese-Agent für dieselbe Datenbank auszuführen, wird der Fehler für den zweiten Agent ausgelöst und im Agentverlauf angezeigt.

    In einer Situation, in der offenbar mehrere Agents vorhanden sind, kann es sein, dass einer dieser Agents das Ergebnis eines verwaisten Prozesses ist.

  • Wenn der Protokolllese-Agent für eine veröffentlichte Datenbank gestartet wird und ein Benutzer sp_repldone, sp_replcmds oder sp_replshowcmds für dieselbe Datenbank ausführt, wird der Fehler in der Anwendung ausgelöst, in der die gespeicherte Prozedur ausgeführt wurde (z. B. sqlcmd).

  • Wenn für eine veröffentlichte Datenbank kein Protokolllese-Agent ausgeführt wird und ein Benutzer sp_repldone, sp_replcmds oder sp_replshowcmds ausführt, ohne anschließend die Verbindung zu schließen, über die die Prozedur ausgeführt wurde, wird der Fehler ausgelöst, wenn der Protokolllese-Agent versucht, eine Verbindung mit der Datenbank herzustellen.

Benutzeraktion

Folgende Schritte können Ihnen bei der Problembehandlung behilflich sein. Wenn der Protokolllese-Agent in einem beliebigen Schritt ohne Fehler gestartet werden kann, müssen die verbleibenden Schritte nicht mehr ausgeführt werden.