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

SE APLICA A: síSQL Server síAzure SQL Database síAzure Synapse Analytics (SQL DW) síAlmacenamiento de datos paralelos APPLIES TO: yesSQL Server yesAzure SQL Database yesAzure Synapse Analytics (SQL DW) yesParallel Data Warehouse

Cambia la propiedad de un elemento protegible.Changes the ownership of a securable.

Icono de vínculo de tema Convenciones de sintaxis de Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SintaxisSyntax

-- 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> Es la clase protegible de la entidad para la que se va a cambiar el propietario.<class_type> Is the securable class of the entity for which the owner is being changed. El valor predeterminado es OBJECT.OBJECT is the default.

OBJECTOBJECT SE APLICA A: SQL Server 2008SQL Server 2008 y versiones posteriores, Azure SQL DatabaseAzure SQL Database, Azure SQL Data Warehouse, Almacenamiento de datos paralelosParallel Data WarehouseAPPLIES TO: SQL Server 2008SQL Server 2008 and later, Azure SQL DatabaseAzure SQL Database, Azure SQL Data Warehouse, Almacenamiento de datos paralelosParallel Data Warehouse.
ASSEMBLYASSEMBLY SE APLICA A: SQL Server 2008SQL Server 2008 y versiones posteriores, Azure SQL DatabaseAzure SQL DatabaseAPPLIES TO: SQL Server 2008SQL Server 2008 and later, Azure SQL DatabaseAzure SQL Database.
ASYMMETRIC KEYASYMMETRIC KEY SE APLICA A: SQL Server 2008SQL Server 2008 y versiones posteriores, Azure SQL DatabaseAzure SQL DatabaseAPPLIES TO: SQL Server 2008SQL Server 2008 and later, Azure SQL DatabaseAzure SQL Database.
AVAILABILITY GROUPAVAILABILITY GROUP SE APLICA A: SQL Server 2012 y versiones posterioresAPPLIES TO: SQL Server 2012 and later.
CERTIFICADOCERTIFICATE SE APLICA A: SQL Server 2008SQL Server 2008 y versiones posteriores, Azure SQL DatabaseAzure SQL DatabaseAPPLIES TO: SQL Server 2008SQL Server 2008 and later, Azure SQL DatabaseAzure SQL Database.
CONTRACTCONTRACT SE APLICA A: SQL Server 2008SQL Server 2008 y versiones posterioresAPPLIES TO: SQL Server 2008SQL Server 2008 and later.
DATABASEDATABASE SE APLICA A: SQL Server 2008SQL Server 2008 y versiones posteriores, Azure SQL DatabaseAzure SQL DatabaseAPPLIES TO: SQL Server 2008SQL Server 2008 and later, Azure SQL DatabaseAzure SQL Database. Para obtener más información, consulte la sección bases de datos ALTER AUTHORIZATION FOR que encontrará más adelante.For more information,see ALTER AUTHORIZATION FOR databases section below.
ENDPOINTENDPOINT SE APLICA A: SQL Server 2008SQL Server 2008 y versiones posterioresAPPLIES TO: SQL Server 2008SQL Server 2008 and later.
FULLTEXT CATALOGFULLTEXT CATALOG SE APLICA A: SQL Server 2008SQL Server 2008 y versiones posteriores, Azure SQL DatabaseAzure SQL DatabaseAPPLIES TO: SQL Server 2008SQL Server 2008 and later, Azure SQL DatabaseAzure SQL Database.
FULLTEXT STOPLISTFULLTEXT STOPLIST SE APLICA A: SQL Server 2008SQL Server 2008 y versiones posteriores, Azure SQL DatabaseAzure SQL DatabaseAPPLIES TO: SQL Server 2008SQL Server 2008 and later, Azure SQL DatabaseAzure SQL Database.
MESSAGE TYPEMESSAGE TYPE SE APLICA A: SQL Server 2008SQL Server 2008 y versiones posterioresAPPLIES TO: SQL Server 2008SQL Server 2008 and later.
REMOTE SERVICE BINDINGREMOTE SERVICE BINDING SE APLICA A: SQL Server 2008SQL Server 2008 y versiones posterioresAPPLIES TO: SQL Server 2008SQL Server 2008 and later.
ROLEROLE SE APLICA A: SQL Server 2008SQL Server 2008 y versiones posteriores, Azure SQL DatabaseAzure SQL DatabaseAPPLIES TO: SQL Server 2008SQL Server 2008 and later, Azure SQL DatabaseAzure SQL Database.
ROUTEROUTE SE APLICA A: SQL Server 2008SQL Server 2008 y versiones posterioresAPPLIES TO: SQL Server 2008SQL Server 2008 and later.
SCHEMASCHEMA SE APLICA A: SQL Server 2008SQL Server 2008 y versiones posteriores, Azure SQL DatabaseAzure SQL Database, Azure SQL Data Warehouse, Almacenamiento de datos paralelosParallel Data WarehouseAPPLIES TO: SQL Server 2008SQL Server 2008 and later, Azure SQL DatabaseAzure SQL Database, Azure SQL Data Warehouse, Almacenamiento de datos paralelosParallel Data Warehouse.
SEARCH PROPERTY LISTSEARCH PROPERTY LIST SE APLICA A: SQL Server 2012 (11.x)SQL Server 2012 (11.x) y versiones posteriores, Azure SQL DatabaseAzure SQL DatabaseAPPLIES TO: SQL Server 2012 (11.x)SQL Server 2012 (11.x) and later, Azure SQL DatabaseAzure SQL Database.
SERVER ROLESERVER ROLE SE APLICA A: SQL Server 2008SQL Server 2008 y versiones posterioresAPPLIES TO: SQL Server 2008SQL Server 2008 and later.
SERVICESERVICE SE APLICA A: SQL Server 2008SQL Server 2008 y versiones posterioresAPPLIES TO: SQL Server 2008SQL Server 2008 and later.
SYMMETRIC KEYSYMMETRIC KEY SE APLICA A: SQL Server 2008SQL Server 2008 y versiones posteriores, Azure SQL DatabaseAzure SQL DatabaseAPPLIES TO: SQL Server 2008SQL Server 2008 and later, Azure SQL DatabaseAzure SQL Database.
TYPETYPE SE APLICA A: SQL Server 2008SQL Server 2008 y versiones posteriores, Azure SQL DatabaseAzure SQL DatabaseAPPLIES TO: SQL Server 2008SQL Server 2008 and later, Azure SQL DatabaseAzure SQL Database.
XML SCHEMA COLLECTIONXML SCHEMA COLLECTION SE APLICA A: SQL Server 2008SQL Server 2008 y versiones posteriores, Azure SQL DatabaseAzure SQL DatabaseAPPLIES TO: SQL Server 2008SQL Server 2008 and later, Azure SQL DatabaseAzure SQL Database.

entity_name entity_name
Es el nombre de la entidad.Is the name of the entity.

principal_name | SCHEMA OWNERprincipal_name | SCHEMA OWNER
Nombre de la entidad de seguridad que va a ser propietaria de la entidad.Name of the security principal that will own the entity. Los objetos de base de datos deben tener una entidad de base de datos como propietaria; un usuario o rol de base de datos.Database objects must be owned by a database principal; a database user or role. Los objetos de servidor (como bases de datos) deben tener una entidad de servidor (un inicio de sesión) como propietaria.Server objects (such as databases) must be owned by a server principal (a login). Indique SCHEMA OWNER como principal_name para indicar que el objeto debe tener como propietaria la entidad que posee el esquema del 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.

ObservacionesRemarks

Se puede usar ALTER AUTHORIZATION para cambiar la propiedad de cualquier entidad que tenga propietario.ALTER AUTHORIZATION can be used to change the ownership of any entity that has an owner. La propiedad de las entidades que contienen bases de datos se puede transferir a cualquier entidad de seguridad de nivel de base de datos.Ownership of database-contained entities can be transferred to any database-level principal. La propiedad de las entidades de nivel de servidor solo se puede transferir a entidades de seguridad de nivel de servidor.Ownership of server-level entities can be transferred only to server-level principals.

Importante

A partir de SQL Server 2005 (9.x)SQL Server 2005 (9.x), un usuario puede ser propietario de un objeto o un tipo contenido en un esquema de otro usuario de la base de datos.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. Es un cambio de comportamiento con respecto a versiones anteriores de SQL ServerSQL Server.This is a change of behavior from earlier versions of SQL ServerSQL Server. Para obtener más información, vea OBJECTPROPERTY (Transact-SQL) y TYPEPROPERTY (Transact-SQL).For more information, see OBJECTPROPERTY (Transact-SQL) and TYPEPROPERTY (Transact-SQL).

Se puede transferir la propiedad de las siguientes entidades contenidas en esquemas de tipo "objeto": tablas, vistas, funciones, procedimientos, colas y sinónimos.Ownership of the following schema-contained entities of type "object" can be transferred: tables, views, functions, procedures, queues, and synonyms.

No se puede transferir la propiedad de las siguientes entidades: servidores vinculados, estadísticas, restricciones, reglas, valores predeterminados, desencadenadores, colas de Service BrokerService Broker, credenciales, funciones de partición, esquemas de partición, claves maestras de bases de datos, clave maestra de servicios y notificaciones 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.

No se puede transferir la propiedad de los miembros de las siguientes clases de elementos protegibles: servidor, inicio de sesión, usuario, rol de aplicación y columna.Ownership of members of the following securable classes cannot be transferred: server, login, user, application role, and column.

La opción SCHEMA OWNER solo es válida cuando se transfiere la propiedad de una entidad que contiene esquemas.The SCHEMA OWNER option is only valid when you are transferring ownership of a schema-contained entity. SCHEMA OWNER transferirá la propiedad de la entidad al propietario del esquema en el que reside.SCHEMA OWNER will transfer ownership of the entity to the owner of the schema in which it resides. Solo las entidades de clase OBJECT, TYPE o XML SCHEMA COLLECTION contienen esquemas.Only entities of class OBJECT, TYPE, or XML SCHEMA COLLECTION are schema-contained.

Si la entidad de destino no es una base de datos y la entidad se va a transferir a un nuevo propietario, se quitarán todos los permisos del destino.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.

Precaución

En SQL Server 2005 (9.x)SQL Server 2005 (9.x), el comportamiento de los esquemas es distinto del de las versiones anteriores de 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. Si en el código se supone que los esquemas son equivalentes a usuarios de base de datos, los resultados obtenidos podrían ser incorrectos.Code that assumes that schemas are equivalent to database users may not return correct results. No se deben usar vistas de catálogo antiguas, como sysobjects, en una base de datos en la que nunca se haya usado ninguna de las instrucciones DDL siguientes: 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. En una base de datos en la que se ha usado alguna de estas instrucciones, deben usarse las nuevas vistas de catálogo.In a database in which any of these statements has ever been used, you must use the new catalog views. En las nuevas vistas de catálogo se tiene en cuenta la separación de entidades de seguridad y esquemas que se presentó en 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 obtener más información sobre las vistas de catálogo, vea Vistas de catálogo (Transact-SQL).For more information about catalog views, see Catalog Views (Transact-SQL).

Tenga en cuenta los siguientes aspectos:Also, note the following:

Importante

La única manera confiable de localizar al propietario de un objeto consiste en consultar la vista de catálogo sys.objects.The only reliable way to find the owner of a object is to query the sys.objects catalog view. La única manera confiable de localizar al propietario de un tipo consiste en utilizar la función TYPEPROPERTY.The only reliable way to find the owner of a type is to use the TYPEPROPERTY function.

Condiciones y casos especialesSpecial Cases and Conditions

En la siguiente tabla se enumeran los casos especiales, las excepciones y las condiciones que se aplican para modificar la autorización.The following table lists special cases, exceptions, and conditions that apply to altering authorization.

ClaseClass CondiciónCondition
OBJECTOBJECT No se puede cambiar la propiedad de desencadenadores, restricciones, reglas, valores predeterminados, estadísticas, objetos del sistema, colas, vistas indizadas o tablas con vistas indizadas.Cannot change ownership of triggers, constraints, rules, defaults, statistics, system objects, queues, indexed views, or tables with indexed views.
SCHEMASCHEMA Cuando se transfiere la propiedad, se quitarán los permisos en objetos contenidos en esquemas que no tengan propietarios explícitos.When ownership is transferred, permissions on schema-contained objects that do not have explicit owners will be dropped. No se puede cambiar el propietario de sys, dbo o information_schema.Cannot change the owner of sys, dbo, or information_schema.
TYPETYPE No se puede cambiar la propiedad de un TYPE que pertenece a sys o information_schema.Cannot change ownership of a TYPE that belongs to sys or information_schema.
CONTRACT, MESSAGE TYPE o SERVICECONTRACT, MESSAGE TYPE, or SERVICE No se puede cambiar la propiedad de entidades del sistema.Cannot change ownership of system entities.
SYMMETRIC KEYSYMMETRIC KEY No se puede cambiar la propiedad de claves globales temporales.Cannot change ownership of global temporary keys.
CERTIFICATE o ASYMMETRIC KEYCERTIFICATE or ASYMMETRIC KEY No se puede transferir la propiedad de estas entidades a un rol o un grupo.Cannot transfer ownership of these entities to a role or group.
ENDPOINTENDPOINT La entidad de seguridad debe ser un inicio de sesión.The principal must be a login.

ALTER AUTHORIZATION para bases de datosALTER AUTHORIZATION for databases

SE APLICA A: SQL Server 2019 (15.x)SQL Server 2019 (15.x), Azure SQL DatabaseAzure SQL Database.APPLIES TO: SQL Server 2019 (15.x)SQL Server 2019 (15.x), Azure SQL DatabaseAzure SQL Database.

En SQL Server:For SQL Server:

Requisitos del nuevo propietario: Requirements for the new owner:
La nueva entidad propietaria debe ser una de las siguientes:The new owner principal must be one of the following:

  • Un inicio de sesión para la autenticación de SQL Server.A SQL Server authentication login.
  • Un inicio de sesión para la autenticación de Windows que represente un usuario de Windows (no un grupo).A Windows authentication login representing a Windows user (not a group).
  • Un usuario de Windows que se autentica a través de un inicio de sesión de autenticación de Windows que representa un grupo de Windows.A Windows user that authenticates through a Windows authentication login representing a Windows group.

Requisitos de la persona que ejecuta la instrucción ALTER AUTHORIZATION:Requirements for the person executing the ALTER AUTHORIZATION statement:
Si no es un miembro del rol fijo de servidor sysadmin, debe tener al menos el permiso TAKE OWNERSHIP en la base de datos y el permiso IMPERSONATE en el nuevo inicio de sesión de propietario.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.

En Azure SQL Database:For Azure SQL Database:

Requisitos del nuevo propietario: Requirements for the new owner:
La nueva entidad propietaria debe ser una de las siguientes:The new owner principal must be one of the following:

  • Un inicio de sesión para la autenticación de SQL Server.A SQL Server authentication login.
  • Un usuario federado (no un grupo) presente en Azure AD.A federated user (not a group) present in Azure AD.
  • Un usuario administrado (no un grupo) o una aplicación presente en Azure AD.A managed user (not a group) or an application present in Azure AD.

Nota

Si el nuevo propietario es un usuario de Azure Active Directory, no puede existir como usuario en la base de datos cuyo nuevo propietario se convertirá en el nuevo propietario de la base de datos.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. Primero hay que quitar a este usuario de Azure AD de la base de datos para poder ejecutar la instrucción ALTER AUTHORIZATION cambiando la propiedad de base de datos al nuevo usuario.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 obtener más información sobre cómo configurar usuarios de Azure Active Directory con SQL Database, consulte Conexión a SQL Database o a SQL Data Warehouse mediante autenticación de 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 de la persona que ejecuta la instrucción ALTER AUTHORIZATION:Requirements for the person executing the ALTER AUTHORIZATION statement:
Debe conectarse a la base de datos de destino para cambiar el propietario de dicha base de datos.You must connect to the target database to change the owner of that database.

El propietario de una base de datos se puede cambiar en los siguientes tipos de cuentas.The following types of accounts can change the owner of a database.

  • El inicio de sesión de la entidad de seguridad a nivel de servicio.The service-level principal login. (El administrador de SQL Azure proporcionado cuando se creó el servidor de SQL Database).(The SQL Azure administrator provisioned when the SQL Database server was created.)
  • El administrador de Active Directory para Azure SQL Server.The Azure Active Directory administrator for the Azure SQL Server.
  • El propietario actual de la base de datos.The current owner of the database.

En la tabla siguiente se resumen los requisitos:The following table summarizes the requirements:

EjecutorExecutor DestinoTarget ResultadoResult
Inicio de sesión para la autenticación de SQL ServerSQL Server Authentication login Inicio de sesión para la autenticación de SQL ServerSQL Server Authentication login CorrectoSuccess
Inicio de sesión para la autenticación de SQL ServerSQL Server Authentication login Usuario de Azure ADAzure AD user IncorrectoFail
Usuario de Azure ADAzure AD user Inicio de sesión para la autenticación de SQL ServerSQL Server Authentication login CorrectoSuccess
Usuario de Azure ADAzure AD user Usuario de Azure ADAzure AD user CorrectoSuccess

Para verificar un propietario de Azure AD de la base de datos, ejecute el siguiente comando Transact-SQL en una base de datos de usuario (en este ejemplo, 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';  

El resultado será un identificador (por ejemplo, 6D8B81F6-7C79-444C-8858-4AF896C03C67), que se corresponde con el ObjectID de Azure AD asignado a richel@cqclinic.onmicrosoft.com.The output will be an identifier (such as 6D8B81F6-7C79-444C-8858-4AF896C03C67) which corresponds to Azure AD ObjectID assigned to richel@cqclinic.onmicrosoft.com
Cuando un usuario de inicio de sesión para la autenticación de SQL Server es el propietario de la base de datos, ejecute la instrucción siguiente en la base de datos maestra para verificar el propietario de la base de datos: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;  
    

Procedimiento recomendadoBest practice

En lugar de utilizar a los usuarios de Azure AD como propietarios individuales de la base de datos, utilice un grupo de Azure AD como miembro del rol fijo de base de datos 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. En los pasos siguientes se muestra cómo configurar un inicio de sesión deshabilitado como propietario de la base de datos y cómo convertir un grupo de Azure Active Directory (mydbogroup) en un miembro del rol 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. Inicie sesión en SQL Server como administrador de Azure AD y cambie el propietario de la base de datos a un inicio de sesión deshabilitado para la autenticación de SQL Server.Login to SQL Server as Azure AD admin, and change the owner of the database to a disabled SQL Server authentication login. Por ejemplo, desde la base de datos de usuario, ejecute:For example, from the user database execute:
ALTER AUTHORIZATION ON database::testdb TO DisabledLogin;  
  1. Cree un grupo de Azure AD que posea la base de datos y agréguelo como usuario a la base de datos de usuario.Create an Azure AD group that should own the database and add it as a user to the user database. Por ejemplo:For example:
CREATE USER [mydbogroup] FROM EXTERNAL PROVIDER;  
  1. En la base de datos de usuario, agregue el usuario que representa el grupo de Azure AD al rol fijo de base de datos db_owner.In the user database add the user representing the Azure AD group, to the db_owner fixed database role. Por ejemplo:For example:
ALTER ROLE db_owner ADD MEMBER mydbogroup;  

Ahora, los miembros mydbogroup pueden administrar centralmente la base de datos como miembros del rol db_owner.Now the mydbogroup members can centrally manage the database as members of the db_owner role.

  • Cuando los miembros de este grupo se quitan del grupo de Azure AD, pierden automáticamente los permisos de propietarios para esta base de datos.When members of this group are removed from the Azure AD group, they automatically loose the dbo permissions for this database.
  • Asimismo, si se agregan nuevos miembros al grupo de Azure AD mydbogroup, estos obtienen automáticamente acceso de propietarios para esta base de datos.Similarly if new members are added to mydbogroup Azure AD group, they automatically gain the dbo access for this database.

Para comprobar si un usuario específico tiene el permiso de propietario de base de datos en vigor, pídale que ejecute la instrucción siguiente:To check if a specific user has the effective dbo permission, have the user execute the following statement:

SELECT IS_MEMBER ('db_owner');  

Si el valor devuelto es 1, significa que el usuario es un miembro del rol.A return value of 1 indicates the user is a member of the role.

PermisosPermissions

Requiere el permiso TAKE OWNERSHIP en la entidad.Requires TAKE OWNERSHIP permission on the entity. Si el propietario no es el usuario que ejecuta esta instrucción, también se necesita, 1) el permiso IMPERSONATE en el nuevo propietario si es un usuario o inicio de sesión; o 2) si el nuevo propietario es un rol, debe pertenecer al rol, o el permiso ALTER en el rol; o 3) si el nuevo propietario es un rol de aplicación, el permiso ALTER en el rol de aplicación.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.

EjemplosExamples

A.A. Transferir la propiedad de una tablaTransfer ownership of a table

En el siguiente ejemplo se transfiere la propiedad de la tabla Sprockets al usuario MichikoOsada.The following example transfers ownership of table Sprockets to user MichikoOsada. La tabla se encuentra dentro del esquema Parts.The table is located inside schema Parts.

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

La consulta también podría ser similar a la siguiente:The query could also look like the following:

ALTER AUTHORIZATION ON Parts.Sprockets TO MichikoOsada;    
GO    

Si el esquema de los objetos no se incluye como parte de la instrucción, el Motor de base de datosDatabase Engine buscará el objeto en el esquema predeterminado de los usuarios.If the objects schema is not included as part of the statement, the Motor de base de datosDatabase Engine will look for the object in the users default schema. Por ejemplo:For example:

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

B.B. Transferir la propiedad de una vista al propietario del esquemaTransfer ownership of a view to the schema owner

En el siguiente ejemplo se transfiere la propiedad de la vista ProductionView06 al propietario del esquema que la contiene.The following example transfers ownership the view ProductionView06 to the owner of the schema that contains it. La vista se encuentra dentro del esquema Production.The view is located inside schema Production.

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

C.C. Transferir la propiedad de un esquema a un usuarioTransfer ownership of a schema to a user

En el siguiente ejemplo se transfiere la propiedad del esquema SeattleProduction11 al usuario SandraAlayo.The following example transfers ownership of the schema SeattleProduction11 to user SandraAlayo.

ALTER AUTHORIZATION ON SCHEMA::SeattleProduction11 TO SandraAlayo;    
GO    

D.D. Transferir la propiedad de un extremo a un inicio de sesión de SQL ServerTransfer ownership of an endpoint to a SQL Server login

En el siguiente ejemplo se transfiere la propiedad del extremo CantabSalesServer1 a JaePak.The following example transfers ownership of endpoint CantabSalesServer1 to JaePak. Puesto que el extremo es un elemento protegible de nivel de servidor, el extremo solo puede transferirse a una entidad de seguridad de nivel de servidor.Because the endpoint is a server-level securable, the endpoint can only be transferred to a server-level principal.

Válido para : SQL Server 2008SQL Server 2008 y versiones posteriores.Applies to: SQL Server 2008SQL Server 2008 and later.

ALTER AUTHORIZATION ON ENDPOINT::CantabSalesServer1 TO JaePak;    
GO    

E.E. Cambiar el propietario de una tablaChanging the owner of a table

En todos los ejemplos siguientes se cambia el propietario de la tabla Sprockets en la base de datos Parts por el usuario de base de datos 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. Cambiar el propietario de una base de datosChanging the owner of a database

SE APLICA A: SQL Server 2008SQL Server 2008 y versiones posteriores, Almacenamiento de datos paralelosParallel Data Warehouse, SQL DatabaseSQL DatabaseAPPLIES TO: SQL Server 2008SQL Server 2008 and later, Almacenamiento de datos paralelosParallel Data Warehouse, SQL DatabaseSQL Database.

En el ejemplo siguiente, se cambia el propietario de la base de datos Parts por el inicio de sesión MichikoOsada.The following example change the owner of the Parts database to the login MichikoOsada.

ALTER AUTHORIZATION ON DATABASE::Parts TO MichikoOsada;    

G.G. Cambiar el propietario de SQL Database por un usuario de Azure ADChanging the owner of a SQL Database to an Azure AD User

En el ejemplo siguiente, un administrador de Azure Active Directory para SQL Server en una organización con un Active Directory denominado cqclinic.onmicrosoft.com puede cambiar la propiedad actual de una base de datos targetDB y convertir a un usuario de AAD richel@cqclinic.onmicorsoft.com en el nuevo propietario de la base de datos con el comando siguiente: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];   

Tenga en cuenta que para los usuarios de Azure AD hay que utilizar los corchetes que encierran el nombre de usuario.Note that for Azure AD users the brackets around the user name must be used.

Consulte tambiénSee Also

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