sp_changedbowner (Transact-SQL)

Si applica a: sìSQL Server (tutte le versioni supportate)

Modifica il proprietario del database corrente.

Importante

Questa funzionalità verrà rimossa a partire da una delle prossime versioni di Microsoft 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 ALTER AUTHORIZATION .

Icona di collegamento a un argomento Convenzioni della sintassi Transact-SQL

Sintassi

  
sp_changedbowner [ @loginame = ] 'login'  
     [ , [ @map = ] remap_alias_flag ]  

Argomenti

[ @loginame =]'login'
ID di accesso del nuovo proprietario del database corrente. login è di tipo sysname e non prevede alcun valore predefinito. l' account di accesso deve essere un account di SQL Server accesso o un utente di Windows già esistente. l' account di accesso non può diventare il proprietario del database corrente se dispone già dell'accesso al database tramite un account di sicurezza utente esistente all'interno del database. Per evitare questa situazione, rimuovere l'utente dal database corrente.

[ @map =] remap_alias_flag
Il parametro remap_alias_flag è deprecato perché gli alias di accesso sono stati rimossi da SQL Server . L'uso del parametro remap_alias_flag non genera un errore, ma non ha alcun effetto.

Valori del codice restituito

0 (operazione completata) o 1 (operazione non riuscita)

Commenti

Dopo l'esecuzione di sp_changedbowner, nel database il nuovo proprietario è noto come utente dbo. L'utente dbo dispone di autorizzazioni implicite per l'esecuzione di qualsiasi operazione nel database.

Il proprietario dei database di sistema master, model e tempdb non può essere modificato.

Per visualizzare un elenco dei valori di accesso validi, eseguire il sp_helplogins stored procedure.

L'esecuzione di sp_changedbowner solo con il parametro login modifica la proprietà del database per l' accesso.

È possibile modificare il proprietario di qualsiasi entità a protezione diretta mediante l'istruzione ALTER AUTHORIZATION. Per altre informazioni, vedere ALTER AUTHORIZATION (Transact-SQL).

Autorizzazioni

È richiesta l'autorizzazione TAKE OWNERSHIP per il database. Se il nuovo proprietario dispone di un utente corrispondente nel database, è richiesta l'autorizzazione IMPERSONATE per l'account di accesso. In caso contrario, è richiesta l'autorizzazione CONTROL SERVER per il server.

Esempio

Nell'esempio seguente l'account di accesso Albert diventa il proprietario del database corrente.

EXEC sp_changedbowner 'Albert';  

Vedere anche

Stored procedure di sicurezza (Transact-SQL)
CREATE DATABASE (SQL Server Transact-SQL)
sp_dropalias ()Transact-SQL
sp_dropuser (Transact-SQL)
sp_helpdb ()Transact-SQL
sp_helplogins ()Transact-SQL
Stored procedure di sistema (Transact-SQL)