Partilhar via


Criando e alterando objetos (XMLA)

Os objetos principais podem ser criados, alterados e excluídos de forma independente. Os objetos principais incluem o seguinte:

  • Servidores

  • Bancos de dados

  • Dimensões

  • Cubes

  • Grupos de medidas

  • Partições

  • Perspectivas

  • Modelos de mineração

  • Funções

  • Comandos associados a um servidor ou a um banco de dados

  • Fontes de dados

Use o comando Criar para criar um objeto principal em uma instância do Microsoft SQL Server Analysis Services e o comando Alter para alterar um objeto principal existente em uma instância. Ambos os comandos são executados usando o método Execute .

Criando objetos

Ao criar objetos usando o Create método , primeiro você deve identificar o objeto pai que contém o objeto Analysis Services a ser criado. Identifique o objeto pai fornecendo uma referência de objeto na propriedade ParentObject do Create comando. Cada referência de objeto contém os identificadores de objetos necessários para a identificação exclusiva do objeto pai para o comando Create. Para obter mais informações sobre referências de objeto, consulte Definindo e identificando objetos (XMLA).

Por exemplo, você deve fornecer uma referência de objeto a um cubo para criar um grupo de medidas novo para ele. A referência de objeto para o cubo na propriedade ParentObject contém um identificador de banco de dados e um identificador de cubo, já que, potencialmente, o mesmo identificador de cubo poderia ser usado em um banco de dados diferente.

O elemento ObjectDefinition contém elementos ASSL (Analysis Services Scripting Language) que definem o objeto principal a ser criado. Para obter mais informações sobre ASSL, consulte Desenvolvendo com o ASSL (Analysis Services Scripting Language).

Se você definir o atributo AllowOverwrite do comando Create como verdadeiro, poderá substituir um objeto principal existente que tenha o identificador especificado. Caso contrário, ocorrerá um erro se um objeto principal com o identificador especificado já existir no objeto pai.

Para obter mais informações sobre o Create comando, consulte Elemento Create (XMLA).

Criando objetos de sessão

Os objetos de sessão são objetos temporários que só estão disponíveis para a sessão explícita ou implícita usada por um aplicativo cliente e são excluídos quando a sessão é encerrada. Você pode criar objetos de sessão definindo o Scope atributo do Create comando como Sessão.

Observação

Ao usar a configuração Sessão , o ObjectDefinition elemento só pode conter elementos ASSL Dimension, Cube ou MiningModel .

Alterando objetos

Ao modificar objetos usando o Alter método , primeiro você deve identificar o objeto a ser modificado fornecendo uma referência de objeto na propriedade Object do Alter comando . Cada referência de objeto contém os identificadores de objetos necessários para a identificação exclusiva do objeto para o comando Alter. Para obter mais informações sobre referências de objeto, consulte Definindo e identificando objetos (XMLA).

Por exemplo, você deve fornecer uma referência de objeto a um cubo para modificar a sua estrutura. A referência de objeto para o cubo na propriedade Object contém um identificador de banco de dados e um identificador de cubo, já que, potencialmente, o mesmo identificador de cubo poderia ser usado em um banco de dados diferente.

O elemento ObjectDefinition contém elementos da ASSL que definem o objeto principal a ser modificado. Para obter mais informações sobre ASSL, consulte Desenvolvendo com o ASSL (Analysis Services Scripting Language).

Se você definir o atributo AllowCreate do comando Alter como verdadeiro, poderá criar o um objeto principal especificado caso ele ainda não exista. Caso contrário, ocorrerá um erro se um objeto principal especificado ainda não existir.

Usando o atributo ObjectExpansion

Se você estiver alterando apenas as propriedades do objeto principal e não estiver redefinindo objetos secundários contidos no objeto principal, poderá definir o ObjectExpansion atributo do Alter comando como ObjectProperties. A propriedade ObjectDefinition só precisará conter os elementos para as propriedades do objeto principal, e o comando Alter não tocará nos objetos secundários associados ao objeto principal.

Para redefinir objetos secundários para um objeto principal, você deve definir o ObjectExpansion atributo como ExpandFull e a definição de objeto deve incluir todos os objetos secundários contidos no objeto principal. Se a propriedade ObjectDefinition do comando Alter não incluir explicitamente um objeto secundário contido pelo objeto principal, esse objeto secundário será excluído.

Alterando objetos de sessão

Para modificar objetos de sessão criados pelo Create comando, defina o Scope atributo do Alter comando como Session.

Observação

Ao usar a configuração Sessão , o ObjectDefinition elemento só pode conter elementos ASSL Dimension, Cube ou MiningModel .

Criando ou alterando objetos subordinados

Embora um comando Create ou Alter crie ou altere somente o objeto principal superior, o objeto principal criado ou modificado poderá conter definições na propriedade de circunscrição ObjectDefinition para outros objetos principais e secundários subordinados a ele. Por exemplo, se você definir um cubo, especificará o banco de dados pai em ParentObject, na definição do cubo em ObjectDefinition, você poderá definir grupos de medidas para o cubo e no grupo de medidas poderá definir partições para cada grupo de medidas. Um objeto secundário só pode ser definido sob o objeto principal que o contém. Para obter mais informações sobre objetos principais e secundários, consulte Objetos de Banco de Dados (Analysis Services – Dados Multidimensionais).

Exemplos

Descrição

O exemplo a seguir cria uma fonte de dados relacional que faz referência ao banco de dados microsoft SQL Server de exemplo do Adventure Works DW Multidimensional 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>  

Descrição

O exemplo a seguir altera a fonte de dados relacional criada no exemplo anterior para definir o tempo limite da consulta para a fonte de dados como 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>  

Comentários

O ObjectExpansion atributo do Alter comando foi definido como ObjectProperties. Essa configuração permite que o elemento ImpersonationInfo , um objeto secundário, seja excluído da fonte de dados definida em ObjectDefinition. Dessa forma, a informações de representação para aquela fonte de dados permanece definida para a conta de serviço, como especificado no primeiro exemplo.

Consulte Também

Método Execute (XMLA)
Desenvolvendo com ASSL (linguagem de script do Analysis Services)
Desenvolvendo com XMLA no Analysis Services