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 '<Serverinstanz>><' nicht als Distributor für '<Serverinstanz><>' konfigurieren. Fehler 18483: Es konnte keine Verbindung mit der 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 imageierten Computers 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 umbenennen, nachdem SQL Server installiert wurde.
Aktion des Benutzers
Um dieses Problem zu umgehen, ersetzen Sie den SQL Server-Servernamen durch den richtigen Netzwerknamen des Computers. Führen Sie dazu die folgenden Schritte aus:
Melden Sie sich am 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';
Starten Sie den Computer neu, auf dem SQL Server ausgeführt wird.
Führen Sie die folgende Transact-SQL-Anweisung aus, um zu überprüfen, ob der SQL Server-Name und der Netzwerkname des Computers identisch sind:
SELECT @@SERVERNAME, SERVERPROPERTY('ServerName');
Weitere Informationen
Sie können die @@SERVERNAME
globale Variable oder die SERVERPROPERTY
Funktion ('ServerName') in SQL Server verwenden, um den Netzwerknamen des Computers zu suchen, auf dem SQL Server ausgeführt wird. Die ServerName-Eigenschaft der SERVERPROPERTY
Funktion meldet automatisch die Änderung des Netzwerknamens des Computers, wenn Sie den Computer und den SQL Server-Dienst neu starten. Die @@SERVERNAME
globale 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:
Starten Sie Management Studio.
Erweitern Sie im Objekt-Explorer den Namen der SQL Server-Instanz.
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.
Klicken Sie im Dialogfeld des Assistenten Verteilung konfigurieren auf Weiter.
Klicken Sie im Dialogfeld "Distributor" auf die Option "<Serverinstanz><>" als eigener Distributor; SQL Server erstellt eine Verteilungsdatenbank und ein Protokoll-Optionsfeld, und klicken Sie dann auf "Weiter".
Klicken Sie im Dialogfeld SQL Server-Agent, Start auf Weiter.
Klicken Sie im Dialogfeld Momentaufnahmeordner auf Weiter.
Hinweis
Wenn Sie eine Meldung zur Bestätigung des Pfads des Momentaufnahmeordners erhalten, klicken Sie auf Ja.
Klicken Sie im Dialogfeld Verteilungsdatenbank auf Weiter.
Klicken Sie im Dialogfeld Verleger auf Weiter.
Klicken Sie im Dialogfeld Aktionen des Assistenten auf Weiter.
Klicken Sie im Dialogfeld Assistenten abschließen auf Fertig stellen.