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 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 método Create, primero debe identificar el objeto primario que contiene el objeto SQL Server Analysis Services que se va a crear. Para identificar el objeto primario, proporcione una referencia de objeto en la propiedad ParentObject del comando Create . Cada referencia de objeto contiene los identificadores de objeto necesarios para identificar de forma única 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 de la propiedad ParentObject contiene un identificador de base de datos y un identificador de cubo, ya que el mismo identificador de cubo podría usarse en una base de datos diferente.

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 comando Create , 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 atributo Scope del comando Create en Session.

Nota

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

Modificar objetos

Al modificar objetos mediante el método Alter , primero debe identificar el objeto que se va a modificar proporcionando una referencia de objeto en la propiedad Object del comando Alter . Cada referencia de objeto contiene los identificadores de objeto necesarios para identificar de forma única el objeto del 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 de la propiedad Object contiene un identificador de base de datos y un identificador de cubo, ya que el mismo identificador de cubo podría usarse en una base de datos diferente.

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 el objeto 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 atributo ObjectExpansion del comando Alter en ObjectProperties. La propiedad ObjectDefinition solo tiene que contener los elementos de las propiedades del objeto principal y el comando Alter deja los objetos secundarios asociados al objeto principal sin modificar.

Para redefinir los objetos secundarios de un objeto principal, debe establecer el atributo ObjectExpansion 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 explícitamente un objeto secundario incluido en el objeto principal, se elimina el objeto secundario que no se incluyó.

Modificar objetos de sesión

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

Nota

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

Crear o modificar objetos subordinados

Aunque un comando Create o Alter crea o modifica solo un objeto principal superior, el objeto principal que se crea o modifica puede contener definiciones dentro de la propiedad ObjectDefinition envolvente para otros objetos principales y secundarios que están subordinados a él. Por ejemplo, si define un cubo, especifica la base de datos primaria en ParentObject y, dentro de la definición de cubo de ObjectDefinition , puede definir grupos de medida para el cubo y, dentro de los grupos de medida, puede definir particiones para cada grupo de medida. 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="http://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="http://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 atributo ObjectExpansion del comando Alter 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