Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
No Microsoft SQL Server Analysis Services, o processamento é o passo ou a série de etapas que transformam dados em informação para análise empresarial. O processamento varia consoante o tipo de objeto, mas o processamento faz sempre parte da transformação de dados em informação.
Para processar um objeto SQL Server Analysis Services, pode usar o comando Process . O comando Process pode processar os seguintes objetos numa instância do SQL Server Analysis Services:
Cubos
Databases
Dimensões
Grupos de medida
Modelos de mineração
Estruturas mineiras
Partições
Para controlar o processamento dos objetos, o comando Process tem várias propriedades que podem ser definidas. O comando Process tem propriedades que controlam: quanto processamento será realizado, que objetos serão processados, se devem usar bindings fora de linha, como lidar com erros e como gerir tabelas de writeback.
Especificação das Opções de Processamento
A propriedade Type do comando Process especifica a opção de processamento a usar ao processar o objeto. Para mais informações sobre opções de processamento, consulte Opções e Definições de Processamento (Serviços de Análise).
A tabela seguinte lista as constantes da propriedade Type e os vários objetos que podem ser processados usando cada constante.
| Valor de tipo | Objetos aplicáveis |
|---|---|
| Processo Completo | Cubo, base de dados, dimensão, grupo de medição, modelo de mineração, estrutura de mineração, partição |
| ProcessAdd | Dimensão, partição |
| ProcessUpdate | Dimensão |
| ProcessIndexes | Dimensão, cubo, grupo de medida, partição |
| ProcessData | Dimensão, cubo, grupo de medida, partição |
| ProcessDefault | Cubo, base de dados, dimensão, grupo de medição, modelo de mineração, estrutura de mineração, partição |
| ProcessClear | Cubo, base de dados, dimensão, grupo de medição, modelo de mineração, estrutura de mineração, partição |
| Estrutura do Processo | Cubo, estrutura de mineração |
| LimparApenasEstrutura | Estrutura mineira |
| ProcessScriptCache | Cubo |
Para mais informações sobre o processamento de objetos SQL Server Analysis Services, consulte Processamento de um modelo multidimensional (Analysis Services).
Especificação de Objetos a Processar
A propriedade Object do comando Process contém o identificador do objeto a ser processado. Apenas um objeto pode ser especificado num comando Process , mas processar um objeto também processa quaisquer objetos filhos. Por exemplo, o processamento de um grupo de medidas num cubo processa todas as partições desse grupo de medidas, enquanto o processamento de uma base de dados processa todos os objetos, incluindo cubos, dimensões e estruturas de mineração, que estão contidos pela base de dados.
Se definir o atributo ProcessAffectedObjects do comando Process como true, qualquer objeto relacionado afetado pelo processamento do objeto especificado também é processado. Por exemplo, se uma dimensão for atualizada incrementalmente usando a opção de processamento ProcessUpdate no comando Process , qualquer partição cujas agregações sejam invalidadas devido à adição ou eliminação de membros é também processada pelos SQL Server Analysis Services se ProcessAffectedObjects estiver definido como true. Neste caso, um único comando Process pode processar múltiplos objetos numa instância do SQL Server Analysis Services, mas o SQL Server Analysis Services determina que objetos, além do único objeto especificado no comando Process , também devem ser processados.
No entanto, pode processar múltiplos objetos, como dimensões, ao mesmo tempo usando múltiplos comandos Process dentro de um comando Batch . As operações em lote fornecem um nível mais fino de controlo para o processamento serial ou paralelo de objetos numa instância do SQL Server Analysis Services do que ao usar o atributo ProcessAffectedObjects , e permitem-lhe ajustar a sua abordagem de processamento para bases de dados maiores do SQL Server Analysis Services. Para mais informações sobre a execução de operações em lote, consulte Realização de Operações em Lote (XMLA).
Especificação de Ligações Fora de Linha
Se o comando Process não estiver contido por um comando Batch , pode opcionalmente especificar ligações fora de linha nas propriedades Bindings, DataSource e DataSourceView do comando Process para os objetos a processar. As ligações fora de linha são referências a fontes de dados, vistas de fontes de dados e outros objetos em que a ligação existe apenas durante a execução do comando Processo , e que sobrepõem quaisquer ligações existentes associadas aos objetos a processar. Se as ligações fora de linha não forem especificadas, são usadas as ligações atualmente associadas aos objetos a processar.
As fixações fora de linha são usadas nas seguintes circunstâncias:
Processamento incremental de uma partição, em que uma tabela de factos alternativa ou um filtro na tabela de factos existente deve ser especificado para garantir que as linhas não são contadas duas vezes.
Utilizar uma tarefa de fluxo de dados no Microsoft SQL Server Integration Services para fornecer dados enquanto se processa uma dimensão, modelo de mineração ou partição.
As ligações fora de linha são descritas como parte da Linguagem de Scripting dos Serviços de Análise (ASSL). Para mais informações sobre ligações fora de linha em ASSL, consulte Fontes e Ligações de Dados (SSAS Multidimensional).
Atualização Incremental das Partições
Atualizar incrementalmente uma partição já processada normalmente requer uma ligação fora de linha porque a ligação especificada para a partição faz referência a dados da tabela de factos já agregados dentro da partição. Ao atualizar incrementalmente uma partição já processada usando o comando Process , o SQL Server Analysis Services executa as seguintes ações:
Cria uma partição temporária com uma estrutura idêntica à da partição a ser atualizada incrementalmente.
Processa a partição temporária, usando a ligação fora de linha especificada no comando Processar .
Funde a partição temporária com a partição selecionada existente.
Para mais informações sobre a fusão de partições usando XML para Análise (XMLA), veja Fusão de Partições (XMLA).
Gestão de Erros de Processamento
A propriedade ErrorConfiguration do comando Process permite-lhe especificar como lidar com os erros encontrados durante o processamento de um objeto. Por exemplo, ao processar uma dimensão, o SQL Server Analysis Services encontra um valor duplicado na coluna chave do atributo chave. Como as chaves de atributos devem ser únicas, o SQL Server Analysis Services descarta os registos duplicados. Com base na propriedade KeyDuplicate do ErrorConfiguration, os Serviços de Análise do SQL Server poderiam:
Ignora o erro e continua a processar a dimensão.
Devolva uma mensagem que indique que o SQL Server Analysis Services encontrou uma chave duplicada e continue o processamento.
Existem muitas condições semelhantes para as quais o ErrorConfiguration oferece opções durante um comando Process.
Gerir tabelas de retroescrita
Se o comando Process encontrar uma partição com escrita habilitada, ou um cubo ou grupo de medidas relacionado a essa partição, que ainda não tenha sido totalmente processado, pode já não existir uma tabela de escrita para essa partição. A propriedade WritebackTableCreation do comando Process determina se o SQL Server Analysis Services deve criar uma tabela de writeback.
Examples
Description
O exemplo seguinte processa totalmente a base de dados de exemplo do SQL Server Analysis Services Adventure Works DW Multidimensional 2012.
Código
<Process xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">
<Object>
<DatabaseID>Adventure Works DW Multidimensional 2012</DatabaseID>
</Object>
<Type>ProcessFull</Type>
<WriteBackTableCreation>UseExisting</WriteBackTableCreation>
</Process>
Description
O seguinte exemplo processa incrementalmente a partição Internet_Sales_2004 no grupo de medidas Internet Sales do cubo Adventure Works DW na base de dados de exemplo Adventure Works DW Multidimensional 2012 do SQL Server Analysis Services. O comando Process está a adicionar agregações para datas de encomenda posteriores a 31 de dezembro de 2006 à partição, usando uma ligação de consulta fora de linha na propriedade Bindings do comando Process para recuperar as linhas da tabela de factos a partir das quais gerar agregações para adicionar à partição.
Código
<Process ProcessAffectedObjects="true" xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">
<Object>
<DatabaseID>Adventure Works DW Multidimensional 2012</DatabaseID>
<CubeID>Adventure Works DW</CubeID>
<MeasureGroupID>Fact Internet Sales 1</MeasureGroupID>
<PartitionID>Internet_Sales_2006</PartitionID>
</Object>
<Bindings>
<Binding>
<DatabaseID>Adventure Works DW Multidimensional 2012</DatabaseID>
<CubeID>Adventure Works DW</CubeID>
<MeasureGroupID>Fact Internet Sales 1</MeasureGroupID>
<PartitionID>Internet_Sales_2006</PartitionID>
<Source xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="QueryBinding">
<DataSourceID>Adventure Works DW</DataSourceID>
<QueryDefinition>
SELECT
[dbo].[FactInternetSales].[ProductKey],
[dbo].[FactInternetSales].[OrderDateKey],
[dbo].[FactInternetSales].[DueDateKey],
[dbo].[FactInternetSales].[ShipDateKey],
[dbo].[FactInternetSales].[CustomerKey],
[dbo].[FactInternetSales].[PromotionKey],
[dbo].[FactInternetSales].[CurrencyKey],
[dbo].[FactInternetSales].[SalesTerritoryKey],
[dbo].[FactInternetSales].[SalesOrderNumber],
[dbo].[FactInternetSales].[SalesOrderLineNumber],
[dbo].[FactInternetSales].[RevisionNumber],
[dbo].[FactInternetSales].[OrderQuantity],
[dbo].[FactInternetSales].[UnitPrice],
[dbo].[FactInternetSales].[ExtendedAmount],
[dbo].[FactInternetSales].[UnitPriceDiscountPct],
[dbo].[FactInternetSales].[DiscountAmount],
[dbo].[FactInternetSales].[ProductStandardCost],
[dbo].[FactInternetSales].[TotalProductCost],
[dbo].[FactInternetSales].[SalesAmount],
[dbo].[FactInternetSales].[TaxAmt],
[dbo].[FactInternetSales].[Freight],
[dbo].[FactInternetSales].[CarrierTrackingNumber],
[dbo].[FactInternetSales].[CustomerPONumber]
FROM [dbo].[FactInternetSales]
WHERE OrderDateKey > '1280'
</QueryDefinition>
</Source>
</Binding>
</Bindings>
<Type>ProcessAdd</Type>
<WriteBackTableCreation>UseExisting</WriteBackTableCreation>
</Process>