Partilhar via


sp_changedbowner (Transact-SQL)

Altera o proprietário do banco de dados atual.

ObservaçãoObservaçã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.

Ícone de vínculo de tópicoConvenções de 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. 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 do 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 banco 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'