sp_addremotelogin (Transact-SQL)

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

Nota

Questa caratteristica verrà rimossa a partire dalla prossima versione di Microsoft SQL Server. Non utilizzare questa caratteristica in un nuovo progetto di sviluppo e modificare non appena possibile le applicazioni in cui è attualmente implementata. Utilizzare i server collegati e le stored procedure per i server collegati in alternativa.

Icona di collegamento a un argomentoConvenzioni della sintassi Transact-SQL

Sintassi

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

Argomenti

  • [ @remoteserver = ] 'remoteserver'
    Nome del server remoto a cui fa riferimento l'account di accesso remoto. remoteserver è di tipo sysname e non prevede alcun valore predefinito. Se si specifica solo remoteserver, tutti gli utenti di remoteserver vengono mappati ad account di accesso esistenti aventi lo stesso nome nel server locale. Il server deve essere noto al server locale. Il server viene aggiunto tramite sp_addserver. Quando per eseguire una stored procedure remota gli utenti di remoteserver si connettono al server locale in cui SQL Server è in esecuzione, utilizzano l'account di accesso locale corrispondente al proprio account di accesso in remoteserver. remoteserver è il server che inizializza la chiamata di procedura remota.

  • [ @loginame = ] 'login'
    ID di accesso dell'utente nell'istanza locale di SQL Server. login è di tipo sysname e il valore predefinito è NULL. login deve esistere già nell'istanza locale di SQL Server. Se si specifica login, tutti gli utenti di remoteserver vengono mappati a tale account di accesso locale specifico. Gli utenti di remoteserver, quando si connettono all'istanza locale di SQL Server per eseguire una stored procedure remota, utilizzano l'account di accesso specificato tramite login.

  • [ @remotename = ] 'remote_name'
    ID di accesso dell'utente nel server remoto. remote_name è di tipo sysname e il valore predefinito è NULL. remote_name deve esistere in remoteserver. Se si specifica remote_name, l'utente remote_name viene mappato all'account login nel server locale. Se remote_name in remoteserver si connette all'istanza locale di SQL Server per eseguire una stored procedure remota, utilizza l'account di accesso specificato tramite login. L'ID di accesso definito da remote_name può essere diverso dall'ID di accesso nel server remoto, ovvero login.

Valori restituiti

0 (esito positivo) o 1 (esito negativo)

Osservazioni

Per eseguire query distribuite, utilizzare sp_addlinkedsrvlogin.

La stored procedure sp_addremotelogin non può essere utilizzata in una transazione definita dall'utente.

Autorizzazioni

Solo i membri del ruolo predefinito del server sysadmin o securityadmin possono eseguire sp_addremotelogin.

Esempi

A. Mapping uno-a-uno

Nell'esempio seguente i nomi remoti vengono mappati ai nomi locali quando nel server remoto ACCOUNTS e in quello locale sono disponibili gli stessi account di accesso.

EXEC sp_addremotelogin 'ACCOUNTS';

B. Mapping 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. Utilizzo del 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';