¿Cómo cambiar el nombre de una instancia de SQL Server 2008?

28

¿Cómo puedo cambiar el nombre de una instancia de SQL Server 2008 sin reinstalar?

Por ejemplo, si se hace referencia a la base de datos como "MySQLServer \ MSSQL2008", ¿cómo puedo cambiar el nombre a "MySQLServer \ SQL2008"?

Scott Marlowe
fuente

Respuestas:

31

No creo que sea posible cambiar el nombre sin instalar.

Quedan algunos rastros para el nombre en algunas bases de datos internas, como la replicación, y es posible que encuentre errores más adelante.

Si puede, a menos que tenga más de una instancia, es mejor que reinstale y luego importe todas sus bases de datos nuevamente.

William Hilsum
fuente
3
Wil está bien. No hay forma de cambiar el nombre de la instancia. Debe desinstalar la instancia y luego instalar una nueva instancia. (O instale la nueva instancia, mueva las bases de datos a la nueva instancia, luego desactive o desinstale la instancia anterior).
mrdenny
desinstalar y luego reinstalar con una instancia con nombre no es realmente muy difícil. simplemente mantenga el directorio de Datos (y tal vez el directorio de Copias de seguridad) en la instancia anterior.
djangofan
9

Sé que este script es omnipresente en la red, pero cada vez que busco en Google se me ocurren elaborados procesos almacenados que son excesivos para mis necesidades, así que aquí están los comandos necesarios para cambiar el nombre de una instancia de SQL Server, para la posteridad:

  • Obtenga el nombre actual de la instancia de SQL Server para una comparación posterior.
    SELECT @@servername
  • Elimine el servidor de la lista de servidores remotos y vinculados conocidos en la instancia local de SQL Server.
    EXEC master.dbo.sp_dropserver ‘[SERVER NAME]‘
  • Defina el nombre de la instancia local de SQL Server.
    EXEC master.dbo.sp_addserver ‘[NEW SERVER NAME]‘, ‘local’
  • Obtenga el nuevo nombre de la instancia de SQL Server para comparar. SELECT @@servername

Y algunas notas relacionadas con su uso:
sp_dropserver :

  1. Este procedimiento almacenado puede eliminar servidores remotos y vinculados;
  2. El uso del parámetro droplogins indica que también deben eliminarse los inicios de sesión relacionados con el servidor remoto y vinculado para [NOMBRE DEL SERVIDOR].

sp_addserver :

  1. Para definir un servidor vinculado, use sp_addlinkedserver (ya que esta funcionalidad se depreciará en la versión anterior a SQL Server 2005);
  2. sp_addserver no se puede usar dentro de una transacción definida por el usuario.

También recomendaría lo siguiente al cambiar el nombre de un servidor SQL:
Si está realizando esta tarea como parte del cambio de nombre de la máquina, primero cambie el nombre de la máquina y luego cambie el nombre del servidor SQL. Una vez que haya cambiado el nombre de SQL Server, reinicie completamente SQLServer, incluido cualquier servicio dependiente.

Obtuve esta información del siguiente enlace:

https://web.archive.org/web/20141116031942/http://modhul.com/2008/01/15/renaming-a-sql-server-instance/

Charles Roper
fuente
1

Solo una nota rápida de que puede agregar un "alias" y usarlo con ambos nombres:

ingrese la descripción de la imagen aquí

jitbit
fuente
0

select @@servername mostrará el nuevo nombre, pero el nombre del servidor en ERRORLOG mostrará el antiguo nombre y no puede conectarse usando el nuevo nombre.

La única solución es reinstalar.

Ben
fuente
-4

Desea usar ALTER DATABASE.

http://msdn.microsoft.com/en-us/library/ms174269.aspx

En esta situación, para su ejemplo anterior, intentaría:

ALTER DATABASE MSSQL2008 MODIFY NAME = 'SQL2008'

¡Buena suerte!

Nicolas Webb
fuente
66
Creo que esto se refiere a la modificación de un nombre de la base en lugar de la instancia del servidor SQL
William Hilsum
sí ... quiero cambiar el nombre de la instancia del motor del servidor sql, no solo el nombre de una tabla o base de datos.
Scott Marlowe
Estás en lo correcto. Y estoy de acuerdo con @Wil: no conozco una forma de hacerlo sin la reinstalación.
Nicolas Webb