Analysis Services ストアド プロシージャは、実際には C# (またはその他の CLR または COM 言語) で記述された CLR または COM ライブラリ (通常は DLL) です。 そのため、ストアド プロシージャのデバッグは、Visual Studio デバッグ環境で他のアプリケーションをデバッグする場合とよく似ています。 統合デバッグ関数を使用して、Visual Studio 開発環境でストアド プロシージャをデバッグします。 これにより、プロシージャの場所での停止、メモリの検査と値の登録、変数の変更、メッセージ トラフィックの監視、コードの動作の詳細を確認できます。
ストアド プロシージャをデバッグするには
Visual Studio で DLL の作成に使用するプロジェクトを開きます。
デバッグするプロシージャに対応するメソッドまたは関数にブレークポイントを作成します。
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 サブディレクトリに存在します。