sys.sp_addremotelogin (Transact-SQL)

Dotyczy:SQL Server

Dodaje nowy zdalny identyfikator logowania na lokalnym serwerze. Umożliwia to zdalnym serwerom łączenie się i wykonywanie zdalnych wywołań procedur.

Ważna

Ta funkcja zostanie usunięta w przyszłej wersji programu SQL Server. Unikaj używania tej funkcji w nowych pracach programistycznych i zaplanuj modyfikowanie aplikacji, które obecnie korzystają z tej funkcji. Zamiast tego należy używać połączonych serwerów i procedur składowanych na połączonych serwerach.

Transact-SQL konwencje składni

Składnia

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

Arguments

[ @remoteserver = ] N'remoteserver'

Nazwa zdalnego serwera, do którego odnosi się zdalne logowanie. @remoteserver to sysname, bez domyślnego ustawienia. Jeśli podano tylko @remoteserver , wszyscy użytkownicy na @remoteserver są przypisani do istniejących login o tej samej nazwie na lokalnym serwerze. Serwer musi być znany lokalnemu serwerowi. Dodaje się to dzięki użyciu sp_addserver. Gdy użytkownicy na @remoteserver łączą się z lokalnym serwerem, który SQL Server uruchamia w celu wykonania zdalnej procedury przechowywanej, łączą się jako lokalne logowanie zgodne z ich własnym logowaniem na @remoteserver. @remoteserver jest serwer, który inicjuje zdalne wywołanie procedury.

[ @loginame = ] N'loginame'

Identyfikator logowania użytkownika w lokalnej instancji SQL Server. @loginame to nazwa systemu, z domyślnym .NULL @loginame musi już istnieć na lokalnej instancji SQL Server. Jeśli @loginame jest określone, wszyscy użytkownicy na @remoteserver są przypisani do tego konkretnego lokalnego logowania. Gdy użytkownicy na @remoteserver łączą się z lokalną instancją SQL Server, aby wykonać zdalną procedurę przechowywaną, łączą się jako @loginame.

[ @remotename = ] N'remotename'

Identyfikator logowania użytkownika na serwerze zdalnym. @remotename to nazwa systemu, z domyślnym .NULL @remotename musi istnieć na @remoteserver. Jeśli @remotename jest określone, konkretny @remotename użytkownika jest przypisany do @loginame na lokalnym serwerze. Gdy @remotename on @remoteserver łączy się z lokalną instancją SQL Server w celu wykonania zdalnej procedury przechowywanej, łączy się jako @loginame. Identyfikator logowania @remotename może różnić się od identyfikatora logowania na serwerze zdalnym, @loginame.

Zwracanie wartości kodu

0 (powodzenie) lub 1 (niepowodzenie).

Remarks

Aby wykonać zapytania rozproszone, użyj sp_addlinkedsrvlogin.

sp_addremotelogin nie można go używać w transakcji zdefiniowanej przez użytkownika.

Permissions

Tylko członkowie ról administratora systemu i administratora bezpieczeństwa mogą wykonywać sp_addremotelogin.

Examples

A. Mapa jeden do jednego

Poniższy przykład mapuje nazwy zdalne na nazwy lokalne, gdy serwer ACCOUNTS zdalny i serwer lokalny mają te same logowania użytkownika.

EXECUTE sp_addremotelogin 'ACCOUNTS';

B. Odwzorowanie wielu do jednego

Poniższy przykład tworzy wpis, który mapuje wszystkich użytkowników z serwera ACCOUNTS zdalnego na lokalny identyfikator Albertlogowania.

EXECUTE sp_addremotelogin 'ACCOUNTS', 'Albert';

C. Użyj jawnego mapowania jeden do jednego

Poniższy przykład mapuje zdalne logowanie użytkownika Chris zdalnego na serwerze ACCOUNTS zdalnym na użytkownika salesmgrlokalnego.

EXECUTE sp_addremotelogin 'ACCOUNTS', 'salesmgr', 'Chris';