sys.sp_changeobjectowner (Transact-SQL)

Aplica-se a: SQL Server

Altera o proprietário de um objeto na base de dados atual.

Important

Este procedimento armazenado funciona apenas com os objetos disponíveis no SQL Server 2000 (8.x). Esse recurso será removido em uma versão futura do SQL Server. Evite usar esse recurso em novos trabalhos de desenvolvimento e planeje modificar aplicativos que atualmente usam esse recurso. Use ALTER SCHEMA ou ALTER AUTHORIZATION em vez disso. sp_changeobjectowner altera tanto o esquema como o proprietário. Para preservar a compatibilidade com versões anteriores do SQL Server, este procedimento armazenado só mudará de proprietário de objeto quando tanto o atual como o novo proprietário possuírem esquemas com o mesmo nome que os nomes de utilizador da base de dados.

Transact-SQL convenções de sintaxe

Syntax

sys.sp_changeobjectowner
    [ @objname = ] N'objname'
    , [ @newowner = ] N'newowner'
[ ; ]

Arguments

[ @objname = ] N'objname'

@objname é nvarchar(776), sem padrão.

O nome de uma tabela existente, vista, função definida pelo utilizador ou procedimento armazenado na base de dados atual. @objname é um nvarchar(776), sem padrão. @objname pode ser qualificado junto do proprietário do objeto existente, na forma <existing_owner>.<object_name> em que o esquema e o seu proprietário tenham o mesmo nome.

[ @newowner = ] N'novo dono'

O nome da conta de segurança que será o novo proprietário do objeto. @newowner é sysname, sem padrão. @newowner deve ser um utilizador válido da base de dados, função de servidor, utilizador Windows ou Windows grupo com acesso à base de dados atual. Se o novo proprietário for um utilizador Windows ou um grupo Windows para o qual não existe um princípio correspondente ao nível da base de dados, é criado um utilizador da base de dados.

Valores de código de retorno

0 (sucesso) ou 1 (fracasso).

Remarks

sp_changeobjectowner remove todas as permissões existentes do objeto. Terá de reaplicar quaisquer permissões que queira manter depois de executar sp_changeobjectowner. Por isso, recomendamos que escreva permissões existentes antes de executar sp_changeobjectowner. Depois de a propriedade do objeto mudar, pode usar o script para reaplicar permissões. Deve modificar o proprietário do objeto no script de permissões antes de executar.

Para mudar o proprietário de um seguro, use ALTER AUTHORIZATION. Para alterar um esquema, use ALTER SCHEMA.

Permissions

Requer pertença ao papel db_owner fixo de base de dados, ou pertença tanto ao papel de base de dados fixo db_ddladmin como ao papel de base de dados fixo db_securityadmin , bem como CONTROL permissão sobre o objeto.

Examples

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

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