Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In Microsoft SQL Server Analysis Services ist die Verarbeitung der Schritt oder eine Reihe von Schritten, die Daten in Informationen für die Geschäftsanalyse umwandeln. Die Verarbeitung unterscheidet sich je nach Objekttyp, aber die Verarbeitung ist immer Teil der Datenverarbeitung in Informationen.
Um ein Analysis Services-Objekt zu verarbeiten, können Sie den Befehl "Prozess " verwenden. Der Process Befehl kann die folgenden Objekte in einer Analysis Services-Instanz verarbeiten:
Würfel
Datenbanken
Maße
Messgruppen
Miningmodelle
Bergbaustrukturen
Partitionen
Zum Steuern der Verarbeitung von Objekten verfügt der Process Befehl über verschiedene Eigenschaften, die festgelegt werden können. Der Process Befehl verfügt über Eigenschaften, die steuern: wie viel Verarbeitung durchgeführt wird, welche Objekte verarbeitet werden, ob out-of-line-Bindungen verwendet werden sollen, wie Fehler behandelt werden und wie Sie Rückschreibtabellen verwalten.
Angeben von Verarbeitungsoptionen
Die Type-Eigenschaft des Process Befehls gibt die Verarbeitungsoption an, die beim Verarbeiten des Objekts verwendet werden soll. Weitere Informationen zu Verarbeitungsoptionen finden Sie unter "Verarbeitungsoptionen und -einstellungen (Analysis Services)".
In der folgenden Tabelle sind die Konstanten für die Type Eigenschaft und die verschiedenen Objekte aufgeführt, die mit jeder Konstante verarbeitet werden können.
Type-Wert |
Anwendbare Objekte |
|---|---|
| ProcessFull | Cube, Datenbank, Dimension, Measuregruppe, Miningmodell, Miningstruktur, Partition |
| ProcessAdd | Dimension, Partition |
| ProcessUpdate | Abmessung |
| ProcessIndexes | Dimension, Cube, Measuregruppe, Partition |
| ProcessData | Dimension, Cube, Measuregruppe, Partition |
| ProcessDefault | Cube, Datenbank, Dimension, Measuregruppe, Miningmodell, Miningstruktur, Partition |
| ProcessClear | Cube, Datenbank, Dimension, Measuregruppe, Miningmodell, Miningstruktur, Partition |
| Prozessstruktur | Cube- und Bergbaustruktur |
| ProcessClearStructureOnly | Bergbaustruktur |
| ProcessScriptCache | Würfel |
Weitere Informationen zum Verarbeiten von Analysis Services-Objekten finden Sie unter Multidimensional Model Object Processing.
Angeben der zu verarbeitenden Objekte
Die Object-Eigenschaft des Process Befehls enthält den Objektbezeichner des zu verarbeitenden Objekts. Nur ein Objekt kann in einem Process Befehl angegeben werden, die Verarbeitung eines Objekts verarbeitet jedoch auch alle untergeordneten Objekte. Beispielsweise verarbeitet die Verarbeitung einer Measuregruppe in einem Cube alle Partitionen für diese Measuregruppe, während eine Datenbank alle Objekte verarbeitet, einschließlich Cubes, Dimensionen und Miningstrukturen, die in der Datenbank enthalten sind.
Wenn Sie das ProcessAffectedObjects Attribut des Process Befehls auf "true" festlegen, werden alle verwandten Objekte, die durch die Verarbeitung des angegebenen Objekts betroffen sind, ebenfalls verarbeitet. Wenn beispielsweise eine Dimension mithilfe der ProcessUpdate-Verarbeitungsoption im Process Befehl inkrementell aktualisiert wird, werden alle Partitionen, deren Aggregationen aufgrund von hinzugefügten oder gelöschten Elementen ungültig sind, auch von Analysis Services verarbeitet, wenn ProcessAffectedObjects auf "true" festgelegt ist. In diesem Fall kann ein einzelner Process Befehl mehrere Objekte in einer Analysis Services-Instanz verarbeiten, aber Analysis Services bestimmt, welche Objekte neben dem im Process Befehl angegebenen einzelnen Objekt ebenfalls verarbeitet werden müssen.
Sie können jedoch mehrere Objekte wie Dimensionen gleichzeitig verarbeiten, indem Sie mehrere Process Befehle in einem Batch Befehl verwenden. Batchvorgänge bieten eine feinere Steuerungsebene für die serielle oder parallele Verarbeitung von Objekten in einer Analysis Services-Instanz als die Verwendung des ProcessAffectedObjects Attributs und ermöglichen Es Ihnen, den Verarbeitungsansatz für größere Analysis Services-Datenbanken zu optimieren. Weitere Informationen zum Ausführen von Batchvorgängen finden Sie unter Ausführen von Batchvorgängen (XMLA).
Angeben von Out-of-Line-Bindungen
Wenn der Process Befehl nicht in einem Batch Befehl enthalten ist, können Sie optional out-of-line-Bindungen in den Eigenschaften "Bindings", "DataSource" und "DataSourceView " des Process Befehls angeben, damit die Objekte verarbeitet werden. Out-of-Line-Bindungen sind Verweise auf Datenquellen, Datenquellenansichten und andere Objekte, in denen die Bindung nur während der Ausführung des Process Befehls vorhanden ist und die vorhandene Bindungen außer Kraft setzen, die den verarbeiteten Objekten zugeordnet sind. Wenn out-of-line-Bindungen nicht angegeben sind, werden die Bindungen verwendet, die derzeit den zu verarbeitenden Objekten zugeordnet sind.
Out-of-Line-Bindungen werden unter folgenden Umständen verwendet:
Inkrementelle Verarbeitung einer Partition, bei der eine alternative Faktentabelle oder ein Filter für die vorhandene Faktentabelle angegeben werden muss, um sicherzustellen, dass Zeilen nicht zweimal gezählt werden.
Verwenden einer Datenflussaufgabe in Microsoft SQL Server Integration Services zum Bereitstellen von Daten während der Verarbeitung einer Dimension, eines Miningmodells oder einer Partition.
Out-of-Line-Bindungen werden als Teil der Analysis Services Scripting Language (ASSL) beschrieben. Weitere Informationen zu out-of-line-Bindungen in ASSL finden Sie unter Datenquellen und Bindungen (SSAS Multidimensional).
Inkrementelles Aktualisieren von Partitionen
Für die inkrementelle Aktualisierung einer bereits verarbeiteten Partition ist in der Regel eine out-of-line-Bindung erforderlich, da die für die Partition angegebene Bindung bereits in der Partition aggregierte Faktentabellendaten enthält. Wenn Sie eine bereits verarbeitete Partition mithilfe des Process Befehls inkrementell aktualisieren, führt Analysis Services die folgenden Aktionen aus:
Erstellt eine temporäre Partition mit einer Struktur, die mit der der Partition identisch ist, die inkrementell aktualisiert werden soll.
Verarbeitet die temporäre Partition mithilfe der im
ProcessBefehl angegebenen out-of-line-Bindung.Führt die temporäre Partition mit der vorhandenen ausgewählten Partition zusammen.
Weitere Informationen zum Zusammenführen von Partitionen mit XML for Analysis (XMLA) finden Sie unter Zusammenführen von Partitionen (XMLA).
Behandeln von Verarbeitungsfehlern
Mit der ErrorConfiguration-Eigenschaft des Process Befehls können Sie angeben, wie Fehler beim Verarbeiten eines Objekts behandelt werden. Bei der Verarbeitung einer Dimension trifft Analysis Services beispielsweise auf einen doppelten Wert in der Schlüsselspalte des Schlüsselattributes. Da Attributschlüssel eindeutig sein müssen, verwirft Analysis Services die doppelten Datensätze. Basierend auf der KeyDuplicate-Eigenschaft von ErrorConfiguration, Analysis Services könnte:
Ignorieren Sie den Fehler, und fahren Sie mit der Verarbeitung der Dimension fort.
Gibt eine Nachricht zurück, die besagt, dass Analysis Services einen doppelten Schlüssel gefunden hat, und die Verarbeitung fortsetzen.
Es gibt viele ähnliche Bedingungen, für die ErrorConfiguration Optionen während eines Process Befehls bereitgestellt werden.
Verwalten von Rückschreibtabellen
Wenn der Process Befehl auf eine schreibfähige Partition oder einen Cube oder eine Measuregruppe für eine solche Partition trifft, die noch nicht vollständig verarbeitet wurde, ist für diese Partition möglicherweise noch keine Rückschreibtabelle vorhanden. Die WritebackTableCreation-Eigenschaft des Process Befehls bestimmt, ob Analysis Services eine Rückschreibtabelle erstellen soll.
Beispiele
BESCHREIBUNG
Im folgenden Beispiel wird die Sample Analysis Services-Datenbank "Adventure Works DW Multidimensional 2012" vollständig verarbeitet.
Programmcode
<Process xmlns="https://schemas.microsoft.com/analysisservices/2003/engine">
<Object>
<DatabaseID>Adventure Works DW Multidimensional 2012</DatabaseID>
</Object>
<Type>ProcessFull</Type>
<WriteBackTableCreation>UseExisting</WriteBackTableCreation>
</Process>
BESCHREIBUNG
Im folgenden Beispiel wird die Internet_Sales_2004 Partition in der Measuregruppe "Internet Sales " des Adventure Works DW-Cubes in der Beispieldatenbank "Adventure Works DW Multidimensional 2012 Analysis Services" inkrementell verarbeitet. Der Process Befehl fügt Aggregationen für Bestelldaten nach dem 31. Dezember 2006 zur Partition hinzu, indem eine out-of-line-Abfragebindung in der Bindings Eigenschaft des Process Befehls verwendet wird, um die Faktentabellenzeilen abzurufen, aus denen Aggregationen generiert werden, die der Partition hinzugefügt werden sollen.
Programmcode
<Process ProcessAffectedObjects="true" xmlns="https://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>