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