sp_dropuser (Transact-SQL)

Si applica a: SQL Server

Rimuove un utente di database dal database corrente. sp_dropuser garantisce la compatibilità con le versioni precedenti di SQL Server.

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. In alternativa, usare DROP USER .

Convenzioni relative alla sintassi Transact-SQL

Sintassi

sp_dropuser [ @name_in_db = ] N'name_in_db'
[ ; ]

Argomenti

[ @name_in_db = ] N'name_in_db'

Nome dell'utente da rimuovere. @name_in_db è sysname, senza impostazione predefinita. @name_in_db deve esistere nel database corrente. Quando si specifica un account di Windows, usare il nome in base al quale il database conosce tale account.

Valori del codice restituito

0 (esito positivo) o 1 (errore).

Osservazioni:

sp_dropusersp_revokedbaccess esegue per rimuovere l'utente dal database corrente.

Utilizzare sp_helpuser per visualizzare un elenco dei nomi utente che possono essere rimossi dal database corrente.

Quando si rimuove un utente di database, vengono rimossi anche tutti gli alias di tale utente. Se l'utente è proprietario di uno schema vuoto con lo stesso nome dell'utente, lo schema viene eliminato. Se l'utente possiede altre entità a protezione diretta nel database, l'utente non viene eliminato. La proprietà degli oggetti deve prima essere trasferita ad un'altra entità. Per altre informazioni, vedere ALTER AUTHORIZATION. La rimozione di un utente del database rimuove automaticamente le autorizzazioni associate all'utente e rimuove l'utente da qualsiasi ruolo del database di cui è membro.

sp_dropuser non può essere usato per rimuovere gli utenti del proprietario del database (dbo) INFORMATION_SCHEMA o l'utente guest dai master database o tempdb . Nei database non di sistema revoca EXEC sp_dropuser 'guest' l'autorizzazione CONNECT al guest utente, ma l'utente stesso non viene eliminato.

sp_dropuser non può essere eseguito all'interno di una transazione definita dall'utente.

Autorizzazioni

È richiesta l'autorizzazione ALTER ANY USER per il database.

Esempi

Nell'esempio seguente l'utente Albert viene rimosso dal database corrente.

EXEC sp_dropuser 'Albert';
GO