Freigeben über


sp_addremotelogin (Transact-SQL)

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

HinweisHinweis

Diese Funktion wird in der nächsten Version von Microsoft SQL Server entfernt. Verwenden Sie diese Funktion beim Entwickeln neuer Anwendungen nicht, und planen Sie so bald wie möglich das Ändern von Anwendungen, in denen es zurzeit verwendet wird. Verwenden Sie stattdessen Verbindungsserver und gespeicherte Prozeduren, die über Verbindungsserver ausgeführt werden.

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Syntax

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

Argumente

  • [ @remoteserver = ] 'remoteserver'
    Der Name des Remoteservers, für den der Remoteanmeldename gilt. remoteserver ist vom Datentyp sysname und hat keinen Standardwert. Wenn nur remoteserver angegeben wird, werden alle Benutzer von remoteserver den schon vorhandenen gleichen Anmeldenamen auf dem lokalen Server zugeordnet. Der Server muss dem lokalen Server bekannt sein. Dies wird mit 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, melden sie sich mit dem lokalen Anmeldenamen an, der ihrem eigenen Anmeldenamen auf remoteserver entspricht. remoteserver ist der Server, der den Remoteprozeduraufruf initiiert.

  • [ @loginame = ] 'login'
    Der Anmeldename des Benutzers in der lokalen Instanz von SQL Server. login is vom Datentyp sysname und hat den Standardwert NULL. login muss in der lokalen Instanz von SQL Server bereits vorhanden sein. Wenn login angegeben wird, werden alle Benutzer von remoteserver diesem lokalen Anmeldenamen zugeordnet. Wenn Benutzer von remoteserver eine Verbindung mit der lokalen Instanz von SQL Server herstellen, um eine remote gespeicherte Prozedur auszuführen, melden sie sich mit login an.

  • [ @remotename = ] 'remote_name'
    Der Anmeldename des Benutzers auf dem Remoteserver. remote_name ist vom Datentyp sysname und hat den Standardwert NULL. remote_name muss auf remoteserver vorhanden sein. Wenn remote_name angegeben wird, wird der entsprechende Benutzer remote_name dem login auf dem lokalen Server zugeordnet. Wenn remote_name auf remoteserver eine Verbindung mit der lokalen Instanz von SQL Server herstellt, um eine remote gespeicherte Prozedur auszuführen, wird die Verbindung als login hergestellt. Der Anmeldename von remote_name muss nicht mit dem Anmeldenamen auf dem Remoteserver, login, identisch sein.

Rückgabecodewerte

0 (Erfolg) oder 1 (Fehler)

Hinweise

Führen Sie verteilte Abfragen mit sp_addlinkedsrvlogin aus.

sp_addremotelogin kann nicht innerhalb einer benutzerdefinierten Transaktion verwendet werden.

Berechtigungen

Nur Mitglieder der festen Serverrollen sysadmin und securityadmin können sp_addremotelogin ausführen.

Beispiele

A. 1:1-Zuordnung

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

EXEC sp_addremotelogin 'ACCOUNTS';

B. 1:n-Zuordnung

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. Verwenden einer expliziten 1:1-Zuordnung

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';