デバッグ系のストアド プロシージャ (Analysis Services)
Analysis Services のストアド プロシージャは、実際には C# (あるいは他の CLR または COM 言語) で作成されている CLR または COM ライブラリ (通常は DLL) です。このため、ストアド プロシージャのデバッグは、Visual Studio デバッグ環境で他のアプリケーションをデバッグする作業とほとんど同じになります。Visual Studio 開発環境でのストアド プロシージャのデバッグは、統合されたデバッグ機能を使用します。これらの機能を使用すると、プロシージャ内のさまざまな場所で停止し、メモリやレジスタの値を調査し、変数を変更し、メッセージ トラフィックを観察し、コードの動作を詳細にわたって確認することができます。
ストアド プロシージャをデバッグするには
DLL の作成に使用したプロジェクトを Visual Studio で開きます。
デバッグするプロシージャに対応するメソッドまたは関数内にブレークポイントを作成します。
Visual Studio を使用して、ストアド プロシージャ DLL のデバッグ ビルドを作成します。
DLL をサーバーに配置します。DLL をサーバーに配置する方法の詳細については、「ストアド プロシージャの作成 (Analysis Services)」を参照してください。
テストするストアド プロシージャを呼び出すアプリケーションが必要です。このようなアプリケーションを用意していない場合は、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 サブディレクトリに含まれます。
参照
概念
アセンブリ (Analysis Services)
ストアド プロシージャを使用した作業 (Analysis Services)