MSSQLSERVER_21879

Gilt für:SQL Server

Details

attribute Wert
Produktname SQL Server
Ereignis-ID 21879
Ereignisquelle MSSQLSERVER
Komponente SQLEngine
Symbolischer Name SQLErrorNum21879
Meldungstext Der umgeleitete Server '%s' kann nicht nach dem ursprünglichen Verleger '%s' und der Verlegerdatenbank '%s' abgefragt werden, um den Namen des Remoteservers zu bestimmen; Fehler %d, Fehlermeldung '%s.'

Erklärung

sp_validate_redirected_publisher verwendet einen temporären Verbindungsserver, der erstellt wird, um eine Verbindung mit dem umgeleiteten Verleger herzustellen und den Namen des Remoteservers zu ermitteln. Fehler 21879 wird zurückgegeben, wenn die Verbindungsserverabfrage fehlschlägt. In dem Aufruf, mit dem der Remoteservername angefordert wird, wird der temporäre Verbindungsserver in der Regel zum ersten Mal verwendet. Wenn Verbindungsprobleme vorliegen, ist es daher wahrscheinlich, dass diese zuerst in diesem Aufruf augenscheinlich werden. Dieser Remoteaufruf führt einfach @@servername auf dem Remoteserver aus.

Für den Verbindungsserver, der zum Abfragen des umgeleiteten Verlegers verwendet wird, werden der Sicherheitsmodus, die Anmeldung und das Kennwort verwendet, die beim Aufruf von sp_adddistpublisher für den ursprünglichen Verleger angegeben wurden.

  • Wenn SQL Server Authentifizierung verwendet wurde (Sicherheitsmodus 0), werden der angegebene Anmeldenamen und das angegebene Kennwort verwendet, um eine Verbindung mit dem Remoteserver herzustellen.

  • Wurde die Windows-Authentifizierung (Sicherheitsmodus 1) verwendet, dann wird eine vertrauenswürdige Verbindung zum Herstellen der Verbindung genutzt.

    • Wenn sp_validate_redirected_publisher explizit von einem Benutzer aufgerufen wird, wird die Windows-Anmeldung, unter der der Benutzer Windows ausführt, für die Verbindung verwendet.

    • Wenn sp_validate_redirected_ publisher von einem Replikations-Agent von sp_get_redirected_publisher aufgerufen wird, wird die dem Agent zugeordnete Windows-Anmeldung verwendet.

Fehler 21879 kann darauf hinweisen, dass sp_validate_redirected_publisher mit einer Anmeldung aufgerufen wurde, die beim umgeleiteten Zielverleger nicht bekannt ist.

Benutzeraktion

Stellen Sie sicher, dass die SQL Server-Authentifizierungsanmeldung oder die Windows-Authentifizierung-Anmeldung für alle Verfügbarkeitsgruppenreplikate gültig ist und über eine ausreichende Autorisierung für den Zugriff auf die Abonnementmetadatentabellen (syssubscriptions und sysmergesubscriptions) in der Herausgeberdatenbank verfügt.

Es sind einige besondere Dinge zu beachten, wenn der Fehler 21879 von einem Aufruf von sp_get_redirected_publisher zurückgegeben wird, der von einem Replikations-Agent initiiert worden ist, der auf einem anderen Knoten als dem Verteiler ausgeführt wird; z.B. einem Merge-Agent, der auf einem Abonnenten läuft. Wenn Windows-Authentifizierung für die Verbindung mit dem umgeleiteten Herausgeber verwendet wird, muss SQL Server für die Kerberos-Authentifizierung konfiguriert werden, damit die Verbindung erfolgreich hergestellt werden kann. Wenn Windows-Authentifizierung verwendet wird und SQL Server nicht für die Kerberos-Authentifizierung konfiguriert ist, wird der Fehler 18456, der angibt, dass die Anmeldung "NT AUTHORITY\ANONYMOUS LOGON" fehlgeschlagen ist, von einem Merge-Agent empfangen, der bei einem Abonnenten ausgeführt wird. Dieses Problem kann auf drei Arten behandelt werden:

  • Konfigurieren Sie SQL Server für die Kerberos-Authentifizierung. Weitere Informationen finden Sie unter Kerberos-Authentifizierung und SQL Server in SQL Server Onlinedokumentation.

  • Verwenden Sie sp_changedistpublisher, um den dem ursprünglichen Verleger in MSdistpublishers zugeordneten Sicherheitsmodus zu ändern sowie um eine Anmeldung und ein Kennwort anzugeben, die für die Verbindung verwendet werden sollen.

  • Geben Sie den Befehlszeilenparameter BypassPublisherValidation in der Merge-Agent-Befehlszeile an, um die Überprüfung zu umgehen, wenn sp_get_redirected_publisher beim Verteiler aufgerufen wird.