Cambiar el nombre de un equipo que hospeda una instancia independiente de SQL Server

Se aplica a:SQL Server: solo Windows

Cuando se cambia el nombre del equipo que ejecuta SQL Server, el nombre nuevo se reconoce durante el inicio de SQL Server. No es necesario que vuelva a ejecutar el programa de instalación para restablecer el nombre del equipo. En su lugar, realice los siguientes pasos para actualizar los metadatos del sistema que están almacenados en sys.servers y que son notificados por la función de sistema @@SERVERNAME. Actualice los metadatos del sistema para reflejar los cambios de nombre de equipo de las conexiones remotas y las aplicaciones que usan @@SERVERNAME, o que consultan el nombre del servidor desde sys.servers.

Los siguientes pasos no se pueden utilizar para cambiar el nombre de una instancia de SQL Server. Estos pasos solo se pueden usar para cambiar la parte del nombre de la instancia que corresponde al nombre del equipo. Por ejemplo, puede cambiar el nombre de un equipo denominado MB1 que hospeda una instancia de SQL Server denominada Instance1 por otro nombre, por ejemplo MB2. Sin embargo, la parte del nombre que corresponde a la instancia, Instance1, permanecerá intacta. En este ejemplo, \\<ComputerName>\<InstanceName> se cambiaría de \\MB1\Instance1 a \\MB2\Instance1.

Requisitos previos

Antes de comenzar el proceso de cambio de nombre, lea la siguiente información:

  • Cuando una instancia de SQL Server forma parte de un clúster de conmutación por error de SQL Server , el proceso para cambiar el nombre del equipo difiere del que se usa en el equipo que hospeda una instancia independiente. Para obtener más información, vea Cambiar el nombre de una instancia de clúster de conmutación por error de SQL Server.

  • SQL Server no permite cambiar el nombre de los equipos implicados en un proceso de replicación, excepto cuando se utiliza el trasvase de registros con la replicación. Se puede cambiar el nombre del equipo secundario del trasvase de registros si el equipo primario se pierde de manera permanente. Para obtener más información, vea Trasvase de registros y replicación (SQL Server).

  • Al cambiar el nombre de un equipo que está configurado para utilizar Reporting Services, Reporting Services podría no estar disponible después del cambio del nombre de equipo. Para obtener más información, vea Cambiar el nombre de un equipo que ejecuta un servidor de informes.

  • Cuando cambia el nombre de un equipo que está configurado para utilizar la creación de reflejo de la base de datos, ésta debe desactivarse antes de realizar la operación de cambio de nombre. A continuación, vuelva a establecer la creación de reflejo de la base de datos con el nuevo nombre de equipo. Los metadatos para la creación de reflejo de la base de datos no se actualizan automáticamente para reflejar el nuevo nombre del equipo. Utilice los pasos siguientes para actualizar los metadatos del sistema.

  • Es posible que los usuarios que se conectan a SQL Server a través de un grupo de Windows que utilice una referencia codificada de forma rígida al nombre del equipo no se puedan conectar a SQL Server. Esto puede ocurrir después de cambiar el nombre si el grupo de Windows especifica el nombre de equipo anterior. Para asegurarse de que estos grupos de Windows tienen conexión con SQL Server después de la operación de cambio de nombre, actualice el grupo de Windows para especificar el nuevo nombre del equipo.

Puede conectarse a SQL Server con el nuevo nombre del equipo después de haber reiniciado SQL Server. Para asegurarse de que @@SERVERNAME devuelve el nombre actualizado de la instancia del servidor local, conviene ejecutar manualmente el procedimiento correspondiente a su situación de entre los siguientes. El procedimiento que use dependerá de si está actualizando un equipo que hospeda o una instancia predeterminada o con nombre de SQL Server.

Cambiar el nombre de un equipo que hospeda una instancia independiente de SQL Server

  • En un equipo con el nombre cambiado que hospeda una instancia predeterminada de SQL Server, ejecute los procedimientos siguientes:

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

    Reinicie la instancia de SQL Server.

  • En un equipo con el nombre cambiado que hospeda una instancia con nombre de SQL Server, ejecute los procedimientos siguientes:

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

    Reinicie la instancia de SQL Server.

Después de la operación de cambio de nombre

Después de cambiar el nombre del equipo, las conexiones que utilizaban el nombre anterior deben realizarse con el nombre nuevo.

Comprobación de la operación de cambio de nombre

  • Seleccione la información de @@SERVERNAME o sys.servers. La función @@SERVERNAME devolverá el nombre nuevo y la tabla sys.servers lo mostrará. En el siguiente ejemplo se muestra el uso de @@SERVERNAME.

    SELECT @@SERVERNAME AS 'Server Name';
    

Consideraciones adicionales

Inicios de sesión remotos: si el equipo dispone de algún inicio de sesión remoto, al ejecutar sp_dropserver podría generarse un error similar al siguiente:

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

Para solucionar el error, debe quitar los inicios de sesión remotos de este servidor.

Quitar inicios de sesión remotos

  • Para una instancia predeterminada, ejecute el siguiente procedimiento:

    EXEC sp_dropremotelogin old_name;
    GO
    
  • Para una instancia con nombre, ejecute el siguiente procedimiento:

    EXEC sp_dropremotelogin old_name\instancename;
    GO
    

Configuraciones de servidores vinculados: la operación de cambio de nombre de equipo afectará las configuraciones de servidores vinculados. Utilice sp_addlinkedserver o sp_setnetname para actualizar las referencias de nombre de equipo. Para obtener más información, vea sp_addlinkedserver (Transact-SQL) o sp_setnetname (Transact-SQL).

Nombres de alias de cliente: la operación de cambio de nombre de equipo afectará a los alias de cliente que usen canalizaciones con nombre. Por ejemplo, si se creó un alias "PROD_SRVR" para señalar a SRVR1 y usa el protocolo de canalizaciones con nombre, el nombre de la canalización será similar a \\SRVR1\pipe\sql\query. Una vez cambiado el nombre del equipo, la ruta de acceso de la canalización con nombre ya no será válida. Para obtener más información sobre las canalizaciones con nombre, vea el tema sobre cómo crear una cadena de conexión válida con canalizaciones con nombre.

Consulte también