sp_addalias (Transact-SQL)
Esegue il mapping di un account di accesso a un utente in un database.
Importante: |
---|
La stored procedure sp_addalias è disponibile per compatibilità con le versioni precedenti di SQL Server. Questa funzionalità verrà rimossa a partire dalla prossima versione di Microsoft SQL Server. Evitare di utilizzare questa funzionalità in un nuovo progetto di sviluppo e prevedere interventi di modifica nelle applicazioni in cui è attualmente implementata. In Motore di database di SQL Server 2005, in alternativa all'utilizzo degli alias, è possibile utilizzare i ruoli e concedere autorizzazioni ai ruoli. Per ulteriori informazioni, vedere CREATE USER (Transact-SQL) e CREATE ROLE (Transact-SQL). |
Convenzioni della sintassi Transact-SQL
Sintassi
sp_addalias [ @loginame = ] 'login' , [ @name_in_db = ] 'alias_user'
Argomenti
- [ @loginame = ] 'login'
Nome dell'account di accesso a cui verrà assegnato un alias. login è di tipo sysname e non prevede alcun valore predefinito. login deve essere un account di accesso di SQL Server valido oppure un utente di Microsoft con autorizzazione a connettersi a un'istanza di SQL Server. login non può esistere già o essere assegnato come alias a un utente esistente in un database.
- [ @name_in_db = ] 'alias_user'
Nome dell'utente a cui l'account di accesso è mappato. alias_user è di tipo sysname e non prevede alcun valore predefinito. alias_user deve essere un utente nel database in cui l'account di accesso è già assegnato come alias. In caso di mapping a un utente di Windows, specificare il nome in base al quale è noto nel database.
Osservazioni
È possibile mappare un account di accesso a utenti di qualsiasi database. Eseguire la stored procedure sp_addalias solo nel database in cui l'utente deve disporre di un alias. Se gli utenti si connettono a un'istanza di Motore di database tramite il parametro login , saranno in grado di eseguire attività nel database in base alle autorizzazioni applicate a alias_user.
[!NOTA] Non è possibile creare un alias per l'account di accesso sa.
Un account di accesso può accedere a un database nei seguenti casi:
- L'account di accesso è associato a un account utente del database.
- L'account di accesso è associato a un alias utente nel database, che il proprietario del database o un membro del ruolo predefinito del server sysadmin ha aggiunto tramite sp_addalias.
- L'account guest è stato attivato nel database.
La stored procedure sp_addalias non può essere eseguita da una transazione definita dall'utente.
Nella tabella seguente vengono descritte alcune stored procedure di sistema che è possibile utilizzare in combinazione con la procedura sp_addalias.
Stored procedure | Descrizione |
---|---|
sp_helplogins |
Restituisce un elenco di valori validi per l'argomento login. |
sp_helpuser |
Restituisce un elenco di valori validi per l'argomento alias_user nel database in cui è utilizzato l'account di accesso. |
sp_dropalias |
Rimuove un mapping di alias. |
Autorizzazioni
È richiesta l'appartenenza al ruolo predefinito del server sysadmin.
Valori restituiti
0 (esito positivo) o 1 (esito negativo)
Esempi
Nell'esempio seguente viene descritto come eseguire il mapping dell'account di accesso di SQL Server Victoria
a un utente esistente (Albert
) nel database AdventureWorks
.
USE AdventureWorks;
EXEC sp_addalias 'Victoria', 'Albert' ;
Vedere anche
Riferimento
Stored procedure di protezione (Transact-SQL)
CREATE USER (Transact-SQL)
CREATE ROLE (Transact-SQL)
sp_dropalias (Transact-SQL)
sp_helplogins (Transact-SQL)
sp_helpuser (Transact-SQL)
Stored procedure di sistema (Transact-SQL)
sp_grantdbaccess (Transact-SQL)