sp_addremotelogin (Transact-SQL)
Область применения: SQL Server
Добавляет новый идентификатор удаленного имени входа на локальный сервер. Это позволяет удаленным серверам подключаться и выполнять удаленные вызовы процедуры (RPC).
Внимание
Эта функция будет удалена в будущей версии SQL Server. Избегайте использования этого компонента в новых разработках и запланируйте изменение существующих приложений, в которых он применяется. Пользуйтесь вместо него связанными серверами и хранимыми процедурами связанных серверов.
Соглашения о синтаксисе Transact-SQL
Синтаксис
sp_addremotelogin
[ @remoteserver = ] N'remoteserver'
[ , [ @loginame = ] N'loginame' ]
[ , [ @remotename = ] N'remotename' ]
[ ; ]
Аргументы
[ @remoteserver = ] N'remoteserver'
Имя удаленного сервера, к которому применяется удаленное имя входа. @remoteserver — sysname без значения по умолчанию. Если указана только @remoteserver , все пользователи на @remoteserver сопоставляются с существующими именами того же имени на локальном сервере. Сервер должен быть известен локальному серверу. Это добавляется с помощью sp_addserver. Когда пользователи на @remoteserver подключаются к локальному серверу, на котором выполняется SQL Server для выполнения удаленной хранимой процедуры, они подключаются как локальное имя входа, соответствующее собственному имени входа в @remoteserver. @remoteserver — это сервер, инициирующий удаленный вызов процедуры.
[ @loginame = ] N'loginame'
Идентификатор входа пользователя в локальном экземпляре SQL Server. @loginame — sysname с значением по умолчаниюNULL
. @loginame уже должно существовать в локальном экземпляре SQL Server. Если указан @loginame , все пользователи на @remoteserver сопоставляются с определенным локальным именем входа. Когда пользователи на @remoteserver подключаются к локальному экземпляру SQL Server для выполнения удаленной хранимой процедуры, они подключаются как @loginame.
[ @remotename = ] N'remotename'
Идентификатор входа пользователя на удаленном сервере. @remotename — sysname( значение по умолчанию NULL
). @remotename должно существовать в @remoteserver. Если указан @remotename , конкретный пользователь @remotename сопоставляется с @loginame на локальном сервере. Когда @remotename на @remoteserver подключается к локальному экземпляру SQL Server для выполнения удаленной хранимой процедуры, она подключается как @loginame. Идентификатор входа @remotename может отличаться от идентификатора входа на удаленном сервере @loginame.
Значения кода возврата
0
(успешно) или 1
(сбой).
Замечания
Для выполнения распределенных запросов используйте sp_addlinkedsrvlogin
.
sp_addremotelogin
нельзя использовать внутри определяемой пользователем транзакции.
Разрешения
Могут выполняться только члены предопределенных ролей сервера sysadmin и securityadmin.sp_addremotelogin
Примеры
А. Сопоставление одного с одним
Следующий пример сопоставляет удаленные имена локальным, если имена входа пользователей на удаленном сервере ACCOUNTS
и на локальном сервере совпадают.
EXEC sp_addremotelogin 'ACCOUNTS';
B. Сопоставление нескольких с одним
В следующем примере создается запись, которая сопоставляет всех пользователей удаленного сервера ACCOUNTS
локальному идентификатору входа Albert
.
EXEC sp_addremotelogin 'ACCOUNTS', 'Albert';
C. Использование явного сопоставления "один к одному"
Следующий пример сопоставляет удаленное имя входа удаленного пользователя Chris
на удаленном сервере ACCOUNTS
локальному пользователю salesmgr
.
EXEC sp_addremotelogin 'ACCOUNTS', 'salesmgr', 'Chris';
Связанный контент
- sp_addlinkedsrvlogin (Transact-SQL)
- sp_addlogin (Transact-SQL)
- sp_addserver (Transact-SQL)
- sp_dropremotelogin (Transact-SQL)
- sp_grantlogin (Transact-SQL)
- sp_helpremotelogin (Transact-SQL)
- sp_helpserver (Transact-SQL)
- sp_remoteoption (Transact-SQL)
- sp_revokelogin (Transact-SQL)
- Системные хранимые процедуры (Transact-SQL)