sp_addremotelogin (Transact-SQL)
Добавляет новый идентификатор удаленного имени входа на локальный сервер. Это позволяет удаленным серверам подключаться и выполнять удаленные вызовы процедуры.
Примечание |
---|
В следующей версии Microsoft SQL Server эта возможность будет удалена. Не используйте ее при работе над новыми приложениями и как можно быстрее измените приложения, в которых она в настоящее время используется. Используйте вместо него связанные серверы и хранимые процедуры связанных серверов. |
Синтаксис
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 нельзя использовать внутри пользовательской транзакции.
Разрешения
Хранимую процедуру sp_addremotelogin могут выполнять только члены предопределенных ролей сервера sysadmin и securityadmin.
Примеры
А. Сопоставление «один к одному»
Следующий пример сопоставляет удаленные имена локальным, если имена входа пользователей на удаленном сервере ACCOUNTS и на локальном сервере совпадают.
EXEC sp_addremotelogin 'ACCOUNTS';
Б. Сопоставление «многие к одному»
В следующем примере создается запись, которая сопоставляет всех пользователей удаленного сервера ACCOUNTS локальному идентификатору входа Albert.
EXEC sp_addremotelogin 'ACCOUNTS', 'Albert';
В. Использование явного сопоставления «один к одному»
Следующий пример сопоставляет удаленное имя входа удаленного пользователя Chris на удаленном сервере ACCOUNTS локальному пользователю salesmgr.
EXEC sp_addremotelogin 'ACCOUNTS', 'salesmgr', 'Chris';
См. также