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;