Compartilhar via


sp_changeobjectowner (Transact-SQL)

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

Observação importanteImportante

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

Observação importanteImportante

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

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

Sintaxe

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

Argumentos

  • [ @objname = ] 'object'
    É o nome de uma tabela, exibição ou função definida pelo usuário já existente, ou de um procedimento armazenado no banco de dados atual. object é nvarchar(776), sem padrão. object pode ser qualificado com o proprietário do objeto existente, no formato existing_owner**.**object, caso o esquema e seu proprietário tenham 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. owner deve ser um usuário de banco de dados, uma função de servidor, um logon do Microsoft Windows login ou um grupo do Windows válido 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 de código de retorno

0 (êxito) ou 1 (falha)

Comentários

sp_changeobjectowner remove todas as permissões existentes do objeto. Você deverá reaplicar as permissões que desejar manter depois de executar sp_changeobjectowner. Portanto, é recomendável gerar o script de permissões existentes antes de executar 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 na função de banco de dados fixa db_owner, ou nas funções de banco de dados fixas db_ddladmin e db_securityadmin, e também a 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

Consulte também

Referência

ALTER SCHEMA (Transact-SQL)

ALTER DATABASE (Transact-SQL)

ALTER AUTHORIZATION (Transact-SQL)

sp_changedbowner (Transact-SQL)

Procedimentos armazenados do sistema (Transact-SQL)