Infodatei für das Aggregation Manager-Beispiel
Aggregation Manager ist eine Beispielanwendung, mit der Sie Aggregationen basierend auf den im Abfrageprotokoll gesammelten Informationen anzeigen, entwerfen, bearbeiten und hinzufügen können.
Weitere Informationen zu Leistungsproblemen im Zusammenhang mit Aggregationen finden Sie im Abschnitt "Writing Efficient MDX" (in Englisch) im SQL Server 2005 Analysis Services Performance Guide. Informationen zum Einrichten des Abfrageprotokolls finden Sie unter Configuring the Analysis Services Query Log.
Szenario
Im Aggregation Manager-Beispiel wird veranschaulicht, wie die verschiedenen Features von SQL Server 2005 Analysis Services zur Handhabung des Aggregationsentwurfs verwendet werden können.
In dem Beispiel kann eine Verbindung mit einer Instanz von Analysis Services hergestellt sowie ein Satz von Aggregationsentwürfen angezeigt werden. Außerdem werden die Partitionen angezeigt, auf die der Aggregationsentwurf angewendet wird.
Mit diesem Beispiel können Sie einen Satz von Aggregationen in einem bestimmten Aggregationsentwurf anzeigen oder jede Aggregation nach Wunsch ändern. Aggregationsentwürfe können auf jede Partition in der Measuregruppe angewendet werden.
Sie führen das Beispiel aus und stellen eine Verbindung mit der Abfrageprotokolltabelle her, um statistische Informationen zu MDX-Abfragen (Multidimensional Expressions) zu importieren, die MDX-Abfragen anzuzeigen und neue Aggregationen basierend auf dem angezeigten Satz hinzuzufügen.
Sprachen
C# (mithilfe des AMO-Objektmodells)
Features
Die im Folgenden aufgeführten neuen Features von SQL Server 2005 Analysis Services werden im Aggregation Manager-Beispiel verwendet.
Anwendungsbereich | Features |
---|---|
Vorhandene Aggregationen hinzufügen, löschen und ändern |
Verwendung von AggregationDesign- und Aggregation-Objekten in Analysis Management Objects (AMO) zum Verwalten von Aggregationen. |
XMLA-Skripts erstellen |
Verwenden Sie Scripter AMO-Objekte, um Analysis Services-Objekte zu serialisieren und XML für Analysis-Skripts (XMLA) zu erstellen. |
Verwenden von QueryLog als Quelle für die neuen Aggregationen |
Herstellen einer Verbindung mit der SQL Server-Datenbank und Darstellen eines Satzes von Aggregationen. Hinzufügen neuer Aggregationen basierend auf dem Abfrageprotokoll. |
Voraussetzungen
Vor der Ausführung dieses Beispiels müssen die folgenden Voraussetzungen erfüllt werden:
- Stellen Sie sicher, dass auf dem Computer des Entwicklers die folgende Software installiert ist:
- Visual Studio 2005 mit C#-Compiler oder .Net Framework 2.0 SDK
- SQL Server 2005 SP2-Beispiele sind installiert
- Stellen Sie sicher, dass die im Folgenden aufgeführten Dienste gestartet wurden und entweder auf dem lokalen Computer oder einem anderen Computer verfügbar sind, auf dem Sie administrative Aufgaben ausführen können:
- SQL Server Analysis Services
- SQL Server-Modul
- Stellen Sie sicher, dass Sie über eine Signaturdatei mit dem Namen AggManager.snk verfügen. Zum Erstellen einer Signaturdatei führen Sie die Schritte unter Strong Name Tool (Sn.exe) aus.
- Konfigurieren Sie Analysis Services zum Protokollieren von Abfragen. Weitere Informationen hierzu finden Sie unter Configuring the Analysis Services Query Log (in Englisch). Legen Sie den Wert QueryLogSampling auf 1 fest.
- Stellen Sie sicher, dass einige Abfragen für einen Cube ausgeführt werden, auf dem Sie Ihre Aggregationen entwerfen möchten. Wenn Sie über nicht über einen passenden Cube zum Ausführen von Abfragen verfügen, können Sie die Adventure Works DW-Datenbank bereitstellen und den Adventure Works-Cube als Testfall verwenden. Weitere Informationen hierzu finden Sie unter Running Setup to Install (in Englisch).
Erstellen des Beispiels
Option 1: So erstellen Sie das Beispiel mithilfe von Visual Studio
Suchen Sie den Ordner, in dem die Projektmappendatei AggManager.sln gespeichert ist.
Verschieben Sie die Signaturdatei AggManager.snk in den Projektmappenordner.
Öffnen Sie Visual Studio.
Klicken Sie unten auf der Registerkarte Zuletzt geöffnete Projekte, wo Öffnen angezeigt wird, auf Projekt.
Öffnen Sie den Ordner, in dem die Datei AggManager.sln gespeichert wurde, wählen Sie die Datei aus, und klicken Sie dann auf Öffnen.
Drücken Sie F6, um die Projektmappe zu erstellen.
Option 2: So erstellen Sie das Beispiel mithilfe von msbuild.exe von .Net Framework SDK
Suchen Sie den Ordner, in dem die Projektmappendatei AggManager.sln gespeichert ist.
Verschieben Sie die Signaturdatei AggManager.snk in den Projektmappenordner.
Öffnen Sie eine Eingabeaufforderung, und wechseln Sie in das Verzeichnis mit dem Speicherort, an dem die Projektmappendatei gespeichert ist. Konfigurieren Sie die Umgebung gemäß den Angaben unter How to: Compile at the Command Prompt (in Englisch).
Geben Sie msbuild.exe AggManager.sln ein, und drücken Sie die EINGABETASTE.
Ausführen des Beispiels
Bevor Sie das Beispiel ausführen, sollten Sie einige Abfrageprotokolle in einer SQL-Tabelle aufzeichnen (siehe Voraussetzungen 4 und 5).
Schritt 1: So stellen Sie eine Verbindung mit Analysis Services her
Starten Sie das Beispiel entweder, indem Sie F5 oder STRG+F5 in Visual Studio drücken, wobei AggManager.sln geöffnet ist, oder indem Sie in einem geöffneten Eingabeaufforderungsfenster, in dem die ausführbare Datei gespeichert ist, AggManager.exe eingeben und die EINGABETASTE drücken.
Wenn Sie eine Verbindung mit demselben Server herstellen, auf dem die ausführbare Datei ausgeführt wird und die von Ihnen verwendete Instanz die Standardinstanz ist, können Sie localhost unverändert lassen und auf die Schaltfläche Verbinden klicken. Wenn Sie eine Verbindung mit einem anderen Server oder einer benannten Instanz herstellen, müssen Sie localhost durch den richtigen Wert für Server Name oder <Server Name>\<Instance> ersetzen und dann auf die Schaltfläche Verbinden klicken.
Klicken Sie auf die Strukturansicht des Servers, und überprüfen Sie, ob Sie die Datenbanken, Cubes und anderen verfügbaren Objekte durchsuchen können.
Schritt 2: So stellen Sie eine Verbindung mit dem Abfrageprotokoll her
Stellen Sie eine Verbindung mit Analysis Services her, falls dies noch nicht geschehen ist (siehe Schritt 1).
Erweitern Sie das Serverobjekt, indem Sie auf das + neben dem Servernamen klicken, und erweitern Sie dann das Ordnerobjekt Datenbanken.
Erweitern Sie das Datenbankobjekt, das die Cubes enthält, auf denen die protokollierten Abfragen ausgeführt wurden, und erweitern Sie dann das Ordnerobjekt Cubes.
Erweitern Sie das Cubeobjekt, auf dem die Abfragen ausgeführt wurden und protokolliert sind, und erweitern Sie dann das Ordnerobjekt Measure Groups.
Erweitern Sie ein Measuregruppenobjekt, in dem Aggregationen analysiert und entworfen werden sollen.
Klicken Sie mit der rechten Maustaste auf das Objekt für den Ordner No Aggregation Design, und wählen Sie Add from query log aus. Ein neues Fenster wird geöffnet.
Lesen Sie die grau angezeigte Verbindungszeichenfolge im Textfeld SQL-Server-Verbindung.
Schritt 3: Erstellen neuer Aggregationsentwürfe, Löschen von Aggregationsentwürfen und Zuordnen von Aggregationsentwürfen zu Partitionen
Zum Erstellen neuer Aggregationsentwürfe muss eine Verbindung mit der Abfrageprotokoll-Datenbank vorhanden sein (siehe vorheriger Schritt).
Weisen Sie im Fenster Add Aggregations from Query Log den Optionen Aggregation Design Name und Aggregation Prefix einen Namen zu. Aggregation Design Name ist der Basisname dieses aktuellen Satzes von Aggregationsentwürfen. Aggregation Prefix ist der spezifische Name des neuen Aggregationsentwurfs, der erstellt wird.
Klicken Sie auf Execute SQL, wenn im Datenraster keine Datensätze enthalten sind.
Klicken Sie auf OK, um den neuen Aggregationsentwurf zu erstellen und zum Fenster Aggregation Manager zurückzukehren. Wenn Sie auf Beenden klicken, wird die aktuelle Aktion beendet, das Fenster geschlossen, und Sie kehren zum Fenster Aggregation Manager zurück.
Der neue erstellte Aggregationsentwurf wird jetzt als Teil des erweiterten Knotens angezeigt.
Klicken Sie zum Löschen eines Aggregationsentwurfs mit der rechten Maustaste auf den Aggregationsentwurf, und wählen Sie im Kontextmenü die Option Löschen aus.
Klicken Sie mit der rechten Maustaste auf den vorgesehenen Entwurfsknoten, und wählen Sie Change Partitions aus, um eine Partition einem Aggregationsentwurf zuzuordnen.
Wählen Sie in den Partitionsfenstern die gewünschten Partitionen aus, die dem vorgesehenen Entwurf zugeordnet werden sollen, und klicken Sie dann auf OK.
Erweitern Sie den Knoten. Die Partitionen sollten nun unter dem Entwurf angezeigt werden.
Schritt 4: Bearbeiten von Aggregationsentwürfen, Anzeigen von Aggregationsdefinitionen
Wählen Sie den zu bearbeitenden Aggregationsentwurf aus. Wenn im rechten Bereich Aggregation count ohne Wert angezeigt wird, wurden für den Entwurf keine Aggregationen entworfen. Führen Sie die im Folgenden aufgeführten Schritte aus, um einen neuen Aggregationsentwurf zu starten. Wenn bereits Aggregationen entworfen wurden, können Sie zu Nummer 8 übergehen und die Bearbeitung von dort aus fortsetzen.
Klicken Sie mit der rechten Maustaste auf den Aggregationsentwurf, und wählen Sie im Kontextmenü die Option Add from query log aus.
Überprüfen Sie die Verbindungszeichenfolge, und passen Sie sie entsprechend an.
Fügen Sie diesem Entwurf einen Namen und ein Präfix hinzu.
Klicken Sie auf die Schaltfläche SQL ausführen.
Kopieren Sie den Datensatz nur dann in die Zwischenablage, wenn von der Abfrage nur ein Datensatz mit Nullen und Kommas zurückgegeben wurde.
Klicken Sie auf die Schaltfläche OK. Ein Meldungsfeld mit dem Text Aggregation Design '<Your Aggregation Design Name here**>' updated with** naggregations wird angezeigt.
Wählen Sie den zu bearbeitenden Aggregationsentwurf aus, klicken Sie mit der rechten Maustaste darauf, und wählen Sie im Kontextmenü die Option Bearbeiten aus.
Wenn ein leeres Datenraster angezeigt wird, benötigen Sie die in der Zwischenablage von Nummer 2 bis 7 gespeicherte Zeichenfolge. Klicken Sie auf die Zeile unter der Spalte Name, und geben Sie den Namen für diesen Entwurf ein. Klicken Sie auf die Zeile unter Aggregation Definition, und fügen Sie die Zeile mit Nullen und Kommas aus der Zwischenablage ein. Klicken Sie unter Typ, und geben Sie Flexible ein. Drücken Sie die TAB-Taste, um in eine neue Zeile zu wechseln. Sie haben jetzt einen leeren Entwurf erstellt.
Wählen Sie eine Zeile aus dem Datenraster aus. Mit dem kleinen Symbol links neben der Zeile wird die ausgewählte Zeile angezeigt. Wenn eine Gruppe von Zeilen ausgewählt wird, wird nur die Zeile mit dem Symbol aktualisiert.
Im rechten Bereich wird die Auflistung aller Dimensionen angezeigt, die für die aktuelle Measuregruppe als ein Satz von Strukturen definiert sind. Jeder oberste Knoten stellt eine Dimension dar. Die Aktivierung oder Deaktivierung des Dimensionsknotens hat keine Auswirkungen auf den Aggregationsentwurf. Stellen Sie sicher, dass die Option zum anzeigen von Attributbeziehungen aktiviert ist; sie befindet sich direkt unterhalb der Titelleiste des Fensters. Die Baumstruktur stellt die Attributbeziehung dar, beginnend mit dem Schlüsselattribut als erste Knotenebene. Die nächsten Ebenen der Attribute werden von den Attributen gebildet, die direkt vom Schlüssel abhängig sind oder direkt mit dem Schlüssel verknüpft sind. Die nächste Ebene enthält Attribute, die direkt mit dem übergeordneten Attribut über eine Attributbeziehungsdefinition verknüpft sind. Ähnliches gilt für die nachfolgenden Ebenen. Die Zeichenfolge von Nullen, Einsen und Kommas ist eine Zuordnungsdarstellung der Dimensionsbaumstruktur. Die Dimensionen werden durch das Kommazeichen getrennt. Nullen und Einsen stellen jeweils ein Dimensionsattribut dar. In der Zeichenfolge von links nach rechts werden die Knoten von oben nach unten zugeordnet. Jeder ausgewählte Dimensionsattributknoten wird in der Zeichenfolge als 1 angezeigt, die nicht ausgewählten Dimensionsattributknoten werden in der Zeichenfolge als 0 angezeigt. Die niedrigen Granularitätsebenen sind der Spitze der Struktur am nächsten.
Zum Ändern eines Entwurfs müssen Sie für eine angegebene Zeile die Knoten im rechten Fenster aktivieren oder deaktivieren. Die Änderungen werden in der Zeichenfolge wiedergegeben. In der Baumstruktur wird auch die Verwendung der Zeichenfolge wiedergegeben.
Hinweis: Durch das Kürzen der Zeichenfolgenlänge stürzt die Anwendung ab. Nachdem Sie Ihre Bearbeitungen abgeschlossen haben, können Sie auf OK klicken, um Ihre Arbeit zu speichern.
Ihre Arbeit ist zwar im Arbeitsspeicher gespeichert, sie wurde jedoch noch nicht auf den Server angewendet. Sie können durch das an den Namen der Measuregruppe angefügte Suffix ** modified** unterscheiden, welche Entwürfe auf die Server angewendet werden sollen.
Klicken Sie zum Ändern der von Ihnen vorgenommenen Änderungen mit der rechten Maustaste auf die Measuregruppe, und wählen Sie Save to server aus.
Schritt 5: Entfernen redundanter Attribute aus den Aggregationen im Aggregationsentwurf
Öffnen Sie das Fenster Edit Aggregations Aggregation Design, indem Sie mit der rechten Maustaste auf den Entwurfsknoten klicken und Bearbeiten auswählen.
Klicken Sie auf die Schaltfläche Eliminate Redundancy, um redundante Attribute aus einem Aggregationsentwurf zu entfernen. Auf diese Weise werden alle im aktuellen Entwurf redundanten Attribute entfernt, und der Entwurf verfügt anschließend zwar über weniger Attribute, die jedoch am wichtigsten sind.
Schritt 6: Entfernen doppelter Aggregate
Öffnen Sie das Fenster Edit Aggregations Aggregation Design, indem Sie mit der rechten Maustaste auf den Entwurfsknoten klicken und Bearbeiten auswählen.
Klicken Sie auf die Schaltfläche Eliminate Duplicates, um doppelte Entwürfe aus einem Aggregationsentwurf zu entfernen. Dadurch werden alle doppelten Zeilen aus dem aktuellen Entwurf entfernt, und der Entwurf verfügt anschließend zwar über weniger Zeilen, die jedoch am wichtigsten sind.
Entfernen des Beispiels
So entfernen Sie das Aggregation Manager-Beispiel
- Löschen Sie den Ordner mit der Projektmappe sowie alle nachfolgenden Ordner.