Share via


sp_changeobjectowner (Transact-SQL)

Aplica-se a:SQL Server

Altera o proprietário de um objeto no banco de dados atual.

Importante

Esse procedimento armazenado só funciona com os objetos disponíveis no Microsoft SQL Server 2000 (8.x). 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 SCHEMA ou ALTER AUTHORIZATION . sp_changeobjectowner altera o esquema e o proprietário. Para preservar a compatibilidade com versões anteriores do SQL Server, esse procedimento armazenado só alterará os proprietários de objetos quando o proprietário atual e o novo proprietário possuírem esquemas que tenham o mesmo nome que seus nomes de usuário de banco de dados.

Importante

Um novo requisito de permissão foi adicionado a esse procedimento armazenado.

Convenções de sintaxe de Transact-SQL

Sintaxe

  
sp_changeobjectowner [ @objname = ] 'object' , [ @newowner = ] 'owner'  

Argumentos

[ @objname = ] 'object' É o nome de uma tabela, exibição, função definida pelo usuário ou procedimento armazenado existente no banco de dados atual. é um nvarchar(776), sem padrão. objeto pode ser qualificado com o proprietário do objeto existente, no formato existing_owner.se o esquema e seu proprietário tiverem o mesmo nome.

[ @newowner = ] 'owner_ ' É o nome da conta de segurança que será o novo proprietário do objeto. owner é sysname, sem padrão. o proprietário deve ser um usuário de banco de dados válido, função de servidor, logon do Microsoft Windows ou grupo do Windows com acesso ao banco de dados atual. Se o novo proprietário for um usuário ou grupo do Windows para o qual não há uma entidade correspondente no nível de banco de dados, será criado um usuário de banco de dados.

Valores do código de retorno

0 (êxito) ou 1 (falha)

Comentários

sp_changeobjectowner remove todas as permissões existentes do objeto. Você terá que reaplicar todas as permissões que deseja manter depois de executar sp_changeobjectowner. Portanto, recomendamos que você crie scripts de permissões existentes antes de executá sp_changeobjectowner. Depois que propriedade do objeto foi alterada, você poderá usar o script para reaplicar permissões. É necessário modificar o proprietário do objeto no script de permissões antes de executar.

Para alterar o proprietário de um protegível, use ALTER AUTHORIZATION. Para alterar um esquema, use ALTER SCHEMA.

Permissões

Requer associação à função de banco de dados fixa db_owner ou associação à função de banco de dados fixa db_ddladmin e à função de banco de dados fixa db_securityadmin , além da permissão CONTROL no objeto.

Exemplos

O exemplo a seguir altera o proprietário da tabela authors para Corporate\GeorgeW.

EXEC sp_changeobjectowner 'authors', 'Corporate\GeorgeW';  
GO  

Confira também

ALTER SCHEMA (Transact-SQL)
ALTER DATABASE (Transact-SQL)
ALTER AUTHORIZATION (Transact-SQL)
sp_changedbowner (Transact-SQL)
Procedimentos armazenados do sistema (Transact-SQL)