sp_changedbowner (Transact-SQL)
Aplica-se: SQL Server
Altera o proprietário do banco de dados atual.
Importante
Esse recurso será removido em uma versão futura do SQL Server. Evite usar esse recurso em desenvolvimentos novos e planeje modificar os aplicativos que atualmente o utilizam. Em vez disso, use ALTER AUTHORIZATION .
Convenções de sintaxe de Transact-SQL
Sintaxe
sp_changedbowner
[ @loginame = ] N'loginame'
[ , [ @map = ] 'map' ]
[ ; ]
Argumentos
@loginame [ = ] N'loginame'
A ID de logon do novo proprietário do banco de dados atual. @loginame é sysname, sem padrão. @loginame deve ser um logon do SQL Server ou usuário do Windows já existente. @loginame não poderá se tornar o proprietário do banco de dados atual se já tiver acesso ao banco de dados por meio de uma conta de segurança de usuário existente no banco de dados. Para evitar esse cenário, descarte o usuário no banco de dados atual primeiro.
@map [ = ] 'mapa'
Esse parâmetro foi preterido e é mantido para compatibilidade com versões anteriores de scripts.
Valores do código de retorno
0
(sucesso) ou 1
(falha).
Comentários
Depois sp_changedbowner
de executado, o novo proprietário é conhecido como o dbo
usuário dentro do banco de dados. O dbo
usuário tem permissões implícitas para executar todas as atividades no banco de dados.
O proprietário dos master
bancos de dados , model
, ou tempdb
do sistema não pode ser alterado.
Para exibir uma lista dos valores de @loginame válidos, execute o sp_helplogins
procedimento armazenado.
A execução sp_changedbowner
apenas com o parâmetro @loginame altera a propriedade do banco de dados para @loginame.
Você pode alterar o proprietário de qualquer protegível usando a ALTER AUTHORIZATION
instrução. Para obter mais informações, consulte ALTER AUTHORIZATION.
Permissões
Requer a permissão TAKE OWNERSHIP
no banco de dados. Se o novo proprietário tiver um usuário correspondente no banco de dados, requer IMPERSONATE
permissão no login, caso contrário, requer CONTROL SERVER
permissão no servidor.
Exemplos
O exemplo a seguir torna o logon Albert
o proprietário do banco de dados atual.
EXEC sp_changedbowner 'Albert';