sp_changedbowner (Transact-SQL)
Modifica il proprietario del database corrente.
Importante |
---|
Questa funzionalità 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 ALTER AUTHORIZATION in alternativa. |
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. login deve essere un account di accesso di SQL Server esistente oppure un utente di Windows. login non può essere impostato come proprietario del database corrente se dispone già dell'accesso al database tramite un account di sicurezza utente all'interno del database. Per evitare questa situazione, rimuovere l'utente dal database corrente.[ @map= ] remap_alias_flag
Il parametro remap_alias_flag è deprecato poiché gli alias dell'account di accesso sono stati rimossi da SQL Server. L'utilizzo del parametro remap_alias_flag non provoca alcun errore, ma non ha alcun effetto.
Valori di codice restituiti
0 (esito positivo) o 1 (esito negativo)
Osservazioni
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.
Non è possibile modificare il proprietario di un database di sistema master, model o tempdb.
Per visualizzare un elenco dei valori validi per login, eseguire la stored procedure sp_helplogins.
L'esecuzione di sp_changedbowner esclusivamente con il parametro login comporta la modifica del proprietario del database in login.
È possibile modificare il proprietario di qualsiasi entità a protezione diretta mediante l'istruzione ALTER AUTHORIZATION. Per ulteriori 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.
Esempi
Nell'esempio seguente l'account di accesso Albert diventa il proprietario del database corrente.
EXEC sp_changedbowner 'Albert'
Vedere anche
Riferimento
Stored procedure di sicurezza (Transact-SQL)