デバッグ系のストアド プロシージャ
Analysis Services のストアド プロシージャは、実際には C# (あるいは他の CLR または COM 言語) で作成されている CLR または COM ライブラリ (通常は DLL) です。 このため、ストアド プロシージャのデバッグは、Visual Studio デバッグ環境で他のアプリケーションをデバッグする作業とほとんど同じになります。 Visual Studio 開発環境でのストアド プロシージャのデバッグは、統合されたデバッグ機能を使用します。 これらの機能を使用すると、プロシージャ内のさまざまな場所で停止し、メモリやレジスタの値を調査し、変数を変更し、メッセージ トラフィックを観察し、コードの動作を詳細にわたって確認することができます。
ストアド プロシージャをデバッグするには
DLL の作成に使用したプロジェクトを Visual Studio で開きます。
デバッグするプロシージャに対応するメソッドまたは関数内にブレークポイントを作成します。
Visual Studio を使用して、ストアド プロシージャ DLL のデバッグ ビルドを作成します。
DLL をサーバーに配置します。 DLL をサーバーに配置する方法の詳細については、「ストアド プロシージャの作成」を参照してください。
テストするストアド プロシージャを呼び出すアプリケーションが必要です。 このようなアプリケーションを用意していない場合は、SQL Server Management Studio の MDX クエリ エディターを使用して、テストするストアド プロシージャを呼び出す MDX クエリを作成できます。
Visual Studio で、Analysis Services プロセス (Msmdsrv.exe) にアタッチします。
[デバッグ] メニューの [プロセスにアタッチ] を選択します。
[プロセスにアタッチ] ダイアログ ボックスで、[すべてのユーザーからのプロセスを表示する] をオンにします。
[選択可能なプロセス] 一覧の [プロセス] 列で、Msmdsrv.exe をクリックします。 サーバーで Analysis Services のインスタンスが複数実行されている場合は、使用するインスタンスの ID を使用してプロセスを識別する必要があります。
[アタッチ先] テキスト ボックスで、適切なプログラムの種類が選択されていることを確認します。 CLR DLL の場合は、[選択]、[次のコードの種類をデバッグする]、[マネージ]、および [OK] の順にクリックします。 COM DLL の場合は、[選択]、[次のコードの種類をデバッグする]、[ネイティブ]、および [OK] の順にクリックします。
[アタッチ] をクリックします。
Analysis Services で、ストアド プロシージャを呼び出すプログラムまたは MDX スクリプトを起動します。 デバッガーは、ブレークポイントを含む行に達すると停止します。 ウォッチ ウィンドウで変数を評価し、ロケールを表示し、コードをステップ実行できます。
ライブラリを正しくデバッグできない場合は、対応するプログラム データベース (PDB) ファイルがサーバーの配置場所にコピーされていることを確認してください。 このファイルが登録または配置中にコピーされなかった場合には、DLL と同じ場所に手動でコピーする必要があります。 ネイティブ コード (COM DLL) の場合、PDB ファイルは \debug サブディレクトリに含まれます。 マネージ コード (CLR DLL) の場合、このファイルは \WINDEBUG サブディレクトリに含まれます。