sp_changedbowner (Transact-SQL)
Altera o proprietário do banco de dados atual.
Observação |
---|
Esse recurso será removido em uma versão futura do Microsoft SQL Server. Evite usar esse recurso em desenvolvimentos novos e planeje modificar os aplicativos que atualmente o utilizam. Em vez disso, use ALTER AUTHORIZATION. |
Sintaxe
sp_changedbowner [ @loginame = ] 'login'
[ , [ @map = ] remap_alias_flag ]
Argumentos
[ @loginame = ] 'login'
É a ID de logon do novo proprietário do banco de dados atual. login é sysname, sem padrão. login deve ser um logon do SQL Server ou usuário do Windows já existente. login não poderá se tornar o proprietário do banco de dados atual se já tiver acesso ao banco de dados através de uma conta de segurança de usuário existente no banco de dados. Para evitar isso, descarte primeiro o usuário do banco de dados atual.[ @map = ] remap_alias_flag
O parâmetro remap_alias_flag foi substituído porque foram removidos aliases de logon do SQL Server. O uso do parâmetro remap_alias_flag não causa um erro, mas não tem nenhum efeito.
Valores de código de retorno
0 (êxito) ou 1 (falha)
Comentários
Depois que sp_changedbowner for executado, o novo proprietário será conhecido como usuário dbo no banco de dados. O dbo possui permissões implícitas para executar todas as atividades no banco de dados.
O proprietário dos bancos de dados do sistema mestre, modelo ou tempdb não pode ser alterado.
Para exibir uma lista dos valores login válidos, execute o procedimento armazenado sp_helplogins.
A execução de sp_changedbowner somente com o parâmetro login altera a propriedade de banco de dados para login.
É possível alterar o proprietário de qualquer protegível usando a instrução ALTER AUTHORIZATION. Para obter mais informações, consulte ALTER AUTHORIZATION (Transact-SQL).
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, a permissão IMPERSONATE será necessária no logon; caso contrário, a permissão CONTROL SERVER será necessária no servidor.
Exemplos
O exemplo a seguir torna o logon Albert o proprietário do banco de dados atual.
EXEC sp_changedbowner 'Albert'