Condividi tramite


sp_addremotelogin (Transact-SQL)

Si applica a: SQL Server

Aggiunge un nuovo ID di accesso remoto nel server locale. Ciò consente ai server remoti di connettersi ed eseguire chiamate di procedure remote.

Importante

Questa funzionalità verrà rimossa nelle versioni future di SQL Server. Evitare di usare questa funzionalità in un nuovo progetto di sviluppo e prevedere interventi di modifica nelle applicazioni in cui è attualmente implementata. Utilizzare server collegati e stored procedure relative.

Convenzioni relative alla sintassi Transact-SQL

Sintassi

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

Argomenti

[ @remoteserver = ] N'remoteserver'

Nome del server remoto a cui si applica l'account di accesso remoto. @remoteserver è sysname, senza impostazione predefinita. Se viene specificato solo @remoteserver , tutti gli utenti in @remoteserver vengono mappati agli account di accesso esistenti con lo stesso nome nel server locale. Il server deve essere noto al server locale. Questa operazione viene aggiunta tramite sp_addserver. Quando gli utenti in @remoteserver si connettono al server locale che esegue SQL Server per eseguire una stored procedure remota, si connettono come account di accesso locale corrispondente al proprio account di accesso in @remoteserver. @remoteserver è il server che avvia la chiamata di procedura remota.

[ @loginame = ] N'loginame'

ID di accesso dell'utente nell'istanza locale di SQL Server. @loginame è sysname, con un valore predefinito .NULL @loginame deve esistere già nell'istanza locale di SQL Server. Se si specifica @loginame , viene eseguito il mapping di tutti gli utenti in @remoteserver a tale account di accesso locale specifico. Quando gli utenti in @remoteserver si connettono all'istanza locale di SQL Server per eseguire una stored procedure remota, si connettono come @loginame.

[ @remotename = ] N'remotename'

ID di accesso dell'utente nel server remoto. @remotename è sysname, con il valore predefinito NULL. @remotename deve esistere in @remoteserver. Se si specifica @remotename , viene eseguito il mapping dell'utente specifico @remotename a @loginame nel server locale. Quando @remotename in @remoteserver si connette all'istanza locale di SQL Server per eseguire una stored procedure remota, si connette come @loginame. L'ID di accesso di @remotename può essere diverso dall'ID di accesso nel server remoto @loginame.

Valori del codice restituito

0 (esito positivo) o 1 (errore).

Osservazioni:

Per eseguire query distribuite, usare sp_addlinkedsrvlogin.

sp_addremotelogin non può essere usato all'interno di una transazione definita dall'utente.

Autorizzazioni

Solo i membri dei ruoli predefiniti del server sysadmin e securityadmin possono eseguire sp_addremotelogin.

Esempi

R. Eseguire il mapping uno a uno

Nell'esempio seguente viene eseguito il mapping dei nomi remoti ai nomi locali quando nel server remoto ACCOUNTS e in quello locale sono disponibili gli stessi account di accesso.

EXEC sp_addremotelogin 'ACCOUNTS';

B. Eseguire il mapping di molti a uno

Nell'esempio seguente viene creata una voce per mappare tutti gli utenti del server remoto ACCOUNTS all'ID di accesso locale Albert.

EXEC sp_addremotelogin 'ACCOUNTS', 'Albert';

C. Usare il mapping uno-a-uno esplicito

Nell'esempio seguente un account di accesso dell'utente remoto Chris nel server remoto ACCOUNTS viene mappato all'utente locale salesmgr.

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