sp_addserver (Transact-SQL)

Se aplica a:SQL Server

Define el nombre de la instancia local de SQL Server. Cuando se cambie el nombre del equipo que hospeda SQL Server, use sp_addserver para informar a la instancia de SQL Server Motor de base de datos del nuevo nombre de equipo. Este procedimiento debe ejecutarse en todas las instancias del Motor de base de datos hospedado en el equipo. No se puede cambiar el nombre de instancia del Motor de base de datos. Para cambiar el nombre de instancia de una instancia con nombre, instale una nueva instancia con el nombre deseado, desasocie los archivos de base de datos de la instancia anterior, adjunte las bases de datos a la nueva instancia y quite la instancia anterior. Como alternativa, puede crear un nombre de alias de cliente en el equipo cliente, redirigir la conexión a un servidor y nombre de instancia diferentes o a la combinación servidor:puerto sin cambiar el nombre de la instancia en el equipo servidor.

Convenciones de sintaxis de Transact-SQL

Sintaxis

sp_addserver
    [ @server = ] N'server'
    [ , [ @local = ] 'LOCAL' ]
    [ , [ @duplicate_ok = ] 'duplicate_OK' ]
[ ; ]

Argumentos

[ @server = ] N'server'

El nombre del servidor. Los nombres de servidor deben ser únicos y seguir las reglas para los nombres de equipo de Microsoft Windows, aunque no se permiten espacios. @server es sysname, sin ningún valor predeterminado.

Cuando se instalan varias instancias de SQL Server en un equipo, una instancia funciona como si estuviera en un servidor independiente. Especifique una instancia con nombre haciendo referencia a @server como <servername>\<instancename>.

[ @local = ] 'LOCAL'

Especifica que el servidor se va a agregar como servidor local. @local es varchar(10), con un valor predeterminado de NULL. Al especificar @local como se define @server como nombre del servidor local, y la @@SERVERNAME función devuelve el valor de @server.LOCAL

El programa de instalación de SQL Server establece esta variable en el nombre del equipo durante la instalación. De forma predeterminada, el nombre del equipo es la forma en que los usuarios se conectan a una instancia de SQL Server sin necesidad de configuración adicional.

La definición local surte efecto solo después de reiniciar el Motor de base de datos. Solo se puede definir un servidor local en cada instancia del Motor de base de datos.

[ @duplicate_ok = ] 'duplicate_OK'

Especifica si se permiten nombres de servidor duplicados. @duplicate_ok es varchar(13), con un valor predeterminado de NULL. @duplicate_ok solo puede tener el valor duplicate_OK o NULL. Si se especifica @duplicate_ok y el nombre del servidor que se va a agregar ya existe, no se genera ningún error. Si no se usan parámetros con nombre, se debe especificar @local .

Valores de código de retorno

0 (correcto) o 1 (erróneo).

Comentarios

Para establecer o borrar las opciones del servidor, use sp_serveroption.

sp_addserver no se puede usar dentro de una transacción definida por el usuario.

Se interrumpe el uso sp_addserver de para agregar un servidor remoto. Use en su lugar sp_addlinkedserver .

El uso sp_addserver de para cambiar el nombre del servidor local podría provocar efectos no deseados o configuraciones no admitidas al usar grupos de disponibilidad o replicación.

Permisos

Debe pertenecer al rol fijo de servidor setupadmin .

Ejemplos

En el ejemplo siguiente se cambia la entrada Motor de base de datos para el nombre del equipo que hospeda SQL Server a ACCOUNTS.

EXEC sp_addserver 'ACCOUNTS', 'local';