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