Partilhar via


sp_setnetname (Transact-SQL)

Define os nomes de rede em sys.servers com seus nomes de computador de rede reais para as instâncias remotas do SQL Server. Este procedimento pode ser usado para habilitar a execução de chamadas de procedimento armazenado remoto a computadores com nomes de rede contendo identificadores do SQL Server que não são válidos.

Ícone de vínculo de tópicoConvenções de sintaxe Transact-SQL

Sintaxe

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

Argumentos

  • @server = 'server'
    É o nome do servidor remoto conforme referenciado em sintaxe de chamada de procedimento armazenado remoto codificado pelo usuário. Exatamente uma linha em sys.servers já deve existir para usar esse server. server é sysname, sem nenhum padrão.

  • @netname ='network_name'
    É o nome de rede do computador ao qual as chamadas de procedimento armazenado remoto são feitas. network_name é sysname, sem nenhum padrão.

    Esse nome deve corresponder ao nome do computador de Microsoft Windows, e o nome pode incluir caracteres que não são permitidos em identificadores do SQL Server.

Valores de código de retorno

0 (êxito) ou 1 (falha)

Conjuntos de resultados

Nenhum

Comentários

Algumas chamadas de procedimento armazenado remoto a computadores com Windows podem encontrar problemas se o nome do computador tiver identificadores que não são válidos.

Como servidores vinculados e servidores remotos residem no mesmo namespace, eles não podem ter o mesmo nome. Entretanto, é possível definir um servidor vinculado e um servidor remoto em um servidor especificado, atribuindo nomes diferentes e usando sp_setnetname para definir o nome de rede de um deles com o nome de rede do servidor subjacente.

--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';
ObservaçãoObservação

O uso de sp_setnetname para apontar um servidor vinculado ao servidor local não possui suporte. Os servidores referenciados dessa maneira não podem participar de uma transação distribuída.

Permissões

Requer associação às funções de servidor fixas sysadmin e setupadmin.

Exemplos

O exemplo a seguir mostra uma seqüência administrativa típica usada no SQL Server para emitir a chamada de procedimento armazenado remoto.

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