Rinominare un computer che ospita un'istanza autonoma di SQL Server

Si applica a:account di SQL Server - solo Windows

Quando si modifica il nome del computer che esegue SQL Server, il nuovo nome viene riconosciuto durante l'avvio di SQL Server. Non è necessario eseguire nuovamente il programma di installazione per reimpostare il nome del computer. Utilizzare invece la procedura riportata di seguito per aggiornare i metadati di sistema archiviati in sys.servers e restituiti dalla funzione di sistema @@SERVERNAME. Aggiornare i metadati di sistema in modo da riflettere le modifiche apportate al nome del computer per le connessioni remote e le applicazioni che utilizzano @@SERVERNAME o che eseguono query sul nome del server da sys.servers.

La procedura seguente non può essere usata per rinominare un'istanza di SQL Server, ma solo per rinominare la parte del nome di istanza corrispondente al nome del computer. Ad esempio, è possibile modificare il nome di un computer denominato MB1 che ospita un'istanza di SQL Server denominata Instance1 trasformandolo in MB2. La parte del nome che si riferisce all'istanza, ovvero Instance1, rimarrà tuttavia invariata. In questo esempio, \\<ComputerName>\<InstanceName> viene modificato da \\MB1\Instance1 a \\MB2\Instance1.

Prerequisiti

Prima di iniziare il processo di ridenominazione, esaminare le informazioni seguenti:

  • Se un'istanza di SQL Server fa parte di un cluster di failover di SQL Server, il processo di ridenominazione del computer è diverso da quello previsto per un computer che ospita un'istanza autonoma. Per altre informazioni, vedere Rinominare un'istanza del cluster di failover di SQL Server.

  • SQL Server non supporta la ridenominazione dei computer interessati dalla replica, a meno che non si usi il log shipping con replica. Il computer secondario nel log shipping può essere rinominato in caso di perdita definitiva del computer primario. Per altre informazioni, vedere Log shipping e replica (SQL Server).

  • Quando si rinomina un computer configurato per l'uso di Reporting Services, Reporting Services potrebbe non essere disponibile in seguito alla modifica del nome del computer. Per altre informazioni, vedere Rinominare un computer del server di report.

  • Quando si rinomina un computer configurato per l'utilizzo del mirroring del database, è necessario disabilitare il mirroring del database prima dell'operazione di ridenominazione. Riattivare quindi il mirroring del database con il nuovo nome del computer. I metadati per il mirroring del database non verranno aggiornati automaticamente per riflettere il nuovo nome del computer. Per aggiornare i metadati di sistema, utilizzare la procedura indicata di seguito:

  • Gli utenti che si connettono a SQL Server tramite un gruppo di Windows che usa un riferimento specificato a livello di codice al nome del computer potrebbero non riuscire a connettersi a SQL Server. Questo problema può verificarsi in seguito alla ridenominazione se il gruppo di Windows specifica il nome del computer precedente. Per garantire che tale gruppo di Windows consenta la connessione a SQL Server dopo l'operazione di ridenominazione, aggiornarlo in modo che specifichi il nuovo nome del computer.

È possibile connettersi a SQL Server usando il nuovo nome del computer in seguito al riavvio di SQL Server. Per garantire che @@SERVERNAME restituisca il nome aggiornato dell'istanza del server locale, è consigliabile eseguire manualmente la procedura descritta di seguito valida per il proprio scenario. La procedura varia a seconda che si aggiorni un computer che ospita un'istanza predefinita o un'istanza denominata di SQL Server.

Rinominare un computer che ospita un'istanza autonoma di SQL Server

  • Per un computer rinominato che ospita un'istanza predefinita di SQL Server, seguire queste procedure:

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

    Riavviare l'istanza di SQL Server.

  • Per un computer rinominato che ospita un'istanza denominata di SQL Server, seguire queste procedure:

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

    Riavviare l'istanza di SQL Server.

Al termine dell'operazione di ridenominazione

In seguito alla ridenominazione di un computer, tutte le connessioni che utilizzavano il nome precedente devono essere eseguite utilizzando il nuovo nome.

Verificare l'operazione di ridenominazione

  • Selezionare le informazioni da @@SERVERNAME o sys.servers. La funzione @@SERVERNAME restituirà il nuovo nome e la tabella sys.servers includerà il nuovo nome. L'esempio seguente mostra l'uso di @@SERVERNAME.

    SELECT @@SERVERNAME AS 'Server Name';
    

Considerazioni aggiuntive

Account di accesso remoto: se il computer dispone di account di accesso remoto, l'esecuzione di sp_dropserver può generare un errore simile al seguente:

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

Per risolvere l'errore, è necessario eliminare gli account di accesso remoto per tale server.

Eliminare gli account di accesso remoto

  • Per un'istanza predefinita, eseguire le procedure seguenti:

    EXEC sp_dropremotelogin old_name;
    GO
    
  • Per un'istanza denominata, eseguire le procedure seguenti:

    EXEC sp_dropremotelogin old_name\instancename;
    GO
    

Configurazioni del server collegato: le configurazioni del server collegato saranno interessate dall'operazione di ridenominazione del computer. Utilizzare sp_addlinkedserver o sp_setnetname per aggiornare i riferimenti del nome del computer. Per altre informazioni, vedere sp_addlinkedserver (Transact-SQL) o sp_setnetname (Transact-SQL).

Nomi alias per i client: gli alias per i client che usano named pipe verranno interessati dall'operazione di ridenominazione del computer. Se ad esempio è stato creato un alias "PROD_SRVR" per puntare a SRVR1 e viene utilizzato il protocollo Named Pipes, il nome pipe sarà simile al seguente: \\SRVR1\pipe\sql\query. Dopo la ridenominazione del computer, il percorso di named pipe non sarà più valido. Per altre informazioni sulle named pipe, vedere l'argomento Creazione di una stringa di connessione valida tramite named pipe.

Vedi anche