| title | sp_addremotelogin (Transact-SQL) | ||
|---|---|---|---|
| description | sp_addremotelogin adds a new remote login ID on the local server. | ||
| author | VanMSFT | ||
| ms.author | vanto | ||
| ms.reviewer | randolphwest | ||
| ms.date | 06/23/2025 | ||
| ms.service | sql | ||
| ms.subservice | system-objects | ||
| ms.topic | reference | ||
| f1_keywords |
|
||
| helpviewer_keywords |
|
||
| dev_langs |
|
[!INCLUDE SQL Server]
Adds a new remote login ID on the local server. This enables remote servers to connect and execute remote procedure calls.
Important
[!INCLUDE ssNoteDepFutureAvoid] Use linked servers and linked server stored procedures instead.
:::image type="icon" source="../../includes/media/topic-link-icon.svg" border="false"::: Transact-SQL syntax conventions
sp_addremotelogin
[ @remoteserver = ] N'remoteserver'
[ , [ @loginame = ] N'loginame' ]
[ , [ @remotename = ] N'remotename' ]
[ ; ]
The name of the remote server that the remote login applies to. @remoteserver is sysname, with no default. If only @remoteserver is specified, all users on @remoteserver are mapped to existing logins of the same name on the local server. The server must be known to the local server. This is added by using sp_addserver. When users on @remoteserver connect to the local server that is running [!INCLUDE ssNoVersion] to execute a remote stored procedure, they connect as the local login that matches their own login on @remoteserver. @remoteserver is the server that initiates the remote procedure call.
The login ID of the user on the local instance of [!INCLUDE ssNoVersion]. @loginame is sysname, with a default of NULL. @loginame must already exist on the local instance of [!INCLUDE ssNoVersion]. If @loginame is specified, all users on @remoteserver are mapped to that specific local login. When users on @remoteserver connect to the local instance of [!INCLUDE ssNoVersion] to execute a remote stored procedure, they connect as @loginame.
The login ID of the user on the remote server. @remotename is sysname, with a default of NULL. @remotename must exist on @remoteserver. If @remotename is specified, the specific user @remotename is mapped to @loginame on the local server. When @remotename on @remoteserver connects to the local instance of [!INCLUDE ssNoVersion] to execute a remote stored procedure, it connects as @loginame. The login ID of @remotename can be different from the login ID on the remote server, @loginame.
0 (success) or 1 (failure).
To execute distributed queries, use sp_addlinkedsrvlogin.
sp_addremotelogin can't be used inside a user-defined transaction.
Only members of the sysadmin and securityadmin fixed server roles can execute sp_addremotelogin.
The following example maps remote names to local names when the remote server ACCOUNTS and local server have the same user logins.
EXECUTE sp_addremotelogin 'ACCOUNTS';The following example creates an entry that maps all users from the remote server ACCOUNTS to the local login ID Albert.
EXECUTE sp_addremotelogin 'ACCOUNTS', 'Albert';The following example maps a remote login from the remote user Chris on the remote server ACCOUNTS to the local user salesmgr.
EXECUTE 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)
- System stored procedures (Transact-SQL)