Freigeben über


sp_addremotelogin (Transact-SQL)

Gilt für: SQL Server

Fügt eine neue Remoteanmelde-ID auf dem lokalen Server hinzu. Dies ermöglicht es Remoteservern, eine Verbindung herzustellen und Remoteprozeduraufrufe auszuführen.

Wichtig

Diese Funktion wird in einer zukünftigen Version von SQL Serverentfernt. Nutzen Sie diese Funktionen bei Neuentwicklungen nicht mehr, und planen Sie die Änderung von Anwendungen, die diese Funktion zurzeit verwenden. Nutzen Sie stattdessen Verbindungsserver und gespeicherte Prozeduren, die über Verbindungsserver ausgeführt werden.

Transact-SQL-Syntaxkonventionen

Syntax

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

Argumente

[ @remoteserver = ] N'remoteserver'

Der Name des Remoteservers, auf den die Remoteanmeldung angewendet wird. @remoteserver ist "sysname" ohne Standard. Wenn nur @remoteserver angegeben ist, werden alle Benutzer auf @remoteserver vorhandenen Anmeldungen mit demselben Namen auf dem lokalen Server zugeordnet. Der Server muss dem lokalen Server bekannt sein. Dies wird mithilfe von sp_addserver hinzugefügt. Wenn Benutzer auf @remoteserver eine Verbindung mit dem lokalen Server herstellen, auf dem SQL Server ausgeführt wird, um eine remote gespeicherte Prozedur auszuführen, stellen sie eine Verbindung als lokale Anmeldung her, die ihrer eigenen Anmeldung auf @remoteserver entspricht. @remoteserver ist der Server, der den Remoteprozeduraufruf initiiert.

[ @loginame = ] N'loginame'

Die Anmelde-ID des Benutzers in der lokalen Instanz von SQL Server. @loginame ist "sysname" mit der Standardeinstellung "NULL. @loginame muss bereits in der lokalen Instanz von SQL Server vorhanden sein. Wenn @loginame angegeben ist, werden alle Benutzer in @remoteserver dieser bestimmten lokalen Anmeldung zugeordnet. Wenn Benutzer auf @remoteserver eine Verbindung mit der lokalen Instanz von SQL Server herstellen, um eine remote gespeicherte Prozedur auszuführen, stellen sie eine Verbindung als @loginame her.

[ @remotename = ] N'remotename'

Die Anmelde-ID des Benutzers auf dem Remoteserver. @remotename ist "sysname" mit einem Standardwert von NULL. @remotename muss auf @remoteserver vorhanden sein. Wenn @remotename angegeben ist, wird der spezifische Benutzer @remotename @loginame auf dem lokalen Server zugeordnet. Wenn @remotename auf @remoteserver eine Verbindung mit der lokalen Instanz von SQL Server herstellt, um eine remote gespeicherte Prozedur auszuführen, wird eine Verbindung als @loginame hergestellt. Die Anmelde-ID von @remotename kann sich von der Anmelde-ID auf dem Remoteserver @loginame unterscheiden.

Rückgabecodewerte

0 (erfolgreich) oder 1 Fehler.

Hinweise

Um verteilte Abfragen auszuführen, verwenden Sie sp_addlinkedsrvlogin.

sp_addremotelogin kann nicht innerhalb einer benutzerdefinierten Transaktion verwendet werden.

Berechtigungen

Nur Mitglieder der festen Serverrollen "sysadmin " und "securityadmin " können ausgeführt werden sp_addremotelogin.

Beispiele

A. 1 bis 1 zuordnen

In diesem Beispiel werden Remotenamen lokalen Namen zugeordnet, wenn der Remoteserver ACCOUNTS und der lokale Server dieselben Benutzeranmeldenamen aufweisen.

EXEC sp_addremotelogin 'ACCOUNTS';

B. N:n zuordnen

In diesem Beispiel wird ein Eintrag erstellt, mit dem alle Benutzer auf dem Remoteserver ACCOUNTS dem lokalen Anmeldenamen Albert zugeordnet werden.

EXEC sp_addremotelogin 'ACCOUNTS', 'Albert';

C. Explizite 1:1-Zuordnung verwenden

Im folgenden Beispiel wird ein Remoteanmeldenamen für den Remotebenutzer Chris auf dem Remoteserver ACCOUNTS dem lokalen Benutzer salesmgr zugeordnet.

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