Хранимая процедура sp_setnetname (Transact-SQL)
Область применения: SQL Server
Задает имена сети в sys.servers
именах фактических сетевых компьютеров для удаленных экземпляров SQL Server. Эту процедуру можно использовать для включения выполнения удаленных вызовов хранимой процедуры на компьютерах с именами сети, содержащими идентификаторы SQL Server, которые недопустимы.
Соглашения о синтаксисе Transact-SQL
Синтаксис
sp_setnetname
[ @server = ] N'server'
, [ @netname = ] N'netname'
[ ; ]
Аргументы
[ @server = ] N'server'
Имя удаленного сервера, на который ссылается синтаксис вызова удаленной хранимой процедуры, закодированный пользователем. @server — sysname, без значения по умолчанию. Для использования этой @server уже должна существовать одна строкаsys.servers
.
[ @netname = ] N'netname'
Сетевое имя компьютера, к которому выполняются удаленные вызовы хранимой процедуры. @netname — sysname без значения по умолчанию.
Это имя должно соответствовать имени компьютера Windows, а имя может содержать символы, которые не разрешены в идентификаторах SQL Server.
Значения кода возврата
0
(успешно) или 1
(сбой).
Результирующий набор
Нет.
Замечания
Некоторые удаленные вызовы хранимой процедуры к компьютерам Windows могут возникнуть проблемы, если имя компьютера содержит недопустимые идентификаторы.
Так как связанные серверы и удаленные серверы находятся в одном пространстве имен, они не могут иметь то же имя. Однако можно определить связанный сервер и удаленный сервер для указанного сервера, назначив разные имена, а также используя sp_setnetname
для задания сетевого имени одного из них сетевое имя базового сервера.
В этом примере предполагается sqlserv2
фактическое имя экземпляра SQL 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;