Share via


sp_grantdbaccess (Transact-SQL)

Aggiunge un utente del database al database corrente.

Nota importanteImportante

Questa caratteristica verrà rimossa a partire da una delle prossime versioni 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. Utilizzare CREATE USER in alternativa.

Icona di collegamento a un argomentoConvenzioni della sintassi Transact-SQL

Sintassi

sp_grantdbaccess [ @loginame = ] 'login'
    [ , [ @name_in_db = ] 'name_in_db' [ OUTPUT ] ]

Argomenti

  • [ @loginame = ] **'**login '
    Nome del gruppo di Windows, dell'account di accesso di Windows oppure dell'account di accesso di SQL Server da mappare al nuovo utente del database. I nomi di gruppi di Windows e di account di accesso di Windows devono essere qualificati tramite un nome di dominio Windows nel formato Dominio\accountaccesso, ad esempio LONDON\Joeb. L'account di accesso non può essere già mappato a un utente nel database. login è di tipo sysname e non prevede alcun valore predefinito.

  • [ @name_in_db=] 'name_in_db' [ OUTPUT]
    Nome del nuovo utente del database. name_in_db è una variabile OUTPUT di tipo sysname e il valore predefinito è NULL. Se viene omesso, viene utilizzato login. Se invece viene specificato come variabile OUTPUT con valore NULL, @name_in_db viene impostato su login. name_in_db non deve essere già presente nel database corrente.

Valori restituiti

0 (esito positivo) o 1 (esito negativo)

Osservazioni

sp_grantdbaccess chiama CREATE USER, che supporta opzioni aggiuntive. Per ulteriori informazioni sulla creazione di utenti del database, vedere CREATE USER (Transact-SQL). Per rimuovere un utente del database da un database, vedere DROP USER.

La stored procedure sp_grantdbaccess non può essere eseguita all'interno di una transazione definita dall'utente.

Autorizzazioni

È richiesta l'appartenenza al ruolo predefinito del database db_owner o db_accessadmin.

Esempi

Nell'esempio seguente viene utilizzata l'istruzione CREATE USER per aggiungere un utente del database per l'account di accesso di Windows Edmonds\LolanSo al database corrente. Il nuovo utente è denominato Lolan. Si tratta del metodo ottimale per la creazione di un utente del database.

CREATE USER Lolan FOR LOGIN [Edmonds\LolanSo];
GO