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)
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de