sp_addremotelogin (Transact-SQL)

S’applique à :SQL Server

Ajoute un nouvel ID de connexion à distance sur le serveur local. Cela permet aux serveurs distants de se connecter et d'exécuter des appels de procédure distante.

Important

Cette fonctionnalité sera supprimée dans une version future de SQL Server. Évitez d'utiliser cette fonctionnalité dans de nouveaux travaux de développement, et prévoyez de modifier les applications qui utilisent actuellement cette fonctionnalité. Employez des serveurs liés et des procédures stockées de serveurs liés à la place.

Conventions de la syntaxe Transact-SQL

Syntaxe

sp_addremotelogin
    [ @remoteserver = ] N'remoteserver'
    [ , [ @loginame = ] N'loginame' ]
    [ , [ @remotename = ] N'remotename' ]
[ ; ]

Arguments

[ @remoteserver = ] N’remoteserver'

Nom du serveur distant auquel la connexion à distance s’applique. @remoteserver est sysname, sans valeur par défaut. Si seule @remoteserver est spécifiée, tous les utilisateurs sur @remoteserver sont mappés aux connexions existantes du même nom sur le serveur local. Le serveur doit être connu du serveur local. Cela est ajouté à l’aide de sp_addserver. Lorsque les utilisateurs sur @remoteserver se connectent au serveur local exécutant SQL Server pour exécuter une procédure stockée distante, ils se connectent en tant que connexion locale qui correspond à leur propre connexion sur @remoteserver. @remoteserver est le serveur qui lance l’appel de procédure distante.

[ @loginame = ] N’loginame'

ID de connexion de l’utilisateur sur l’instance locale de SQL Server. @loginame est sysname, avec la valeur par défaut NULL. @loginame doit déjà exister sur l’instance locale de SQL Server. Si @loginame est spécifié, tous les utilisateurs sur @remoteserver sont mappés à cette connexion locale spécifique. Lorsque les utilisateurs sur @remoteserver se connectent à l’instance locale de SQL Server pour exécuter une procédure stockée distante, ils se connectent en tant que @loginame.

[ @remotename = ] N’remotename'

ID de connexion de l’utilisateur sur le serveur distant. @remotename est sysname, avec la valeur par défaut NULL. @remotename doit exister sur @remoteserver. Si @remotename est spécifié, l’utilisateur spécifique @remotename est mappé à @loginame sur le serveur local. Lorsque @remotename sur @remoteserver se connecte à l’instance locale de SQL Server pour exécuter une procédure stockée distante, elle se connecte en tant que @loginame. L’ID de connexion de @remotename peut être différent de l’ID de connexion sur le serveur distant, @loginame.

Valeurs des codes de retour

0 (réussite) ou 1 (échec).

Notes

Pour exécuter des requêtes distribuées, utilisez sp_addlinkedsrvlogin.

sp_addremotelogin ne peut pas être utilisé à l’intérieur d’une transaction définie par l’utilisateur.

Autorisations

Seuls les membres des rôles serveur fixe sysadmin et securityadmin peuvent s’exécuter sp_addremotelogin.

Exemples

R. Mapper un à un

L'exemple suivant mappe des noms distants à des noms locaux lorsque le serveur distant ACCOUNTS et le serveur local ont les mêmes connexions utilisateur.

EXEC sp_addremotelogin 'ACCOUNTS';

B. Mapper plusieurs à un

L'exemple suivant crée une entrée qui mappe tous les utilisateurs du serveur distant ACCOUNTS à la connexion locale Albert.

EXEC sp_addremotelogin 'ACCOUNTS', 'Albert';

C. Utiliser un mappage explicite un-à-un

L'exemple suivant mappe une connexion distante de l'utilisateur distant Chris situé sur le serveur distant ACCOUNTS à l'utilisateur local salesmgr.

EXEC sp_addremotelogin 'ACCOUNTS', 'salesmgr', 'Chris';