MSSQLSERVER_18483

Gäller för:SQL Server

Detaljer

Attribute Value
Produktnamn SQL Server
Händelse-ID 18483
Händelsekälla MSSQLSERVER
Component SQLEngine
Symboliskt namn REMLOGIN_INVALID_USER
Meddelandetext Kunde inte ansluta till servern '%.ls' eftersom '%.ls' inte definieras som fjärrinloggning på servern. Kontrollera att du har angett rätt inloggningsnamn. %.*ls.

Explanation

Detta fel uppstår när du försöker konfigurera en replikeringsdistributör på ett system som återställts med hårddiskavbildningen från en annan dator där SQL-instansen ursprungligen installerades. Ett felmeddelande liknande följande rapporteras till användaren:

SQL Server Management Studio kunde inte konfigurera '<serverinstans><>' som distributör för '<serverinstans><>'. Fel 18483: Kunde inte ansluta till servern '<Server><Instance>' eftersom 'distributor_admin' inte definieras som fjärrinloggning på servern. Kontrollera att du har angett rätt inloggningsnamn. %.*ls.

Orsak

När du distribuerar SQL Server från en hårddiskavbildning från en annan dator där SQL Server är installerad, behålls nätverksnamnet på den avbildade datorn i den nya installationen. Det felaktiga nätverksnamnet orsakar att konfigurationen av replikationsdistributören misslyckas. Samma problem uppstår om du byter namn på datorn efter att SQL Server är installerad.

Användaråtgärd

För att kringgå detta problem, byt ut SQL Server-servernamnet mot datorns korrekta nätverksnamn. Gör det genom att följa dessa steg:

  1. Logga in på datorn där du distribuerade SQL Server från diskavbilden och kör sedan följande Transact-SQL-sats i SSMS:

    -- 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. Starta om datorn med SQL Server.

  3. För att verifiera att SQL Server namn och nätverksnamn på datorn är desamma, kör följande Transact-SQL sats:

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

Mer information

Du kan använda den globala variabeln @@SERVERNAMESERVERPROPERTYeller funktionen ('ServerName') i SQL Server för att hitta nätverksnamnet på datorn som kör SQL Server. ServerName-egenskapen för SERVERPROPERTY funktionen rapporterar automatiskt ändringen i datorns nätverksnamn när du startar om datorn och SQL Server-tjänsten. Den @@SERVERNAME globala variabeln behåller det ursprungliga SQL Server-datorns namn tills SQL Server-namnet återställs manuellt.

Steg för att återskapa problemet

På datorn där du distribuerade SQL Server från en diskavbildning, följ dessa steg:

  1. Starta Management Studio.

  2. I Object Explorer, expandera ditt SQL Server-instansnamn.

  3. Högerklicka på mappen Replikering och välj Konfigurera distribution Replikering, och klicka sedan på Konfigurera publicering, prenumeranter och distribution.

  4. I dialogrutan Konfigurera distributionsguiden , klicka på Nästa.

  5. I dialogrutan Distributör, klicka för att välja '<Serverinstans><>', då fungerar det som en egen distributör; SQL Server skapar en distributionsdatabas och loggar radioknapp, och klickar sedan på Nästa.

  6. I SQL Server Agent Start-dialogrutan, klicka på Nästa.

  7. I dialogrutan Snapshot Folder , klicka på Nästa.

    Note

    Om du får ett meddelande om att bekräfta vägen i snapshot-mappen, klicka på Ja.

  8. Klicka på Nästa i dialogrutan Distribution Database.

  9. Klicka på Nästa i dialogrutan Publicister.

  10. Klicka på Nästa i dialogrutan Wizard Actions.

  11. I dialogrutan Fullborda trollkarlen , klicka på Slutför.