Compartir a través de


Crear y modificar objetos (XMLA)

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

  • Servidores

  • Bases de datos

  • Dimensiones

  • Cubos

  • Grupos de medidas

  • Particiones

  • Perspectivas

  • Modelos de minería de datos

  • Funciones

  • 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 única el objeto primario del Create comando. 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 ParentObject propiedad 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, consulte Desarrollo con Analysis Services Scripting Language (ASSL).

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

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

Creación de 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 que usa una aplicación cliente y 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 Sesión , 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 única el objeto para el Alter comando. 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 Object propiedad 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 ObjectDefinition elemento contiene elementos ASSL que definen el objeto principal que se va a modificar. Para obtener más información sobre ASSL, consulte Desarrollo con Analysis Services Scripting Language (ASSL).

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

Uso del atributo ObjectExpansion

Si va a cambiar solo 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. A continuación, la ObjectDefinition propiedad solo tiene que contener los elementos de las propiedades del objeto principal y el Alter comando deja los objetos secundarios asociados al objeto principal sin modificar.

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 que contiene el objeto principal. Si la ObjectDefinition propiedad del Alter comando no incluye explícitamente un objeto secundario contenido 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 Create comando, establezca el Scope atributo del Alter comando en Session.

Nota:

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

Crear o modificar objetos subordinados

Aunque un Create comando 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 envolvente para otros objetos principales y secundarios que están subordinados ObjectDefinition a él. Por ejemplo, si define un cubo, especifica la base de datos primaria en ParentObjecty dentro de la definición del cubo en 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 solo se puede definir en 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 a la base de datos de Microsoft SQL Server de ejemplo Adventure Works DW 2012.

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 el tiempo de espera de la consulta para el origen de datos en 30 segundos.

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 establecida en la cuenta de servicio, tal como se especifica en el primer ejemplo.

Véase también

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