Compartir a través de


Crear y modificar objetos (XMLA)

Los objetos principales se pueden crear, modificar y eliminar de forma independiente. Entre los objetos principales se incluyen los siguientes:

  • Servidores

  • Bases de datos

  • Dimensions

  • Cubos

  • Grupos de medida

  • Particiones

  • Perspectivas

  • Modelos de minería de datos

  • Roles

  • Comandos asociados a un servidor o base de datos

  • Orígenes de datos

Use el comando Create para crear un objeto principal en una instancia de Microsoft SQL Server Analysis Services y el comando Alter para modificar un objeto principal existente en una instancia de . Ambos comandos se ejecutan mediante el método Execute .

Crear objetos

Al crear objetos mediante el Create método , primero debe identificar el objeto primario que contiene el objeto de Analysis Services que se va a crear. Para identificar el objeto primario, proporcione una referencia de objeto en la propiedad ParentObject del Create comando . Cada referencia de objeto contiene los identificadores de objeto necesarios para identificar de forma exclusiva el objeto primario para el comando Create. Para obtener más información sobre las referencias de objetos, vea Definición e identificación de objetos (XMLA).

Por ejemplo, debe proporcionar una referencia de objeto a un cubo para crear un nuevo grupo de medida para el cubo. La referencia de objeto para el cubo en la propiedad ParentObject contiene un identificador de base de datos y un identificador de cubo, ya que es posible que se utilice el mismo identificador de cubo en otra base de datos.

El elemento ObjectDefinition contiene elementos de Analysis Services Scripting Language (ASSL) que definen el objeto principal que se va a crear. Para obtener más información sobre ASSL, vea Developing with Analysis Services Scripting Language (ASSL).

Si establece el atributo AllowOverwrite del comando Create en true, puede sobrescribir un objeto principal existente que tenga el identificador especificado. De lo contrario, si ya existe un objeto principal con el identificador especificado en el objeto primario, se produce un error.

Para obtener más información sobre el Create comando, vea Create Element (XMLA).

Crear objetos de sesión

Los objetos de sesión son objetos temporales que solo están disponibles para la sesión explícita o implícita utilizada por una aplicación cliente y que se eliminan cuando finaliza la sesión. Puede crear objetos de sesión estableciendo el Scope atributo del Create comando en Session.

Nota:

Cuando se usa la configuración Session , el ObjectDefinition elemento solo puede contener elementos Dimension, Cube o MiningModel ASSL.

Modificar objetos

Al modificar objetos mediante el Alter método , primero debe identificar el objeto que se va a modificar proporcionando una referencia de objeto en la propiedad Object del Alter comando . Cada referencia de objeto contiene los identificadores de objeto necesarios para identificar de forma exclusiva el objeto para el comando Alter. Para obtener más información sobre las referencias de objetos, vea Definición e identificación de objetos (XMLA).

Por ejemplo, debe proporcionar una referencia de objeto a un cubo para modificar la estructura de un cubo. La referencia de objeto para el cubo en la propiedad Object contiene un identificador de base de datos y un identificador de cubo, ya que es posible que se utilice el mismo identificador de cubo en otra base de datos.

El elemento ObjectDefinition contiene elementos ASSL que definen el objeto principal que se va a modificar. Para obtener más información sobre ASSL, vea Developing with Analysis Services Scripting Language (ASSL).

Si establece el atributo AllowCreate del comando Alter en true, puede crear el objeto principal especificado si éste no existe. De lo contrario, si un objeto principal especificado no existe aún, se produce un error.

Utilizar el atributo ObjectExpansion

Si solo cambia las propiedades del objeto principal y no está redefiniendo los objetos secundarios contenidos en el objeto principal, puede establecer el ObjectExpansion atributo del Alter comando en ObjectProperties. De este modo, la propiedad ObjectDefinition solo debe contener los elementos para las propiedades del objeto principal y el comando Alter conserva intactos los objetos secundarios asociados al objeto principal.

Para volver a definir los objetos secundarios de un objeto principal, debe establecer el ObjectExpansion atributo en ExpandFull y la definición de objeto debe incluir todos los objetos secundarios contenidos en el objeto principal. Si la propiedad ObjectDefinition del comando Alter no incluye de forma explícita un objeto secundario contenido en el objeto principal, se elimina el objeto secundario no incluido.

Modificar objetos de sesión

Para modificar los objetos de sesión creados por el Create comando, establezca el Scope atributo del Alter comando en Session.

Nota

Cuando se usa la configuración Session , el ObjectDefinition elemento solo puede contener elementos Dimension, Cube o MiningModel ASSL.

Crear o modificar objetos subordinados

Aunque los comandos Create o Alter crean o modifican solamente un objeto principal de nivel superior, el objeto principal que se crea o modifica puede contener definiciones para otros objetos principales y secundarios subordinados a éste dentro de la propiedad ObjectDefinition envolvente. Por ejemplo, si define un cubo, la base de datos primaria se especifica en ParentObject y, dentro de la definición del cubo en ObjectDefinition, puede definir grupos de medida para éste; a su vez, dentro de los grupos de medida, puede definir particiones para cada grupo de este tipo. Un objeto secundario solamente se puede definir bajo el objeto principal que lo contiene. Para obtener más información sobre los objetos principales y secundarios, vea Objetos de base de datos (Analysis Services - Datos multidimensionales) .

Ejemplos

Descripción

En el ejemplo siguiente se crea un origen de datos relacional que hace referencia al ejemplo Adventure Works DW Multidimensional 2012 de Microsoft SQL Server base de datos.

Código

<Create xmlns="https://schemas.microsoft.com/analysisservices/2003/engine">  
    <ParentObject>  
        <DatabaseID>Adventure Works DW Multidimensional 2012</DatabaseID>  
    </ParentObject>  
    <ObjectDefinition>  
        <DataSource xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="RelationalDataSource">  
            <ID>AdventureWorksDW2012</ID>  
            <Name>AdventureWorksDW2012</Name>  
            <ConnectionString>Data Source=localhost;Initial Catalog=AdventureWorksDW2008R2;Integrated Security=True</ConnectionString>  
            <ImpersonationInfo>  
                <ImpersonationMode>ImpersonateServiceAccount</ImpersonationMode>  
            </ImpersonationInfo>  
            <ManagedProvider>System.Data.SqlClient</ManagedProvider>  
            <Timeout>PT0S</Timeout>  
        </DataSource>  
    </ObjectDefinition>  
</Create>  

Descripción

En el ejemplo siguiente se modifica el origen de datos relacional creado en el ejemplo anterior para establecer en 30 segundos el tiempo de espera de consulta para el origen de datos.

Código

<Alter ObjectExpansion="ObjectProperties" xmlns="https://schemas.microsoft.com/analysisservices/2003/engine">  
    <Object>  
        <DatabaseID>Adventure Works DW Multidimensional 2012</DatabaseID>  
        <DataSourceID>AdventureWorksDW2012</DataSourceID>  
    </Object>  
    <ObjectDefinition>  
        <DataSource xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="RelationalDataSource">  
            <ID>AdventureWorksDW2012</ID>  
            <Name>AdventureWorksDW2012</Name>  
            <ConnectionString>Data Source=fr-dwk-02;Initial Catalog=AdventureWorksDW2008R2;Integrated Security=True</ConnectionString>  
            <ManagedProvider>System.Data.SqlClient</ManagedProvider>  
            <Timeout>PT30S</Timeout>  
        </DataSource>  
    </ObjectDefinition>  
</Alter>  

Comentarios

El ObjectExpansion atributo del Alter comando se estableció en ObjectProperties. Esta configuración permite que el elemento ImpersonationInfo , un objeto secundario, se excluya del origen de datos definido en ObjectDefinition. Por lo tanto, la información de suplantación de ese origen de datos permanece activa en la cuenta de servicio, como se especifica en el primer ejemplo.

Consulte también

Método Execute (XMLA)
Desarrollar aplicaciones con Analysis Services Scripting Language (ASSL)
Desarrollar con XMLA en Analysis Services