Estamos en el proceso de reemplazar nuestro SQL Server y hemos decidido que cambiar el nombre del servidor en sí será mucho más fácil que cambiar todo lo demás para señalar un nuevo nombre. Encontramos instrucciones sobre cómo cambiar el nombre de la instancia de SQL Server para que coincida con el nombre de la computadora que se ve así:
sp_dropserver 'OLDSERVER'
sp_addserver 'NEWSERVER', local
Aunque al Administrador corporativo de SQL no parece gustarle todo eso. Tuve que cambiarlo a lo siguiente para que funcione juntos:
sp_dropserver 'OLDSERVER'; GO
sp_addserver 'NEWSERVER', 'local'; GO
Lo que no está mal, pero preferiría que las cosas sean más automatizadas. Como @@ ServerName devuelve el nombre de la instancia, descubrí cómo automatizar la primera línea:
sp_dropserver @@ServerName; GO
También aprendí que SERVERPROPERTY ('ServerName') debe devolver el nombre de la computadora, así que pensé que podría usar eso para automatizar la segunda parte, pero esto no funcionó:
sp_addserver SERVERPROPERTY('ServerName'), 'local'; GO
Traté de configurar una variable, lo que debo hacer de todos modos para actualizar los trabajos del Agente SQL, pero tampoco funcionó:
DECLARE @srv sysname;
SET @srv = CAST(SERVERPROPERTY('ServerName') AS sysname);
sp_addserver @srv, 'local'; GO
Sintaxis incorrecta cerca de 'sp_addserver'.
Me gustaría mucho no tener que codificar el nuevo nombre del servidor en el script, para que esto sea más fácil de reutilizar. ¿Alguien tiene alguna idea?