Freigeben über


Entwerfen von gespeicherten Prozeduren

In gespeicherten Prozeduren ist sowohl das administrative Objektmodell Analysis Management Objects (AMO) als auch das clientorientierte Objektmodell Microsoft ActiveX® Data Objects (Multidimensional) (ADO MD) verfügbar.

Gespeicherte Prozeduren müssen sich in ihrem Gültigkeitsbereich (entweder der Server oder die Datenbank) befinden, um auf der aufzurufenden MDX-Ebene (Multidimensional Expressions) sichtbar zu sein. Nachdem eine gespeicherte Prozedur aufgerufen wurde, ist ihr Gültigkeitsbereich jedoch nicht auf Aktionen unter dem übergeordneten Element begrenzt. Eine gespeicherte Prozedur kann überall auf dem Server Änderungen vornehmen. Dabei müssen lediglich die Sicherheitseinschränkungen des Benutzerprozesses, der sie aufruft, oder die Einschränkungen der Transaktion beachtet werden, in der sie ausgeführt wird.

Serverbereichsprozeduren sind in allen Kontexten auf dem Server verfügbar. Gespeicherte Datenbankbereichsprozeduren sind nur im Datenbankkontext der Datenbank sichtbar, in der sie definiert sind.

Wie jede andere MDX-Funktion muss eine gespeicherte Prozedur aufgelöst werden, bevor eine MDX-Sitzung fortgesetzt werden kann. Während ihrer Ausführung sperren gespeicherte Prozeduren MDX-Sitzungen. Sofern nicht spezielle Gründe für das Anhalten einer MDX-Sitzung bei wartenden Benutzerinteraktionen vorliegen, wird von Benutzerinteraktionen (z. B. Dialogfeldern) abgeraten.

Abhängige Assemblys

Alle abhängigen Assemblys müssen in eine Instanz von Analysis Services geladen werden, damit sie von Common Language Runtime (CLR) gefunden werden können. In Analysis Services werden die abhängigen Assemblys in demselben Ordner gespeichert wie die Hauptassembly, sodass CLR alle Funktionsverweise auf Funktionen in diesen Assemblys automatisch auflösen kann.