ストアド プロシージャのデザイン
管理オブジェクト モデル Analysis Management Objects (AMO) とクライアント指向オブジェクト モデル Microsoft ActiveX® Data Objects (多次元) (ADO MD) の両方をストアド プロシージャで使用できます。
ストアド プロシージャを呼び出すには、多次元式 (MDX) レベルで表示できるスコープ内 (サーバーまたはデータベース) に存在する必要があります。 ただし、ストアド プロシージャを呼び出した後、そのスコープがその親のアクションに制限されることはありません。 ストアド プロシージャは、サーバー上のどこでも変更を行うことができ、そのストアド プロシージャを呼び出すユーザー プロセスのセキュリティ制限と、そのストアド プロシージャが実行されるトランザクションの制限のみを受けます。
サーバー スコープ プロシージャは、サーバー上のすべてのコンテキストで使用できます。 データベース スコープ ストアド プロシージャは、そのプロシージャが定義されているデータベースのデータベース コンテキストのみで表示されます。
他のすべての MDX 関数と同様に、ストアド プロシージャは MDX セッションを続行する前に解決する必要があります。ストアド プロシージャでは、実行中に MDX セッションがロックされるためです。 ユーザーの操作があるまで MDX セッションを一時停止しておく特別な理由がある場合を除き、ユーザーの操作 (ダイアログ ボックスなど) は推奨されません。
依存アセンブリ
共通言語ランタイム (CLR) によって検出されるように、すべての依存アセンブリを Analysis Services のインスタンスに読み込む必要があります。 Analysis Services では、依存アセンブリがメイン アセンブリと同じフォルダーに格納されるため、CLR は、これらのアセンブリ内の関数への関数参照をすべて自動的に解決します。