Dela via


Byt namn på en dator som är värd för en fristående instans av SQL Server

gäller för:SQL Server – endast Windows

När du ändrar namnet på den dator som kör SQL Server identifieras det nya namnet under SQL Server-starten. Du behöver inte köra installationsprogrammet igen för att återställa datornamnet. Använd i stället följande steg för att uppdatera systemmetadata som lagras i sys.servers och rapporteras av systemfunktionen @@SERVERNAME. Uppdatera systemmetadata så att de återspeglar ändringar av datornamn för fjärranslutningar och program som använder @@SERVERNAME, eller som kör frågor mot servernamnet från sys.servers.

Följande steg kan inte användas för att byta namn på en instans av SQL Server. De kan bara användas för att byta namn på den del av instansnamnet som motsvarar datornamnet. Du kan till exempel ändra en dator med namnet MB1 som är värd för en instans av SQL Server med namnet Instance1 till ett annat namn, till exempel MB2. Instansdelen av namnet, Instance1, förblir dock oförändrad. I det här exemplet ändras \\<ComputerName>\<InstanceName> från \\MB1\Instance1 till \\MB2\Instance1.

Förutsättningar

Innan du börjar byta namn bör du läsa följande information:

  • När en instans av SQL Server ingår i ett SQL Server-failoverkluster skiljer sig processen för namnbyte av datorn från en dator som är värd för en fristående instans. Mer information finns i Byt namn på en SQL Server-redundansklusterinstans.

  • SQL Server stöder inte namnbyte av datorer som är inblandade i replikering, förutom när du använder loggöverföring med replikering. Den sekundära datorn i loggöverföring kan byta namn om den primära datorn förloras permanent. Mer information finns i Log Shipping and Replication (SQL Server).

  • När du byter namn på en dator som är konfigurerad för att använda Reporting Services kanske Reporting Services inte är tillgängligt när datornamnet har ändrats. För mer information, se Byt namn på en dator som kör rapportservrar.

  • När du byter namn på en dator som är konfigurerad för att använda databasspegling måste du inaktivera databasspegling innan du byter namn. Sedan återupprättar du databasspegling med det nya datornamnet. Metadata för databasspegling uppdateras inte automatiskt för att återspegla det nya datornamnet. Använd följande steg för att uppdatera systemmetadata.

  • Användare som ansluter till SQL Server via en Windows-grupp som använder en hårdkodad referens till datornamnet kanske inte kan ansluta till SQL Server. Det här problemet kan inträffa efter namnbytet om Windows-gruppen anger det gamla datornamnet. För att säkerställa att sådana Windows-grupper har SQL Server-anslutning efter namnbytet uppdaterar du Windows-gruppen för att ange det nya datornamnet.

Du kan ansluta till SQL Server med hjälp av det nya datornamnet när du har startat om SQL Server. För att säkerställa att @@SERVERNAME returnerar det uppdaterade namnet på den lokala serverinstansen bör du manuellt köra följande procedur som gäller för ditt scenario. Vilken procedur du använder beror på om du uppdaterar en dator som är värd för en standardinstans eller en namngiven instans av SQL Server.

Byt namn på en dator som är värd för en fristående instans av SQL Server

  • Kör följande procedurer för en dator med namnbyte som är värd för en standardinstans av SQL Server:

    EXEC sp_dropserver '<old_name>';
    GO
    EXEC sp_addserver '<new_name>', local;
    GO
    

    Starta om instansen av SQL Server.

  • Kör följande procedurer för en dator med namnbyte som är värd för en namngiven instans av SQL Server:

    EXEC sp_dropserver '<old_name\instancename>';
    GO
    EXEC sp_addserver '<new_name\instancename>', local;
    GO
    

    Starta om instansen av SQL Server.

Efter byt namn-åtgärden

När en dator har bytt namn måste alla anslutningar som använde det gamla datornamnet ansluta med det nya namnet.

Kontrollera namnändringsoperationen

  • Välj information från antingen @@SERVERNAME eller sys.servers. Funktionen @@SERVERNAME returnerar det nya namnet och tabellen sys.servers visar det nya namnet. I följande exempel visas användningen av @@SERVERNAME.

    SELECT @@SERVERNAME AS 'Server Name';
    

Ytterligare överväganden

Fjärrinloggningar

Om datorn har några fjärrinloggningar kan körning av sp_dropserver generera ett fel som liknar följande utdata:

Server: Msg 15190, Level 16, State 1, Procedure sp_dropserver, Line 44 There are still remote logins for the server 'SERVER1'.

För att lösa felet måste du ta bort fjärrinloggningar för den här servern.

  • Kör följande procedur för en standardinstans:

    EXEC sp_dropremotelogin old_name;
    GO
    
  • Kör följande procedur för en namngiven instans:

    EXEC sp_dropremotelogin old_name\instancename;
    GO
    

Konfigurationer för länkad server

Åtgärden för att byta namn på datorn påverkar konfigurationer av länkad server. Använd sp_addlinkedserver eller sp_setnetname för att uppdatera referenser för datornamn. Mer information finns i sp_addlinkedserver eller sp_setnetname.

Klientaliasnamn

Datorbytesåtgärden påverkar klientalias som använder namngivna pipes. Om till exempel ett alias PROD_SRVR skapades för att peka på SRVR1 och använder det namngivna pipes-protokollet, ser pipe-namnet ut som \\SRVR1\pipe\sql\query. När datorn har bytt namn är sökvägen till det namngivna röret inte längre giltig. Mer information om namngivna rör finns i Skapa en giltig anslutningssträng med namngivna rör.