Freigeben über


AMO-Konzepte und -Objektmodell

Dieses Thema bietet eine Definition für Analysis Management Objects (AMO), eine Beschreibung der Beziehung zwischen AMO und anderen Tools und Bibliotheken in der Architektur von Microsoft SQL Server Analysis Services und eine Begriffserklärung aller wichtigen Objekte in AMO.

AMO ist eine vollständige Auflistung von Verwaltungsklassen für Analysis Services, die programmatisch unter dem Namespace von Microsoft.AnalysisServices in einer verwalteten Umgebung verwendet werden können. Die Klassen sind in der Datei AnalysisServices.dll enthalten, die sich in der Regel im Ordner \100\SDK\Assemblies\ befindet, wo auch das SQL Server-Setup die Dateien installiert. Um die AMO-Klassen zu verwenden, schließen Sie einen Verweis auf diese Assembly in die Projekte ein.

Mit AMO können Sie Objekte wie Cubes, Dimensionen, Miningstrukturen und Analysis Services-Datenbanken erstellen, bearbeiten und löschen. Für alle diese Objekte können Aktionen über Ihre Anwendung in .NET Framework ausgeführt werden. Sie können auch die in Analysis Services-Datenbanken gespeicherten Informationen verarbeiten und aktualisieren.

Mit AMO können Sie die Daten nicht abfragen. Um die Daten abzufragen, verwenden Sie Entwickeln mit ADOMD.NET.

Dieses Thema enthält folgende Abschnitte:

AMO in der Architektur von Analysis Services

AMO-Architektur

Verwenden von AMO

Automatisieren von administrativen Tasks mit AMO

AMO in der Architektur von Analysis Services

Programmbedingt ist AMO nur für die Objektverwaltung bestimmt und nicht zum Abfragen von Daten. Wenn ein Benutzer Analysis Services-Daten von einer Clientanwendung abfragen möchte, sollte die Clientanwendung Entwickeln mit ADOMD.NET verwenden.

AMO-Architektur

AMO ist eine vollständige Bibliothek mit Klassen, die für die Verwaltung einer Instanz von Analysis Services über eine Clientanwendung in verwaltetem Code in .NET Framework Version 2.0 entwickelt wurde.

Die AMO-Bibliothek der Klassen wurde als Hierarchie von Klassen entwickelt, wobei bestimmte Klassen vor anderen instanziiert werden müssen, damit Sie sie in Ihrem Code verwenden können. Es gibt auch Erweiterungsklassen, die jederzeit in Ihrem Code instanziiert werden können. Bevor Sie eine Erweiterungsklasse verwenden, werden Sie jedoch wahrscheinlich mindestens eine Hierarchieklasse instanziieren.

Die folgende Abbildung ist eine Ansicht der AMO-Hierarchie auf hoher Ebene, die die Hauptklassen enthält. Die Abbildung zeigt die Platzierung der Klassen unter ihren Containern und ihren Peers an. Eine Dimension gehört zu einer Database und einem Server und kann zum selben Zeitpunkt erstellt werden wie eine DataSource und eine MiningStructure. Bestimmte Peerklassen müssen instanziiert werden, bevor Sie andere verwenden können. Beispielsweise müssen Sie eine Instanz von DataSource erstellen, bevor Sie eine neue Dimension oder MiningStructure hinzufügen können.

Anzeige von AMO-Klassen auf oberster Ebene

Ein Hauptobjekt ist eine Klasse, die ein vollständiges Objekt als gesamte Entität und nicht als Teil eines anderen Objekts darstellt. Hauptobjekte schließen Server, Cube, Dimension und MiningStructure ein, da es sich hierbei um eigenständige Entitäten handelt. Jedoch ist ein Level kein Hauptobjekt, da es ein Bestandteil einer Dimension ist. Hauptobjekte können von anderen Objekten unabhängig erstellt, gelöscht, modifiziert oder verarbeitet werden. Nebenobjekte sind Objekte, die nur im Rahmen der Erstellung des übergeordneten Hauptobjekts erstellt werden können. Nebenobjekte werden in der Regel im Anschluss an eine Hauptobjekterstellung erstellt. Die Werte für Nebenobjekte sollten zum Zeitpunkt der Erstellung definiert werden, da es keinen standardmäßigen Erstellungsprozess für Nebenobjekte gibt.

Die folgende Abbildung zeigt die Hauptobjekte an, die ein Server-Objekt enthält.

Hervorgehobene AMO-HauptobjekteHervorgehobene AMO-Hauptobjekte (2)

Beim Programmieren mit AMO werden für die Zuordnung zwischen Klassen und enthaltenen Klassen Auflistungstypattribute verwendet, etwa Server und Dimension. Zum Verwenden einer Instanz einer enthaltenen Klasse müssen Sie zunächst einen Verweis auf ein Auflistungsobjekt erhalten, das die enthaltene Klasse enthält oder enthalten kann. Anschließend müssen Sie das spezifische Objekt in der Auflistung suchen und dann einen Verweis auf das Objekt abrufen, damit Sie damit arbeiten können.

AMO-Klassen

AMO ist eine Bibliothek von Klassen, die dazu entworfen wurde, eine Instanz von Analysis Services über eine Clientanwendung zu verwalten. Die AMO-Bibliothek ist eine Gruppe logisch verbundener Objekte, die verwendet werden, um eine spezifische Aufgabe auszuführen. AMO-Klassen können auf folgende Weise kategorisiert werden:

Klassensatz

Zweck

Grundlegende AMO-Klassen

Klassen, die erforderlich sind, um einen beliebigen anderen Satz von Klassen verwenden zu können.

AMO-OLAP-Klassen

Klassen, mit denen Sie die OLAP-Objekte in Analysis Services verwalten können.

AMO-Klassen für Data Mining

Klassen, mit denen Sie die Data Mining-Objekte in Analysis Services verwalten können.

AMO-Sicherheitsklassen

Klassen, mit denen Sie den Zugriff auf andere Objekte steuern und die Sicherheit aufrechterhalten können.

Andere AMO-Klassen und Methoden

Klassen und Methoden, die OLAP- oder Data Mining-Administratoren helfen, ihre täglichen Aufgaben auszuführen.

Verwenden von AMO

AMO ist insbesondere für die Automatisierung wiederkehrender Tasks hilfreich, beispielsweise für das Erstellen neuer Partitionen in einer Measuregruppe basierend auf neuen Daten in der Faktentabelle oder für das erneute Trainieren eines Miningmodells basierend auf neuen Daten. Diese Tasks, die neue Objekte erstellen, werden in der Regel monatlich, wöchentlich oder vierteljährlich ausgeführt. Die neuen Objekte können problemlos, basierend auf den neuen Daten, von der Anwendung benannt werden.

Analysis Services-Administratoren

Analysis Services-Administratoren können AMO verwenden, um die Verarbeitung von Analysis Services-Datenbanken zu automatisieren. Zum Entwerfen und Bereitstellen von Analysis Services-Datenbanken sollten Sie SQL Server-Datentools (SSDT) verwenden.

Entwickler

Entwickler können AMO verwenden, um Administratorschnittstellen für angegebene Sätze von Benutzern zu entwickeln. Diese Schnittstellen können den Zugriff auf Analysis Services-Objekte einschränken und Benutzer auf bestimmte Tasks beschränken. Beispielsweise können Sie mit AMO eine Sicherungsanwendung erstellen, die es einem Benutzer ermöglicht, alle Datenbankobjekte anzuzeigen, eine beliebige Datenbank auszuwählen und sie auf einem der angegebenen Geräte zu sichern.

Entwickler können auch Analysis Services-Logik in ihre Anwendungen einbetten. Hierzu können die Entwickler basierend auf Benutzereingaben oder anderen Faktoren Cubes, Dimensionen, Miningstrukturen und Miningmodelle erstellen.

Fortgeschrittene OLAP-Benutzer

Bei fortgeschrittenen OLAP-Benutzern handelt es sich für gewöhnlich um Datenanalysten oder andere erfahrene Datenbenutzer, die über fundierte Programmierkenntnisse verfügen und ihre Datenanalyse durch eine verstärkte Verwendung von Datenobjekten verbessern möchten. Für Benutzer, die offline arbeiten müssen, kann AMO bei der Automatisierung des Erstellungsprozesses lokaler Cubes vor der Trennung vom Netzwerk sehr hilfreich sein.

Fortgeschrittene Data Mining-Benutzer

Für fortgeschrittene Data Mining-Benutzer ist AMO besonders hilfreich, wenn große Modellmengen in regelmäßigen Abständen neu trainiert werden müssen.

Automatisieren von administrativen Tasks mit AMO

Die meisten wiederkehrenden Tasks können am besten entwickelt, bereitgestellt und verwaltet werden, wenn sie mithilfe von Integration Services und nicht als Anwendung in einer Sprache Ihrer Wahl entwickelt werden. Jedoch können Sie AMO für wiederkehrende Tasks verwenden, die nicht mit Integration Services automatisiert werden können. AMO ist auch hilfreich, wenn Sie mithilfe von Analysis Services eine spezialisierte Anwendung für Business Intelligence entwickeln möchten.

Automatische Objektverwaltung

Mit AMO können ganz einfach Analysis Services-Objekte (beispielsweise Database, Dimension, Cube, Mining-MiningStructure und MiningModel oder Role) basierend auf Benutzereingaben oder neuen Daten erstellt, aktualisiert oder gelöscht werden. AMO eignet sich optimal für Setupanwendungen, die eine entwickelte Lösung eines unabhängigen Softwareanbieters für einen Endkunden bereitstellen müssen. Die Setupanwendung kann verifizieren, dass eine ältere Version vorhanden ist. Darüber hinaus kann sie die Struktur aktualisieren, nicht länger benötigte Objekt entfernen und neue Objekt erstellen. Wenn es keine frühere Version gibt, kann alles neu erstellt werden.

AMO kann bei der Erstellung neuer Partitionen basierend auf neuen Daten sehr hilfreich sein. Alte Partitionen, die über den Umfang des Projekts hinausgehen, können entfernt werden. Beispielsweise kann bei einer Lösung für Finanzanalysen, die mit den Daten der vergangenen 36 Monate arbeitet, der 37. Monat entfernt werden, sobald Daten für einen neuen Monat empfangen werden. Um die Leistung zu verbessern, können neue Aggregationen basierend auf der Verwendung erstellt und auf die letzten 12 Monate angewendet werden.

Automatische Objektverarbeitung

Objektverarbeitung und aktualisierte Verfügbarkeit können erreicht werden, indem AMO zum Antworten auf bestimmte Ereignisse außerhalb des gewöhnlichen Datenflusses und der geplanten Tasks genutzt wird, die von Integration Services verwendet werden.

Automatische Sicherheitsverwaltung

Die Sicherheitsverwaltung kann für das Einbeziehen neuer Benutzer für Rollen und Berechtigungen oder für das Entfernen anderer Benutzer nach Überschreitung des angegebenen Zeitraums automatisiert werden. Neue Schnittstellen können erstellt werden, um die Sicherheitsverwaltung für Sicherheitsadministratoren zu vereinfachen. Dieser Vorgang kann einfacher sein als die Verwendung von SQL Server-Datentools (SSDT).

Automatische Sicherungsverwaltung

Die automatische Sicherungsverwaltung kann mithilfe von Integration Services-Tasks oder durch das Erstellen spezialisierter AMO-Anwendungen, die automatisch ausgeführt werden, vorgenommen werden. Mit AMO können Sie Sicherungsschnittstellen für Operatoren entwickeln, die ihnen bei ihren täglichen Aufgaben helfen.

Tasks, für die AMO nicht bestimmt ist

AMO kann nicht verwendet werden, um die Daten abzufragen. Verwenden Sie zum Abfragen von Analysis Services-Daten, einschließlich Cubes und Miningmodellen, ADOMD.NET in einer Benutzeranwendung. Weitere Informationen finden Sie unter Entwickeln mit ADOMD.NET.