MSSQLSERVER_18483

Gilt für:SQL Server

Details

attribute Wert
Produktname SQL Server
Ereignis-ID 18483
Ereignisquelle MSSQLSERVER
Komponente SQLEngine
Symbolischer Name REMLOGIN_INVALID_USER
Meldungstext Zum Server "%.ls" konnte keine Verbindung hergestellt werden, weil "%. ls" nicht für die Remoteanmeldung auf dem Server definiert ist. Überprüfen Sie, ob Sie den richtigen Anmeldenamen angegeben haben. %.*ls.

Erklärung

Dieser Fehler tritt auf, wenn Sie versuchen, einen Replikationsverteiler auf einem System zu konfigurieren, das mit dem Festplattenimage eines anderen Computers wiederhergestellt wurde, auf dem die SQL-Instanz ursprünglich installiert war. Dem Benutzer wird eine Fehlermeldung angezeigt, die der folgenden ähnelt:

SQL Server Management Studio konnte nicht konfiguriert werden.< Serverinstanz><>" als Verteiler für "<Serverinstanz><>" . Fehler 18483: Es konnte keine Verbindung mit dem Server "<Serverinstanz><>" hergestellt werden, da "distributor_admin" nicht als Remoteanmeldung auf dem Server definiert ist. Überprüfen Sie, ob Sie den richtigen Anmeldenamen angegeben haben. %.*ls.

Ursache

Wenn Sie SQL Server von einem Festplattenimage eines anderen Computers bereitstellen, auf dem SQL Server installiert ist, wird der Netzwerkname des Computers, von dem das Image stammt, in der neuen Installation beibehalten. Der falsche Netzwerkname führt dazu, dass die Konfiguration des Replikationsverteilers fehlschlägt. Das gleiche Problem tritt auf, wenn Sie den Computer nach der Installation von SQL Server umbenennen.

Benutzeraktion

Um dieses Problem zu umgehen, ersetzen Sie den SQL Server-Servernamen durch den korrekten Netzwerknamen des Computers. Gehen Sie dazu folgendermaßen vor:

  1. Melden Sie sich bei dem Computer an, auf dem Sie SQL Server aus dem Datenträgerimage bereitgestellt haben, und führen Sie dann die folgende Transact-SQL-Anweisung in SSMS aus:

    -- Use the Master database
    USE master
    GO
    
    -- Declare local variables
    DECLARE @serverproperty_servername varchar(100),
    @servername varchar(100);
    
    -- Get the value returned by the SERVERPROPERTY system function
    SELECT @serverproperty_servername = CONVERT(varchar(100), SERVERPROPERTY('ServerName'));
    
    -- Get the value returned by @@SERVERNAME global variable
    SELECT @servername = CONVERT(varchar(100), @@SERVERNAME);
    
    -- Drop the server with incorrect name
    EXEC sp_dropserver @server=@servername;
    
    -- Add the correct server as a local server
    EXEC sp_addserver @server=@serverproperty_servername, @local='local';
    
  2. Starten Sie den Computer, auf dem SQL Server ausgeführt wird, neu.

  3. Um zu überprüfen, ob der SQL Server-Name und der Netzwerkname des Computers übereinstimmen, führen Sie die folgende Transact-SQL-Anweisung aus:

    SELECT @@SERVERNAME, SERVERPROPERTY('ServerName');
    

Weitere Informationen

Sie können die globale @@SERVERNAME-Variable oder die Funktion SERVERPROPERTY('ServerName') in SQL Server verwenden, um den Netzwerknamen des Computers zu ermitteln, auf dem SQL Server ausgeführt wird. Die ServerName-Eigenschaft der SERVERPROPERTY-Funktion meldet die Änderung des Netzwerknamens des Computers automatisch, wenn Sie den Computer und den SQL Server-Dienst neu starten. Die globale @@SERVERNAME-Variable behält den ursprünglichen SQL Server-Computernamen bei, bis der SQL Server-Name manuell zurückgesetzt wird.

Schritte zum Reproduzieren des Problems

Führen Sie auf dem Computer, auf dem Sie SQL Server aus einem Datenträgerimage bereitgestellt haben, die folgenden Schritte aus:

  1. Starten Sie Management Studio.

  2. Erweitern Sie im Objekt-Explorer den Namen Ihrer SQL Server-Instanz.

  3. Klicken Sie mit der rechten Maustaste auf den Ordner Replikation, und klicken Sie auf Replikation „Verteilung konfigurieren“ und dann auf Veröffentlichung, Abonnenten und Verteilung konfigurieren.

  4. Klicken Sie im Dialogfeld des Assistenten Verteilung konfigurieren auf Weiter.

  5. Klicken Sie im Dialogfeld Verteiler auf die Option "<Serverinstanz><>", die als eigener Verteiler fungiert. SQL Server erstellt eine Verteilungsdatenbank und ein Protokoll-Optionsfeld, und klicken Sie dann auf Weiter.

  6. Klicken Sie im Dialogfeld SQL Server-Agent, Start auf Weiter.

  7. Klicken Sie im Dialogfeld Momentaufnahmeordner auf Weiter.

    Hinweis

    Wenn Sie eine Meldung zur Bestätigung des Pfads des Momentaufnahmeordners erhalten, klicken Sie auf Ja.

  8. Klicken Sie im Dialogfeld Verteilungsdatenbank auf Weiter.

  9. Klicken Sie im Dialogfeld Verleger auf Weiter.

  10. Klicken Sie im Dialogfeld Aktionen des Assistenten auf Weiter.

  11. Klicken Sie im Dialogfeld Assistenten abschließen auf Fertig stellen.

Weitere Informationen