Хранимая процедура 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 без значения по умолчанию.
Это имя должно соответствовать имени компьютера Microsoft 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;
Связанный контент
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по