次の方法で共有


ストアド プロシージャのデバッグ

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

ストアド プロシージャをデバッグするには

  1. Visual Studio で DLL の作成に使用するプロジェクトを開きます。

  2. デバッグするプロシージャに対応するメソッドまたは関数にブレークポイントを作成します。

  3. Visual Studio を使用して、ストアド プロシージャ DLL のデバッグ ビルドを作成します。

  4. DLL をサーバーにデプロイします。 DLL をサーバーに配置する方法の詳細については、「 ストアド プロシージャの作成」を参照してください。

  5. テストするストアド プロシージャを呼び出すアプリケーションが必要です。 準備ができていない場合は、SQL Server Management Studio の MDX クエリ エディターを使用して、テストするストアド プロシージャを呼び出す MDX クエリを作成できます。

  6. Visual Studio で、Analysis Services プロセス (Msmdsrv.exe) にアタッチします。

    1. [デバッグ] メニューの [Attatch toProcess] を選択します。

    2. [Attatch toProcess] ダイアログ ボックスで、[すべてのユーザーのプロセスを表示] を選択します。

    3. [使用可能なプロセス] の一覧の [プロセス] 列で、[Msmdsrv.exe] をクリックします。 サーバー上で複数の Analysis Services インスタンスが実行されている場合は、使用するインスタンスの ID でプロセスを識別する必要があります。

    4. [ 添付する ] テキスト ボックスで、適切なプログラムの種類が選択されていることを確認します。 CLR DLL の場合は、[ 選択] をクリックし、[ これらのコードの種類をデバッグする] をクリックし、[ マネージド] をクリックし、[ OK] をクリックします。 COM DLL の場合は、[ 選択] をクリックし、[ これらのコードの種類をデバッグする] をクリックし、[ ネイティブ] をクリックし、[ OK] をクリックします。

    5. をアタッチし、をクリックしてください。

  7. Analysis Services で、ストアド プロシージャを呼び出すプログラムまたは MDX スクリプトを呼び出します。 ブレークポイントを含む行に到達すると、デバッガーが中断します。 ウォッチ ウィンドウで変数を評価したり、ローカルを表示したり、コードをステップ実行したりできます。

ライブラリのデバッグで問題が発生した場合は、対応するプログラム データベース (PDB) ファイルがサーバー上の配置場所にコピーされていることを確認してください。 登録またはデプロイ中にこのファイルがコピーされなかった場合は、DLL と同じ場所に手動でコピーする必要があります。 ネイティブ コード (COM DLL) の場合、PDB ファイルは \debug サブディレクトリにあります。 マネージド コード (CLR DLL) の場合は、\WINDEBUG サブディレクトリに存在します。

こちらもご覧ください

多次元モデル アセンブリの管理
ストアド プロシージャの定義