sp_addremotelogin (Transact-SQL)

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.

Notes

Cette fonctionnalité sera supprimée dans la prochaine version de Microsoft SQL Server. Évitez d'utiliser cette fonctionnalité dans de nouveaux travaux de développement, et modifiez dès que possible les applications qui utilisent actuellement cette fonctionnalité. Utilisez des serveurs liés et des procédures stockées de serveur lié à la place.

Icône Lien de rubriqueConventions de la syntaxe de Transact-SQL

Syntaxe

sp_addremotelogin [ @remoteserver = ] 'remoteserver' 
     [ , [ @loginame = ] 'login' ] 
          [ , [ @remotename = ] 'remote_name' ]

Arguments

  • [ @remoteserver = ] 'remoteserver'
    Nom du serveur distant auquel s'applique la connexion d'accès à distance. L'argument remoteserver est de type sysname, sans valeur par défaut. Si seul remoteserver est spécifié, tous les utilisateurs du remoteserver sont mappés aux connexions existantes ayant le même nom sur le serveur local. Le serveur doit être connu du serveur local. Il est ajouté avec sp_addserver. Lorsque les utilisateurs du remoteserver se connectent au serveur local utilisant SQL Server afin d'exécuter une procédure stockée distante, ils se connectent sous la connexion locale qui correspond à leur propre connexion sur le remoteserver. remoteserver est le serveur qui lance l'appel de procédure distante.

  • [ @loginame = ] 'login'
    ID de connexion de l'utilisateur sur l'instance locale de SQL Server. login est de type sysname, avec NULL comme valeur par défaut. login doit déjà exister sur l'instance locale de SQL Server. Si vous spécifiez login, tous les utilisateurs du remoteserver sont mappés à la connexion locale spécifique. Lorsque les utilisateurs du remoteserver se connectent à l'instance locale de SQL Server pour exécuter une procédure stockée distante, ils se connectent en tant que login.

  • [ @remotename = ] 'remote_name'
    ID de connexion de l'utilisateur sur le serveur distant. remote_name est de type sysname, avec NULL comme valeur par défaut. remote_name doit exister sur le remoteserver. Si remote_name est spécifié, l'utilisateur spécifique remote_name est mappé à login du serveur local. Lorsque remote_name de remoteserver se connecte à l'instance locale de SQL Server pour exécuter une procédure stockée distante, il se connecte en tant que login. L'ID de connexion de remote_name peut être différent de l'ID de connexion du serveur distant, login.

Valeurs des codes renvoyés

0 (succès) ou 1 (échec)

Notes

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

La procédure stockée sp_addremotelogin ne peut pas être utilisée au sein d'une transaction définie par l'utilisateur.

Autorisations

Seuls les membres des rôles serveur fixes sysadmin et securityadmin sont habilités à exécuter sp_addremotelogin.

Exemples

A. Mappage de 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. Mappage de 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. Utilisation d'un mappage explicite de 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';