Хранимая процедура sp_setnetname (Transact-SQL)

Применимо к: SQL Server (все поддерживаемые версии)

Задает имена сети в sys.servers для их фактических имен сетевых компьютеров для удаленных экземпляров SQL Server. Эту процедуру можно использовать для включения выполнения вызовов удаленной хранимой процедуры к компьютерам с сетевыми именами, содержащими недопустимые идентификаторы SQL Server.

Topic link iconСинтаксические обозначения в Transact-SQL

Синтаксис

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

Аргументы

@server = "сервер"
Имя удаленного сервера в синтаксисе вызова удаленных хранимых процедур, написанных пользователем. Для использования этого сервера должно существовать ровно одна строка в sys.servers. Аргументserver имеет тип sysnameи не имеет значения по умолчанию.

@netname ='network_name'
Сетевое имя компьютера, на который направляются вызовы удаленных хранимых процедур. network_namesysname без значения по умолчанию.

Это имя должно соответствовать имени компьютера Microsoft Windows, а имя может содержать символы, недопустимые в SQL Server идентификаторах.

Значения кода возврата

0 (успешное завершение) или 1 (неуспешное завершение)

Результирующие наборы

None

Remarks

Некоторые удаленные хранимые процедуры, обращающиеся к Windows-компьютерам, могут вызвать проблемы, если имя компьютера содержит недопустимые символы.

Так как связанные серверы размещены в одном пространстве имен, они не могут иметь одинаковое имя. Однако можно определить связанный сервер и удаленный сервер для указанного сервера, назначив разные имена и используя sp_setnetname , чтобы задать сетевое имя одного из них сетевому имени базового сервера.

--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';  

Примечание

Использование sp_setnetname для указания связанного сервера на локальный сервер не поддерживается. Серверы, которые описаны таким образом, не могут участвовать в распределенной транзакции.

Разрешения

Требуется членство в предопределенных ролях сервера sysadmin и setupadmin .

Примеры

В следующем примере показана типичная административная последовательность, используемая в SQL Server для выдачи вызова удаленной хранимой процедуры.

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

См. также:

Хранимые процедуры ядра СУБД (Transact-SQL)
sp_addlinkedserver (Transact-SQL)
sp_addserver (Transact-SQL)
Системные хранимые процедуры (Transact-SQL)