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

適用対象: SQL Server Analysis Services Azure Analysis Services Power BI Premium

Analysis Servicesストアド プロシージャは、C# (または他の CLR または COM 言語) で記述された CLR または COM ライブラリ (通常は DLL) です。 このため、ストアド プロシージャのデバッグは、Visual Studio デバッグ環境で他のアプリケーションをデバッグする作業とほとんど同じになります。 Visual Studio 開発環境でのストアド プロシージャのデバッグは、統合されたデバッグ機能を使用します。 これらの機能を使用すると、プロシージャ内のさまざまな場所で停止し、メモリやレジスタの値を調査し、変数を変更し、メッセージ トラフィックを観察し、コードの動作を詳細にわたって確認することができます。

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

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

  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 サブディレクトリに含まれます。

参照

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