ALTER AUTHORIZATION (Transact-SQL)ALTER AUTHORIZATION (Transact-SQL)

APLICA-SE A: simSQL Server simBanco de Dados SQL do Azure simAzure Synapse Analytics (SQL DW) simParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database yesAzure Synapse Analytics (SQL DW) yesParallel Data Warehouse

Altera a propriedade de um protegível.Changes the ownership of a securable.

Ícone de link do tópico Convenções de sintaxe Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SintaxeSyntax

-- Syntax for SQL Server  
ALTER AUTHORIZATION    
   ON [ <class_type>:: ] entity_name    
   TO { principal_name | SCHEMA OWNER }    
[;]    
    
<class_type> ::=    
    {    
        OBJECT | ASSEMBLY | ASYMMETRIC KEY | AVAILABILITY GROUP | CERTIFICATE     
      | CONTRACT | TYPE | DATABASE | ENDPOINT | FULLTEXT CATALOG     
      | FULLTEXT STOPLIST | MESSAGE TYPE | REMOTE SERVICE BINDING    
      | ROLE | ROUTE | SCHEMA | SEARCH PROPERTY LIST | SERVER ROLE     
      | SERVICE | SYMMETRIC KEY | XML SCHEMA COLLECTION    
    }    
-- Syntax for SQL Database  
  
ALTER AUTHORIZATION    
   ON [ <class_type>:: ] entity_name    
   TO { principal_name | SCHEMA OWNER }    
[;]    
    
<class_type> ::=    
    {    
      OBJECT | ASSEMBLY | ASYMMETRIC KEY | CERTIFICATE     
    | TYPE | DATABASE | FULLTEXT CATALOG     
    | FULLTEXT STOPLIST     
    | ROLE | SCHEMA | SEARCH PROPERTY LIST     
    | SYMMETRIC KEY | XML SCHEMA COLLECTION    
    }    
-- Syntax for Azure SQL Data Warehouse  
  
ALTER AUTHORIZATION ON    
    [ <class_type> :: ] <entity_name>     
    TO { principal_name | SCHEMA OWNER }    
[;]    
    
<class_type> ::= {    
      SCHEMA     
    | OBJECT     
}    
    
<entity_name> ::=    
{    
      schema_name    
    | [ schema_name. ] object_name    
}    
-- Syntax for Parallel Data Warehouse  
  
ALTER AUTHORIZATION ON    
    [ <class_type> :: ] <entity_name>     
    TO { principal_name | SCHEMA OWNER }    
[;]    
    
<class_type> ::= {    
      DATABASE     
    | SCHEMA     
    | OBJECT     
}    
    
<entity_name> ::=    
{    
      database_name 
    | schema_name    
    | [ schema_name. ] object_name    
}    

ArgumentosArguments

<class_type> É a classe protegível da entidade da qual o proprietário está sendo alterado.<class_type> Is the securable class of the entity for which the owner is being changed. OBJECT é o padrão.OBJECT is the default.

OBJECTOBJECT APLICA-SE A: SQL Server 2008SQL Server 2008 e posterior, Banco de dados SQL do AzureAzure SQL Database, SQL Data Warehouse do Azure, Parallel Data WarehouseParallel Data Warehouse.APPLIES TO: SQL Server 2008SQL Server 2008 and later, Banco de dados SQL do AzureAzure SQL Database, Azure SQL Data Warehouse, Parallel Data WarehouseParallel Data Warehouse.
ASSEMBLYASSEMBLY APLICA-SE A: SQL Server 2008SQL Server 2008 e posterior, Banco de dados SQL do AzureAzure SQL Database.APPLIES TO: SQL Server 2008SQL Server 2008 and later, Banco de dados SQL do AzureAzure SQL Database.
ASYMMETRIC KEYASYMMETRIC KEY APLICA-SE A: SQL Server 2008SQL Server 2008 e posterior, Banco de dados SQL do AzureAzure SQL Database.APPLIES TO: SQL Server 2008SQL Server 2008 and later, Banco de dados SQL do AzureAzure SQL Database.
AVAILABILITY GROUPAVAILABILITY GROUP APLICA-SE A: SQL Server 2012 e posterior.APPLIES TO: SQL Server 2012 and later.
CERTIFICATECERTIFICATE APLICA-SE A: SQL Server 2008SQL Server 2008 e posterior, Banco de dados SQL do AzureAzure SQL Database.APPLIES TO: SQL Server 2008SQL Server 2008 and later, Banco de dados SQL do AzureAzure SQL Database.
CONTRACTCONTRACT APLICA-SE A: SQL Server 2008SQL Server 2008 e posterior.APPLIES TO: SQL Server 2008SQL Server 2008 and later.
DATABASEDATABASE APLICA-SE A: SQL Server 2008SQL Server 2008 e posterior, Banco de dados SQL do AzureAzure SQL Database.APPLIES TO: SQL Server 2008SQL Server 2008 and later, Banco de dados SQL do AzureAzure SQL Database. Para obter mais informações, veja a seção de bancos de dados ALTER AUTHORIZATION FOR abaixo.For more information,see ALTER AUTHORIZATION FOR databases section below.
ENDPOINTENDPOINT APLICA-SE A: SQL Server 2008SQL Server 2008 e posterior.APPLIES TO: SQL Server 2008SQL Server 2008 and later.
FULLTEXT CATALOGFULLTEXT CATALOG APLICA-SE A: SQL Server 2008SQL Server 2008 e posterior, Banco de dados SQL do AzureAzure SQL Database.APPLIES TO: SQL Server 2008SQL Server 2008 and later, Banco de dados SQL do AzureAzure SQL Database.
FULLTEXT STOPLISTFULLTEXT STOPLIST APLICA-SE A: SQL Server 2008SQL Server 2008 e posterior, Banco de dados SQL do AzureAzure SQL Database.APPLIES TO: SQL Server 2008SQL Server 2008 and later, Banco de dados SQL do AzureAzure SQL Database.
MESSAGE TYPEMESSAGE TYPE APLICA-SE A: SQL Server 2008SQL Server 2008 e posterior.APPLIES TO: SQL Server 2008SQL Server 2008 and later.
REMOTE SERVICE BINDINGREMOTE SERVICE BINDING APLICA-SE A: SQL Server 2008SQL Server 2008 e posterior.APPLIES TO: SQL Server 2008SQL Server 2008 and later.
ROLEROLE APLICA-SE A: SQL Server 2008SQL Server 2008 e posterior, Banco de dados SQL do AzureAzure SQL Database.APPLIES TO: SQL Server 2008SQL Server 2008 and later, Banco de dados SQL do AzureAzure SQL Database.
ROUTEROUTE APLICA-SE A: SQL Server 2008SQL Server 2008 e posterior.APPLIES TO: SQL Server 2008SQL Server 2008 and later.
SCHEMASCHEMA APLICA-SE A: SQL Server 2008SQL Server 2008 e posterior, Banco de dados SQL do AzureAzure SQL Database, SQL Data Warehouse do Azure, Parallel Data WarehouseParallel Data Warehouse.APPLIES TO: SQL Server 2008SQL Server 2008 and later, Banco de dados SQL do AzureAzure SQL Database, Azure SQL Data Warehouse, Parallel Data WarehouseParallel Data Warehouse.
SEARCH PROPERTY LISTSEARCH PROPERTY LIST APLICA-SE A: SQL Server 2012 (11.x)SQL Server 2012 (11.x) e posterior, Banco de dados SQL do AzureAzure SQL Database.APPLIES TO: SQL Server 2012 (11.x)SQL Server 2012 (11.x) and later, Banco de dados SQL do AzureAzure SQL Database.
SERVER ROLESERVER ROLE APLICA-SE A: SQL Server 2008SQL Server 2008 e posterior.APPLIES TO: SQL Server 2008SQL Server 2008 and later.
SERVICESERVICE APLICA-SE A: SQL Server 2008SQL Server 2008 e posterior.APPLIES TO: SQL Server 2008SQL Server 2008 and later.
SYMMETRIC KEYSYMMETRIC KEY APLICA-SE A: SQL Server 2008SQL Server 2008 e posterior, Banco de dados SQL do AzureAzure SQL Database.APPLIES TO: SQL Server 2008SQL Server 2008 and later, Banco de dados SQL do AzureAzure SQL Database.
TYPETYPE APLICA-SE A: SQL Server 2008SQL Server 2008 e posterior, Banco de dados SQL do AzureAzure SQL Database.APPLIES TO: SQL Server 2008SQL Server 2008 and later, Banco de dados SQL do AzureAzure SQL Database.
XML SCHEMA COLLECTIONXML SCHEMA COLLECTION APLICA-SE A: SQL Server 2008SQL Server 2008 e posterior, Banco de dados SQL do AzureAzure SQL Database.APPLIES TO: SQL Server 2008SQL Server 2008 and later, Banco de dados SQL do AzureAzure SQL Database.

entity_name entity_name
É o nome da entidade.Is the name of the entity.

principal_name | SCHEMA OWNERprincipal_name | SCHEMA OWNER
É o nome da entidade de segurança que possuirá a entidade.Name of the security principal that will own the entity. Os objetos de banco de dados devem ser de propriedade de um banco de dados principal; um usuário de banco de dados ou função.Database objects must be owned by a database principal; a database user or role. Os objetos de servidor (como bancos de dados) devem ser de propriedade de uma entidade de servidor (um logon).Server objects (such as databases) must be owned by a server principal (a login). Especifique SCHEMA OWNER como o principal_name para indicar que o objeto deve ser de propriedade de uma entidade de segurança que tenha o esquema do objeto.Specify SCHEMA OWNER as the principal_name to indicate that the object should be owned by the principal that owns the schema of the object.

RemarksRemarks

ALTER AUTHORIZATION pode ser usado para alterar a propriedade de qualquer entidade que tenha um proprietário.ALTER AUTHORIZATION can be used to change the ownership of any entity that has an owner. A propriedade de entidades contidas no banco de dados pode ser transferida a qualquer entidade em nível de banco de dados.Ownership of database-contained entities can be transferred to any database-level principal. A propriedade de entidades em nível de servidor pode ser transferida apenas a entidades em nível de servidor.Ownership of server-level entities can be transferred only to server-level principals.

Importante

A partir do SQL Server 2005 (9.x)SQL Server 2005 (9.x), um usuário pode possuir um OBJECT ou TYPE que esteja contido por um esquema de propriedade de outro usuário do banco de dados.Beginning with SQL Server 2005 (9.x)SQL Server 2005 (9.x), a user can own an OBJECT or TYPE that is contained by a schema owned by another database user. Essa é uma alteração de comportamento de versões anteriores do SQL ServerSQL Server.This is a change of behavior from earlier versions of SQL ServerSQL Server. Para obter mais informações, veja OBJECTPROPERTY (Transact-SQL) e TYPEPROPERTY (Transact-SQL).For more information, see OBJECTPROPERTY (Transact-SQL) and TYPEPROPERTY (Transact-SQL).

A propriedade das seguintes entidades contidas por esquema de tipo "objeto" pode ser transferida: tabelas, exibições, funções, procedimentos, filas e sinônimos.Ownership of the following schema-contained entities of type "object" can be transferred: tables, views, functions, procedures, queues, and synonyms.

A propriedade das seguintes entidades não pode ser transferida: servidores vinculados, estatísticas, restrições, regras, padrões, gatilhos, filas do Service BrokerService Broker, credenciais, funções de partição, esquemas de partição, chaves mestras de banco de dados, chave mestra de serviço e notificações de eventos.Ownership of the following entities cannot be transferred: linked servers, statistics, constraints, rules, defaults, triggers, Service BrokerService Broker queues, credentials, partition functions, partition schemes, database master keys, service master key, and event notifications.

A propriedade de membros das seguintes classes protegíveis não pode ser transferida: servidor, logon, usuário, função de aplicativo e coluna.Ownership of members of the following securable classes cannot be transferred: server, login, user, application role, and column.

A opção SCHEMA OWNER é válida apenas quando você está transferindo propriedade de uma entidade contida por esquema.The SCHEMA OWNER option is only valid when you are transferring ownership of a schema-contained entity. SCHEMA OWNER transferirá a propriedade da entidade ao proprietário do esquema no qual ela reside.SCHEMA OWNER will transfer ownership of the entity to the owner of the schema in which it resides. Apenas entidades de classe OBJECT, TYPE ou XML SCHEMA COLLECTION são contidas por esquema.Only entities of class OBJECT, TYPE, or XML SCHEMA COLLECTION are schema-contained.

Se a entidade de destino não for um banco de dados e estiver sendo transferida a um novo proprietário, todas as permissões no destino serão descartadas.If the target entity is not a database and the entity is being transferred to a new owner, all permissions on the target will be dropped.

Cuidado

No SQL Server 2005 (9.x)SQL Server 2005 (9.x), o comportamento de esquemas mudou em relação ao comportamento em versões anteriores do SQL ServerSQL Server.In SQL Server 2005 (9.x)SQL Server 2005 (9.x), the behavior of schemas changed from the behavior in earlier versions of SQL ServerSQL Server. O código que pressupõe que esquemas são equivalentes a usuários de banco de dados pode não retornar resultados corretos.Code that assumes that schemas are equivalent to database users may not return correct results. Exibições antigas do catálogo, incluindo sysobjects, não devem ser usadas em um banco de dados no qual uma das instruções DDL a seguir já tenha sido utilizada: CREATE SCHEMA, ALTER SCHEMA, DROP SCHEMA, CREATE USER, ALTER USER, DROP USER, CREATE ROLE, ALTER ROLE, DROP ROLE, CREATE APPROLE, ALTER APPROLE, DROP APPROLE, ALTER AUTHORIZATION.Old catalog views, including sysobjects, should not be used in a database in which any of the following DDL statements has ever been used: CREATE SCHEMA, ALTER SCHEMA, DROP SCHEMA, CREATE USER, ALTER USER, DROP USER, CREATE ROLE, ALTER ROLE, DROP ROLE, CREATE APPROLE, ALTER APPROLE, DROP APPROLE, ALTER AUTHORIZATION. Em um banco de dados no qual qualquer uma dessas instruções tenha sido usada alguma vez, você deve usar as novas exibições do catálogo.In a database in which any of these statements has ever been used, you must use the new catalog views. As novas exibições do catálogo levam em conta a separação de entidades e esquemas introduzida no SQL Server 2005 (9.x)SQL Server 2005 (9.x).The new catalog views take into account the separation of principals and schemas that was introduced in SQL Server 2005 (9.x)SQL Server 2005 (9.x). Para mais informações sobre exibições do catálogo, consulte Exibições do catálogo (Transact-SQL).For more information about catalog views, see Catalog Views (Transact-SQL).

Além disso, observe o seguinte:Also, note the following:

Importante

O único modo confiável de localizar o proprietário de um objeto é consultar a exibição do catálogo sys.objects.The only reliable way to find the owner of a object is to query the sys.objects catalog view. O único modo seguro para localizar o proprietário de um tipo é usar a função TYPEPROPERTY.The only reliable way to find the owner of a type is to use the TYPEPROPERTY function.

Casos e condições especiaisSpecial Cases and Conditions

A tabela a seguir lista casos, exceções e condições especiais que se aplicam a autorização de alteração.The following table lists special cases, exceptions, and conditions that apply to altering authorization.

ClasseClass CondiçãoCondition
OBJECTOBJECT Não pode alterar propriedade de gatilhos, restrições, regras, padrões, estatísticas, objetos de sistema, filas, exibições indexadas ou tabelas com exibições indexadas.Cannot change ownership of triggers, constraints, rules, defaults, statistics, system objects, queues, indexed views, or tables with indexed views.
SCHEMASCHEMA Quando a propriedade é transferida, permissões em objetos contidos por esquema que não têm proprietários explícitos serão descartadas.When ownership is transferred, permissions on schema-contained objects that do not have explicit owners will be dropped. Não é possível alterar o proprietário de sys, dbo ou information_schema.Cannot change the owner of sys, dbo, or information_schema.
TYPETYPE Não é possível alterar a propriedade de um TYPE que pertença a sys ou information_schema.Cannot change ownership of a TYPE that belongs to sys or information_schema.
CONTRACT, MESSAGE TYPE ou SERVICECONTRACT, MESSAGE TYPE, or SERVICE Não podem alterar a propriedade de entidades do sistema.Cannot change ownership of system entities.
SYMMETRIC KEYSYMMETRIC KEY Não pode alterar a propriedade de chaves temporárias globais.Cannot change ownership of global temporary keys.
CERTIFICATE ou ASYMMETRIC KEYCERTIFICATE or ASYMMETRIC KEY Não pode transferir a propriedade dessas entidades a uma função ou grupo.Cannot transfer ownership of these entities to a role or group.
ENDPOINTENDPOINT A entidade deve ser um logon.The principal must be a login.

ALTER AUTHORIZATION para bancos de dadosALTER AUTHORIZATION for databases

APLICA-SE A: SQL ServerSQL Server, Banco de dados SQL do AzureAzure SQL Database.APPLIES TO: SQL ServerSQL Server, Banco de dados SQL do AzureAzure SQL Database.

Para SQL Server:For SQL Server:

Requisitos para o novo proprietário: Requirements for the new owner:
A nova entidade de segurança do proprietário deve ser uma das seguintes:The new owner principal must be one of the following:

  • Um logon de autenticação do SQL Server.A SQL Server authentication login.
  • Um logon de autenticação do Windows que representa um usuário do Windows (não um grupo).A Windows authentication login representing a Windows user (not a group).
  • Um usuário do Windows que se autentica por meio de um logon de autenticação do Windows que representa um grupo do Windows.A Windows user that authenticates through a Windows authentication login representing a Windows group.

Requisitos para a pessoa que está executando a instrução ALTER AUTHORIZATION:Requirements for the person executing the ALTER AUTHORIZATION statement:
Se você não for um membro da função de servidor fixa sysadmin, deverá ter pelo menos a permissão TAKE OWNERSHIP no banco de dados e a permissão IMPERSONATE no novo logon do proprietário.If you are not a member of the sysadmin fixed server role, you must have at least TAKE OWNERSHIP permission on the database, and must have IMPERSONATE permission on the new owner login.

Para o Banco de Dados SQL do Azure:For Azure SQL Database:

Requisitos para o novo proprietário: Requirements for the new owner:
A nova entidade de segurança do proprietário deve ser uma das seguintes:The new owner principal must be one of the following:

  • Um logon de autenticação do SQL Server.A SQL Server authentication login.
  • Um usuário federado (não um grupo) presente no Azure AD.A federated user (not a group) present in Azure AD.
  • Um usuário gerenciado (não um grupo) ou um aplicativo presente no Azure AD.A managed user (not a group) or an application present in Azure AD.

Observação

Se o novo proprietário for um usuário do Azure Active Directory, ele não poderá existir como um usuário no banco de dados em que o novo proprietário vá se tornar o novo DBO.If the new owner is an Azure Active Directory user, it cannot exist as a user in the database where the new owner will become the new DBO. Esse usuário do Azure AD deve primeiro ser removido do banco de dados antes de executar a instrução ALTER AUTHORIZATION alterando a propriedade de banco de dados para o novo usuário.Such Azure AD user must be first removed from the database before executing the ALTER AUTHORIZATION statement changing the database ownership to the new user. Para obter mais informações sobre a configuração de usuários do Azure Active Directory com o Banco de Dados SQL, veja Conectando-se ao Banco de Dados SQL ou ao SQL Data Warehouse usando a Autenticação do Azure Active Directory.For more information about configuring an Azure Active Directory users with SQL Database, see Connecting to SQL Database or SQL Data Warehouse By Using Azure Active Directory Authentication.

Requisitos para a pessoa que está executando a instrução ALTER AUTHORIZATION:Requirements for the person executing the ALTER AUTHORIZATION statement:
Você deve se conectar ao banco de dados de destino para alterar o proprietário daquele banco de dados.You must connect to the target database to change the owner of that database.

Os seguintes tipos de contas podem alterar o proprietário de um banco de dados.The following types of accounts can change the owner of a database.

  • O logon da entidade de segurança em nível de serviço.The service-level principal login. (O administrador do SQL Azure provisionado quando o servidor de Banco de Dados SQL foi criado.)(The SQL Azure administrator provisioned when the SQL Database server was created.)
  • O administrador do Azure Active Directory para o SQL Server do Azure.The Azure Active Directory administrator for the Azure SQL Server.
  • O proprietário atual do banco de dados.The current owner of the database.

A tabela a seguir resume os requisitos:The following table summarizes the requirements:

ExecutorExecutor DestinoTarget ResultadoResult
Logon de Autenticação do SQL ServerSQL Server Authentication login Logon de Autenticação do SQL ServerSQL Server Authentication login ÊxitoSuccess
Logon de Autenticação do SQL ServerSQL Server Authentication login Usuário do Azure ADAzure AD user FalhaFail
Usuário do Azure ADAzure AD user Logon de Autenticação do SQL ServerSQL Server Authentication login ÊxitoSuccess
Usuário do Azure ADAzure AD user Usuário do Azure ADAzure AD user ÊxitoSuccess

Para verificar um proprietário do banco de dados do Azure AD, execute o seguinte comando do Transact-SQL em um banco de dados de usuário (neste exemplo testdb).To verify an Azure AD owner of the database execute the following Transact-SQL command in a user database (in this example testdb).

SELECT CAST(owner_sid as uniqueidentifier) AS Owner_SID   
FROM sys.databases   
WHERE name = 'testdb';  

A saída será um identificador (como 6D8B81F6-7C79-444C-8858-4AF896C03C67) que corresponde à ObjectID do Azure AD atribuída ao richel@cqclinic.onmicrosoft.comThe output will be an identifier (such as 6D8B81F6-7C79-444C-8858-4AF896C03C67) which corresponds to Azure AD ObjectID assigned to richel@cqclinic.onmicrosoft.com
Quando um usuário de logon de autenticação do SQL Server for o proprietário do banco de dados, execute a seguinte instrução no banco de dados mestre para verificar o proprietário do banco de dados:When a SQL Server authentication login user is the database owner, execute the following statement in the master database to verify the database owner:

SELECT d.name, d.owner_sid, sl.name   
FROM sys.databases AS d  
JOIN sys.sql_logins AS sl  
ON d.owner_sid = sl.sid;  
    

Prática recomendadaBest practice

Em vez de usar os usuários do Azure AD como proprietários individuais do banco de dados, use um grupo do Azure AD como um membro da função fixa de banco de dados db_owner.Instead of using Azure AD users as individual owners of the database, use an Azure AD group as a member of the db_owner fixed database role. As etapas a seguir mostram como configurar um logon desabilitado como o proprietário do banco de dados e tornar um grupo do Azure Active Directory (mydbogroup) um membro da função db_owner.The following steps, show how to configure a disabled login as the database owner, and make an Azure Active Directory group (mydbogroup) a member of the db_owner role.

  1. Faça logon no SQL Server como administrador do Azure AD e altere o proprietário do banco de dados para um logon de autenticação do SQL Server desabilitado.Login to SQL Server as Azure AD admin, and change the owner of the database to a disabled SQL Server authentication login. Por exemplo, do banco de dados de usuário, execute:For example, from the user database execute:
ALTER AUTHORIZATION ON database::testdb TO DisabledLogin;  
  1. Crie um grupo do Azure AD que deve ser o proprietário do banco de dados e adicioná-lo como um usuário ao banco de dados do usuário.Create an Azure AD group that should own the database and add it as a user to the user database. Por exemplo:For example:
CREATE USER [mydbogroup] FROM EXTERNAL PROVIDER;  
  1. No banco de dados de usuário, adicione o usuário que representa o grupo do Azure AD, como a função fixa de banco de dados db_owner.In the user database add the user representing the Azure AD group, to the db_owner fixed database role. Por exemplo:For example:
ALTER ROLE db_owner ADD MEMBER mydbogroup;  

Agora, os membros do mydbogroup podem gerenciar centralmente o banco de dados como membros da função db_owner.Now the mydbogroup members can centrally manage the database as members of the db_owner role.

  • Quando os membros desse grupo são removidos do grupo do Azure AD, eles automaticamente perdem as permissões de dbo do banco de dados.When members of this group are removed from the Azure AD group, they automatically loose the dbo permissions for this database.
  • Da mesma forma, se novos membros são adicionados ao mydbogroup grupo do Azure AD, eles obtêm automaticamente acesso de dbo para esse banco de dados.Similarly if new members are added to mydbogroup Azure AD group, they automatically gain the dbo access for this database.

Para verificar se um usuário específico tem a permissão de dbo efetiva, peça para o usuário executar a seguinte instrução:To check if a specific user has the effective dbo permission, have the user execute the following statement:

SELECT IS_MEMBER ('db_owner');  

Um valor retornado de 1 indica que o usuário é um membro da função.A return value of 1 indicates the user is a member of the role.

PermissõesPermissions

Requer permissão TAKE OWNERSHIP na entidade.Requires TAKE OWNERSHIP permission on the entity. Se o novo proprietário não for o usuário que está executando esta instrução, também requererá: 1) permissão IMPERSONATE no novo proprietário se ele for um usuário ou logon; ou 2) se o novo proprietário for uma função, associação na função ou permissão ALTER na função; ou 3) se o novo proprietário for uma função de aplicativo, permissão ALTER na função do aplicativo.If the new owner is not the user that is executing this statement, also requires either, 1) IMPERSONATE permission on the new owner if it is a user or login; or 2) if the new owner is a role, membership in the role, or ALTER permission on the role; or 3) if the new owner is an application role, ALTER permission on the application role.

ExemplosExamples

A.A. Transferir a propriedade de uma tabelaTransfer ownership of a table

O exemplo a seguir transfere a propriedade da tabela Sprockets ao usuário MichikoOsada.The following example transfers ownership of table Sprockets to user MichikoOsada. A tabela está localizada dentro do esquema Parts.The table is located inside schema Parts.

ALTER AUTHORIZATION ON OBJECT::Parts.Sprockets TO MichikoOsada;    
GO    

A consulta também pode ser semelhante à seguinte:The query could also look like the following:

ALTER AUTHORIZATION ON Parts.Sprockets TO MichikoOsada;    
GO    

Se o esquema de objetos não for incluído como parte da instrução, o Mecanismo de Banco de DadosDatabase Engine procurará o objeto no esquema padrão de usuários.If the objects schema is not included as part of the statement, the Mecanismo de Banco de DadosDatabase Engine will look for the object in the users default schema. Por exemplo:For example:

ALTER AUTHORIZATION ON Sprockets TO MichikoOsada;    
ALTER AUTHORIZATION ON OBJECT::Sprockets TO MichikoOsada;    

B.B. Transferir a propriedade de uma exibição ao proprietário do esquemaTransfer ownership of a view to the schema owner

O exemplo a seguir transfere a propriedade da exibição ProductionView06 ao proprietário do esquema que a contém.The following example transfers ownership the view ProductionView06 to the owner of the schema that contains it. A exibição está localizada dentro do esquema Production.The view is located inside schema Production.

ALTER AUTHORIZATION ON OBJECT::Production.ProductionView06 TO SCHEMA OWNER;    
GO    

C.C. Transferir a propriedade de um esquema a um usuárioTransfer ownership of a schema to a user

O exemplo a seguir transfere a propriedade do esquema SeattleProduction11 ao usuário SandraAlayo.The following example transfers ownership of the schema SeattleProduction11 to user SandraAlayo.

ALTER AUTHORIZATION ON SCHEMA::SeattleProduction11 TO SandraAlayo;    
GO    

D.D. Transferir a propriedade de um ponto de extremidade a um logon do SQL ServerTransfer ownership of an endpoint to a SQL Server login

O exemplo a seguir transfere a propriedade do ponto de extremidade CantabSalesServer1 a JaePak.The following example transfers ownership of endpoint CantabSalesServer1 to JaePak. Como o ponto de extremidade é um protegível em nível de servidor, o ponto de extremidade só pode ser transferido a uma entidade principal no nível de servidor.Because the endpoint is a server-level securable, the endpoint can only be transferred to a server-level principal.

Aplica-se a: SQL Server 2008SQL Server 2008 e posterior.Applies to: SQL Server 2008SQL Server 2008 and later.

ALTER AUTHORIZATION ON ENDPOINT::CantabSalesServer1 TO JaePak;    
GO    

E.E. Alterando o proprietário de uma tabelaChanging the owner of a table

Cada um dos exemplos a seguir altera o proprietário da tabela Sprockets no banco de dados Parts para o usuário do banco de dados MichikoOsada.Each of the following examples changes the owner of the Sprockets table in the Parts database to the database user MichikoOsada.

ALTER AUTHORIZATION ON Sprockets TO MichikoOsada;    
ALTER AUTHORIZATION ON dbo.Sprockets TO MichikoOsada;    
ALTER AUTHORIZATION ON OBJECT::Sprockets TO MichikoOsada;    
ALTER AUTHORIZATION ON OBJECT::dbo.Sprockets TO MichikoOsada;    

F.F. Alterar o proprietário de um banco de dadosChanging the owner of a database

APLICA-SE A: SQL Server 2008SQL Server 2008 e posterior, Parallel Data WarehouseParallel Data Warehouse e Banco de Dados SQLSQL Database.APPLIES TO: SQL Server 2008SQL Server 2008 and later, Parallel Data WarehouseParallel Data Warehouse, Banco de Dados SQLSQL Database.

O exemplo a seguir alterar o proprietário do banco de dados Parts para o logon MichikoOsada.The following example change the owner of the Parts database to the login MichikoOsada.

ALTER AUTHORIZATION ON DATABASE::Parts TO MichikoOsada;    

G.G. Alterando o proprietário do Banco de Dados SQL para um usuário do Azure ADChanging the owner of a SQL Database to an Azure AD User

No exemplo a seguir, um administrador do Azure Active Directory para o SQL Server em uma organização com um Active Directory denominado cqclinic.onmicrosoft.com poderá alterar a propriedade atual de um banco de dados targetDB e tornar um usuário do AAD richel@cqclinic.onmicorsoft.com o novo proprietário do banco de dados do usando o seguinte comando:In the following example, an Azure Active Directory administrator for SQL Server in an organization with an active directory named cqclinic.onmicrosoft.com, can change the current ownership of a database targetDB and make an AAD user richel@cqclinic.onmicorsoft.com the new database owner using the following command:

ALTER AUTHORIZATION ON database::targetDB TO [rachel@cqclinic.onmicrosoft.com];   

Observe que, para os usuários do Azure AD, os colchetes em torno do nome de usuário devem ser usados.Note that for Azure AD users the brackets around the user name must be used.

Consulte TambémSee Also

OBJECTPROPERTY (Transact-SQL) OBJECTPROPERTY (Transact-SQL)
TYPEPROPERTY (Transact-SQL) TYPEPROPERTY (Transact-SQL)
EVENTDATA (Transact-SQL)EVENTDATA (Transact-SQL)