デバッグ系のストアド プロシージャ
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) にアタッチします。
[ デバッグ ] メニューの [ Attatch toProcess] を選択します。
[ Attatch toProcess ] ダイアログ ボックスで、[ すべてのユーザーからのプロセスの表示] を選択します。
[ 使用可能なプロセス] ボックスの一覧の [ プロセス ] 列で、[ Msmdsrv.exe] をクリックします。 サーバー上で実行されている Analysis Services のインスタンスが複数ある場合は、使用するインスタンスの ID でプロセスを識別する必要があります。
[ アタッチする ] テキスト ボックスで、適切なプログラムの種類が選択されていることを確認します。 CLR DLL の場合は、[ 選択] をクリックし、[ これらのコードの種類をデバッグする] をクリックし、[ マネージド] をクリックし、[OK] をクリック します。 COM DLL の場合は、[ 選択] をクリックし、[ これらのコードの種類をデバッグする] をクリックし、[ ネイティブ] をクリックし、[OK] をクリック します。
[アタッチ] をクリックします。
Analysis Services で、ストアド プロシージャを呼び出すプログラムまたは MDX スクリプトを呼び出します。 デバッガーは、ブレークポイントを含む行に達すると停止します。 ウォッチ ウィンドウで変数を評価し、ロケールを表示し、コードをステップ実行できます。
ライブラリを正しくデバッグできない場合は、対応するプログラム データベース (PDB) ファイルがサーバーの配置場所にコピーされていることを確認してください。 このファイルが登録または配置中にコピーされなかった場合には、DLL と同じ場所に手動でコピーする必要があります。 ネイティブ コード (COM DLL) の場合、PDB ファイルは \debug サブディレクトリに含まれます。 マネージド コード (CLR DLL) の場合、このファイルは \WINDEBUG サブディレクトリに含まれます。