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

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

Устанавливает сетевые имена в sys. Servers на реальные имена сетевых компьютеров для удаленных экземпляров SQL Server . Эта процедура может быть использована для разрешения выполнения вызовов удаленных хранимых процедур тем компьютерам, сетевые имена которых содержат неверные идентификаторы SQL Server.

Значок ссылки на раздел Синтаксические обозначения в Transact-SQL

Синтаксис

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

Аргументы

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

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

Это имя должно совпадать с именем компьютера 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)