sp_addremotelogin (Transact-SQL)
Добавляет новый идентификатор удаленного имени входа на локальный сервер. Это позволяет удаленным серверам подключаться и выполнять удаленные вызовы процедуры (RPC).
Важно! |
---|
В следующей версии Microsoft SQL Server этот компонент будет удален. Не используйте его при работе над новыми приложениями и как можно быстрее измените приложения, в которых он в настоящее время используется. Используйте вместо этого связанные серверы и хранимые процедуры связанных серверов. |
Применимо для следующих объектов: SQL Server (начиная с SQL Server 2008 до текущей версии). |
Cинтаксические обозначения в Transact-SQL
Синтаксис
sp_addremotelogin [ @remoteserver = ] 'remoteserver'
[ , [ @loginame = ] 'login' ]
[ , [ @remotename = ] 'remote_name' ]
Аргументы
[ @remoteserver = ] 'remoteserver'
Имя удаленного сервера, к которому применяется удаленный вход. Аргумент remoteserver имеет тип sysname и не имеет значения по умолчанию. Все пользователи remoteserver сопоставляются с существующими именами входа, которые совпадают с именами на локальном сервере, только если указан аргумент remoteserver. Сервер должен быть известен локальному серверу. Он добавляется с помощью хранимой процедуры sp_addserver. Подключение пользователей на remoteserver к локальному серверу с запущенным SQL Server для выполнения удаленной хранимой процедуры осуществляется по локальным именам входа, совпадающим с их именами на remoteserver. remoteserver — это сервер, который инициирует удаленный вызов процедуры.[ @loginame = ] 'login'
Идентификатор имени входа для пользователя локального экземпляра SQL Server. Аргумент login имеет тип sysname и значение по умолчанию NULL. login* *должен уже существовать на локальном экземпляре SQL Server. Все пользователи на remoteserver сопоставляются с определенным локальным именем входа, если login указан. При подключении пользователей на remoteserver к локальному экземпляру SQL Server для выполнения удаленной хранимой процедуры используется аргумент login.[ @remotename = ] 'remote_name'
Идентификатор имени входа пользователя на удаленном сервере. Аргумент remote_name имеет тип sysname и значение по умолчанию NULL. Столбец remote_name должен существовать в таблице или представлении remoteserver. Если аргумент remote_name указан, то remote_name определенного пользователя сопоставляется с login на локальном сервере. При подключении remote_name на remoteserver к локальному экземпляру SQL Server для выполнения удаленной хранимой процедуры используется login. Идентификатор входа remote_name может отличаться от идентификатора входа login на удаленном сервере.
Значения кода возврата
0 (успешное завершение) или 1 (неуспешное завершение)
Замечания
Для выполнения распределенных запросов вызывайте хранимую процедуру sp_addlinkedsrvlogin.
Хранимую процедуру sp_addremotelogin нельзя использовать внутри определяемой пользователем транзакции.
Разрешения
Только члены предопределенных ролей сервера sysadmin и securityadmin могут выполнять хранимую процедуру sp_addremotelogin.
Примеры
А.Сопоставление «один к одному»
Следующий пример сопоставляет удаленные имена локальным, если имена входа пользователей на удаленном сервере ACCOUNTS и на локальном сервере совпадают.
EXEC sp_addremotelogin 'ACCOUNTS';
Б.Сопоставление «многие к одному»
В следующем примере создается запись, которая сопоставляет всех пользователей удаленного сервера ACCOUNTS локальному идентификатору входа Albert.
EXEC sp_addremotelogin 'ACCOUNTS', 'Albert';
В.Использование явного сопоставления «один к одному»
Следующий пример сопоставляет удаленное имя входа удаленного пользователя Chris на удаленном сервере ACCOUNTS локальному пользователю salesmgr.
EXEC sp_addremotelogin 'ACCOUNTS', 'salesmgr', 'Chris';
См. также
Справочник
sp_addlinkedsrvlogin (Transact-SQL)
sp_dropremotelogin (Transact-SQL)
sp_helpremotelogin (Transact-SQL)
Хранимая процедура sp_remoteoption (Transact-SQL)