Partilhar via


sp_setnetname (Transact-SQL)

Aplica-se: SQL Server

Define os nomes de rede como sys.servers seus nomes de computador de rede reais para instâncias remotas do SQL Server. Esse procedimento pode ser usado para habilitar a execução de chamadas de procedimento armazenado remoto para computadores que têm nomes de rede que contêm identificadores do SQL Server que não são válidos.

Convenções de sintaxe de Transact-SQL

Sintaxe

sp_setnetname
    [ @server = ] N'server'
    , [ @netname = ] N'netname'
[ ; ]

Argumentos

@server [ = ] N'servidor'

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

@netname [ = ] N'netname'

O nome da rede do computador para o qual as chamadas de procedimento armazenado remoto são feitas. @netname é sysname, sem padrão.

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

Valores do código de retorno

0 (sucesso) ou 1 (falha).

Conjunto de resultados

Nenhum.

Comentários

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

Como os servidores vinculados e os servidores remotos residem no mesmo namespace, eles não podem ter o mesmo nome. No entanto, você pode definir um servidor vinculado e um servidor remoto em relação a um servidor especificado atribuindo nomes diferentes e usando sp_setnetname para definir o nome de rede de um deles como o nome de rede do servidor subjacente.

Neste exemplo, Assume sqlserv2 é o nome real da instância do SQL Server.

EXEC sp_addlinkedserver 'sqlserv2';
GO
EXEC sp_addserver 'rpcserv2';
GO
EXEC sp_setnetname 'rpcserv2', 'sqlserv2';

Observação

Não há suporte para o uso sp_setnetname de apontar um servidor vinculado de volta para o servidor local. Os servidores referenciados dessa maneira não podem participar de uma transação distribuída.

Permissões

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

Exemplos

O exemplo a seguir mostra uma sequê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;