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.
Hauptobjekte können unabhängig erstellt, geändert und gelöscht werden. Zu den hauptobjekten gehören die folgenden Objekte:
Server
Datenbanken
Maße
Würfel
Maßgruppen
Partitionen
Perspektiven
Miningmodelle
Rollen
Befehle, die einem Server oder einer Datenbank zugeordnet sind
Datenquellen
Sie verwenden den Befehl "Erstellen ", um ein Hauptobjekt für eine Instanz von Microsoft SQL Server SQL Server SQL Server Analysis Services und den Befehl "Alter " zu erstellen, um ein vorhandenes Hauptobjekt in einer Instanz zu ändern. Beide Befehle werden mit der Execute-Methode ausgeführt.
Erstellen von Objekten
Wenn Sie Objekte mithilfe der Create-Methode erstellen, müssen Sie zuerst das übergeordnete Objekt identifizieren, das das zu erstellende SQL Server Analysis Services-Objekt enthält. Sie identifizieren das übergeordnete Objekt, indem Sie einen Objektverweis in der ParentObject-Eigenschaft des Befehls Erstellen angeben. Jeder Objektverweis enthält die Objektbezeichner, die zum eindeutigen Identifizieren des übergeordneten Objekts für den Befehl "Erstellen" erforderlich sind. Weitere Informationen zu Objektverweise finden Sie unter Definieren und Identifizieren von Objekten (XMLA).
Zum Beispiel müssen Sie einen Objektverweis auf einen Würfel angeben, um eine neue Maßgruppierung für den Würfel zu erstellen. Der Objektverweis für den Cube in der ParentObject-Eigenschaft enthält sowohl einen Datenbankbezeichner als auch einen Cubebezeichner, da derselbe Cubebezeichner möglicherweise in einer anderen Datenbank verwendet werden kann.
Das ObjectDefinition-Element enthält Analysis Services Scripting Language (ASSL)-Elemente, die das zu erstellende Hauptobjekt definieren. Weitere Informationen zu ASSL finden Sie unter Developing with Analysis Services Scripting Language (ASSL).
Wenn Sie das AllowOverwrite-Attribut des Befehls "Create " auf "true" festlegen, können Sie ein vorhandenes Hauptobjekt mit dem angegebenen Bezeichner überschreiben. Andernfalls tritt ein Fehler auf, wenn ein Hauptobjekt mit dem angegebenen Bezeichner bereits im übergeordneten Objekt vorhanden ist.
Weitere Informationen zum Befehl "Erstellen" finden Sie unter Create Element (XMLA).
Erstellen von Sitzungsobjekten
Sitzungsobjekte sind temporäre Objekte, die nur für die explizite oder implizite Sitzung verfügbar sind, die von einer Clientanwendung verwendet wird und beim Beenden der Sitzung gelöscht werden. Sie können Sitzungsobjekte erstellen, indem Sie das Scope-Attribut des Befehls "Erstellen " auf "Session" festlegen.
Hinweis
Bei Verwendung der Sitzungseinstellung kann das ObjectDefinition-Element nur Dimensions-, Cube- oder MiningModel-ASSL-Elemente enthalten.
Ändern von Objekten
Beim Ändern von Objekten mithilfe der Alter-Methode müssen Sie zunächst das zu ändernde Objekt identifizieren, indem Sie einen Objektverweis in der Objekteigenschaft des Befehls "Alter " angeben. Jeder Objektverweis enthält die Objektbezeichner, die zum eindeutigen Identifizieren des Objekts für den Befehl "Alter" erforderlich sind. Weitere Informationen zu Objektverweise finden Sie unter Definieren und Identifizieren von Objekten (XMLA).
Sie müssen z. B. einen Objektverweis auf einen Cube angeben, um die Struktur eines Cubes zu ändern. Der Objektverweis für den Cube in der Object-Eigenschaft enthält sowohl einen Datenbankbezeichner als auch einen Cubebezeichner, da derselbe Cubebezeichner möglicherweise in einer anderen Datenbank verwendet werden kann.
Das ObjectDefinition-Element enthält ASSL-Elemente, die das zu ändernde Hauptobjekt definieren. Weitere Informationen zu ASSL finden Sie unter Developing with Analysis Services Scripting Language (ASSL).
Wenn Sie das AllowCreate-Attribut des Befehls "Alter " auf "true" festlegen, können Sie das angegebene Hauptobjekt erstellen, wenn das Objekt nicht vorhanden ist. Andernfalls tritt ein Fehler auf, wenn ein angegebenes Hauptobjekt noch nicht vorhanden ist.
Verwenden des ObjectExpansion-Attributs
Wenn Sie nur die Eigenschaften des Hauptobjekts ändern und keine Nebenobjekte neu definieren, die im Hauptobjekt enthalten sind, können Sie das ObjectExpansion-Attribut des Befehls Alter auf ObjectProperties festlegen. Die ObjectDefinition-Eigenschaft muss dann nur die Elemente für die Eigenschaften des Hauptobjekts enthalten, und der Befehl Alter lässt kleinere Objekte, die dem Hauptobjekt zugeordnet sind, unberührt.
Um kleinere Objekte für ein Hauptobjekt neu zu definieren, müssen Sie das ObjectExpansion-Attribut auf "ExpandFull" festlegen, und die Objektdefinition muss alle Nebenobjekte enthalten, die im Hauptobjekt enthalten sind. Wenn die ObjectDefinition-Eigenschaft des Befehls "Alter " kein Nebenobjekt enthält, das im Hauptobjekt enthalten ist, wird das nicht enthaltene Nebenobjekt gelöscht.
Ändern von Sitzungsobjekten
Um Sitzungsobjekte zu ändern, die vom Befehl "Erstellen " erstellt wurden, legen Sie das Scope-Attribut des Befehls "Alter" auf "Session" fest.
Hinweis
Bei Verwendung der Sitzungseinstellung kann das ObjectDefinition-Element nur Dimensions-, Cube- oder MiningModel-ASSL-Elemente enthalten.
Erstellen oder Ändern untergeordneter Objekte
Obwohl ein Befehl "Erstellen " oder "Alter " nur ein Hauptobjekt erstellt oder ändert, kann das erstellte oder geänderte Hauptobjekt Definitionen innerhalb der eingeschlossenen ObjectDefinition-Eigenschaft für andere Haupt- und Nebenobjekte enthalten, die ihm untergeordnet sind. Wenn Sie z. B. einen Cube definieren, geben Sie die übergeordnete Datenbank in ParentObject an, und innerhalb der Cubedefinition in ObjectDefinition können Sie Measuregruppen für den Cube und innerhalb der Measuregruppen Partitionen für jede Measuregruppe definieren. Ein Nebenobjekt kann nur unter dem Hauptobjekt definiert werden, das es enthält. Weitere Informationen zu haupt- und Nebenobjekten finden Sie unter Database Objects (Analysis Services – Multidimensional Data).For more information about major and minor objects, see Database Objects (Analysis Services - Multidimensional Data).
Examples
Description
Im folgenden Beispiel wird eine relationale Datenquelle erstellt, die auf die Microsoft SQL Server-Beispieldatenbank "Adventure Works DW Multidimensional 2012" verweist.
Code
<Create xmlns="http://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>
Description
Im folgenden Beispiel wird die im vorherigen Beispiel erstellte relationale Datenquelle so geändert, dass das Abfragetimeout für die Datenquelle auf 30 Sekunden festgelegt wird.
Code
<Alter ObjectExpansion="ObjectProperties" xmlns="http://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>
Kommentare
Das ObjectExpansion-Attribut des Befehls "Alter " wurde auf "ObjectProperties" festgelegt. Mit dieser Einstellung kann das ImpersonationInfo-Element , ein Nebenobjekt, von der in ObjectDefinition definierten Datenquelle ausgeschlossen werden. Daher werden die Impersonierungsinformationen für diese Datenquelle weiterhin auf das Dienstkonto belassen, wie im ersten Beispiel angegeben.
Siehe auch
Execute-Methode (XMLA)
Entwickeln mit Analysis Services Scripting Language (ASSL)
Entwickeln mit XMLA in Analysis Services