sp_changedbowner (Transact-SQL)

Altera o proprietário do banco de dados atual.

Observação importanteImportante

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.

Ícone de vínculo de tópico Convenções da sintaxe Transact-SQL

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 valor padrão. login deve ser um logon existente do SQL Server ou um usuário do Windows. 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.

Não é possível alterar o proprietário dos bancos de dados de sistema master, model ou tempdb.

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

Exige 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'

Consulte também

Referência

Procedimentos armazenados de segurança (Transact-SQL)

CREATE DATABASE (Transact-SQL)

sp_dropalias (Transact-SQL)

sp_dropuser (Transact-SQL)

sp_helpdb (Transact-SQL)

sp_helplogins (Transact-SQL)

Procedimentos armazenados do sistema (Transact-SQL)