sp_setnetname (Transact-SQL)

Establece los nombres de red de sys.servers en sus nombres de red del equipo actuales para las instancias remotas de SQL Server. Este procedimiento puede utilizarse para habilitar la ejecución de llamadas a procedimientos almacenados remotos a equipos cuyos nombres de red contienen identificadores de SQL Server no válidos.

Icono de vínculo a temasConvenciones de sintaxis de Transact-SQL

Sintaxis

sp_setnetname
@server = 'server', 
          @netname = 'network_name'

Argumentos

  • @server = 'server'
    Es el nombre del servidor remoto tal como se ha especificado en la sintaxis de llamada a procedimiento almacenado remoto codificada por el usuario. Ya deberá existir exactamente una fila en sys.servers para poder usar este argumento server. server es de tipo sysname y no tiene ningún un valor predeterminado.

  • @netname ='network_name'
    Es el nombre de red del equipo en el que se realizan las llamadas a procedimiento almacenado remoto. network_name es de tipo sysname y no tiene ningún valor predeterminado.

    Este nombre debe coincidir con el nombre del equipo con Microsoft Windows y puede incluir caracteres que no estén admitidos en los identificadores de SQL Server.

Valores de código de retorno

0 (correcto) o 1 (error)

Conjuntos de resultados

Ninguno

Comentarios

Algunas llamadas a procedimientos almacenados remotos a equipos que ejecutan Windows pueden experimentar problemas si el nombre del equipo contiene identificadores no válidos.

Debido a que los servidores vinculados y los servidores remotos residen en el mismo espacio de nombres, no pueden tener el mismo nombre. Sin embargo, puede definir un servidor vinculado y un servidor remoto en un servidor especificado asignando nombres distintos y utilizando sp_setnetname para establecer el nombre de red de uno de ellos en el nombre de red del servidor subyacente.

--Assume sqlserv2 is actual name of SQL Server 
--database server
EXEC sp_addlinkedserver 'sqlserv2';
GO
EXEC sp_addserver 'rpcserv2';
GO
EXEC sp_setnetname 'rpcserv2', 'sqlserv2';

Nota

No se acepta el uso de sp_setnetname para que un servidor vinculado vuelva a señalar al servidor local. Los servidores a los que se hace referencia de esta forma no pueden participar en una transacción distribuida.

Permisos

Requiere la pertenencia a las funciones fijas de servidor sysadmin y setupadmin.

Ejemplos

En el siguiente ejemplo se muestra una secuencia administrativa habitual que se utiliza en SQL Server para emitir la llamada a procedimiento almacenado remoto.

USE master;
GO
EXEC sp_addserver 'Win_1';
EXEC sp_setnetname 'Win_1','Win-1';
EXEC Win_1.master.dbo.sp_who;