Share via


マネージ コードを使用するデータベース オブジェクトのデバッグ (SQL CLR デバッグ)

このトピックの内容は、次の製品に該当します。

エディション

Visual Basic

C#

C++

Web Developer

Express

トピック該当なし トピック該当なし トピック該当なし トピック該当なし

[標準]

トピック該当なし トピック該当なし トピック該当なし トピック該当なし

Pro/Team

トピック該当 トピック該当 トピック該当 トピック該当

表の凡例 :

トピック該当

対象

トピック該当なし

該当なし

トピックは該当しますが、コマンドは既定では非表示です

既定で非表示のコマンド

ここでは、SQL Server 共通言語ランタイム (SQL CLR) データベース オブジェクト型のすべてのサンプルを紹介します。

重要なシナリオが 3 つあります。

トリガーをデバッグするには、ストアド プロシージャでデバッグ セッションを開始する必要があります。 ただし、スタンドアロンの Transact-SQL スクリプトをデバッグすることはできません。また、スクリプトを呼び出して発生させたトリガーをデバッグすることもできません。

データベース層ソフトウェアの要件

SQL CLR デバッグには、サーバーに次のソフトウェアを追加する必要があります。

  • リモート デバッグ モニター (msvsmon)。これは、デバッグ時に実行されている必要があります。 SQL Server 2005 を実行している場合、msvsmon をインストールするためのセットアップ プログラムは、<SQL Server のインストール ディレクトリ>\90\Shared\rdbgsetup.exe に既に存在しています。 このプログラムを実行してインストールすると、ブレークポイントにステップ インするかブレークポイントに達するたびに、SQL Server によって msvsmon が起動されます。

SQL CLR デバッグに関する問題のトラブルシューティング

SQL CLR オブジェクトをデバッグしようとしたときに "ユーザーによってキャンセルされました" というメッセージが表示された場合は、Visual Studio を実行しているコンピューターと SQL Server を実行しているコンピューターの両方を手動で構成する必要があります。 詳細については、「方法: Transact-SQL デバッグと SQL CLR デバッグを実行するためのコンピューターを構成する」を参照してください。

一般的なタスク

一般的なタスク

関連する参照先

SQL CLR データベース プロジェクトの詳細をご確認ください。開発の利点についてお読みください。NET Framework データベース オブジェクトのSQL Serverでマネージ コードを使用します。 マネージ コードには、Transact-SQL と比較して複数の利点があります。

デバッグする前に必要なセットアップを実行します。SQL CLR デバッグを有効にする必要があります手順です。 また、一般的な問題とその解決方法についても説明します。

  • 方法 : CLR デバッグ For の接続を有効にします。

  • SQL のデバッグを設定した後の SQL Server バージョンのアップグレード

  • SQL では SSDEBUGPS が見つかりません

  • クラッシュ プロセスにアタッチできません。 指定されたプログラムは、Windows または MS-DOS プログラムではありません。

SQL CLR オブジェクトの種類をデバッグします。対応する手順に従って、ストアド プロシージャ、トリガー、ユーザー定義のスカラー関数、ユーザー定義のテーブル値関数、ユーザー定義集計、およびマネージ コードを使用して作成されたユーザー定義型をデバッグする方法について説明します。

SQL のデバッグを設定した後の SQL Server バージョンのアップグレード

セットアップを完了した後に新しいバージョンをインストールする場合は、リモート コンポーネント セットアップに戻り、リモート デバッグ用に適切なコンポーネントがインストールされていることを確認する必要があります。 詳細については、「方法 : リモート デバッグをセットアップする」および「リモート デバッグ コンポーネント」を参照してください。

SQL では SSDEBUGPS が見つかりません

SQL デバッグを開始しようとすると、次のエラー メッセージが表示される可能性があります。SQL SSDEBUGPS を見つけることができません。

この問題を解決するには、リモート デバッグ コンポーネントを再度実行する必要があります。 詳細については、「方法 : リモート デバッグをセットアップする」を参照してください。

クラッシュ プロセスにアタッチできません。指定されたプログラムは、Windows または MS-DOS プログラムではありません。

SQL CLR オブジェクトをデバッグするときに、次のエラー メッセージが表示されます。クラッシュ プロセスにアタッチできません。 指定されたプログラムは、Windows または MS-DOS プログラムではありません" というエラー メッセージが表示される場合があります。

LocalSystem またはログインしているユーザー以外のアカウントで実行するように構成されている SQL Server を使用してリモート デバッグ モニター (msvsmon) を手動で起動すると、このエラーが発生します。

このエラーを修正するには、リモート デバッグ モニターを手動で起動するのではなく、SQL Server を使用して自動的に起動できるようにする必要があります。

関連トピック

Title

説明

TRANSACT-SQL のデバッグ(Microsoft の Web サイト)

ストアド プロシージャ、関数、トリガーなどのデータベース オブジェクトのデバッグ方法を説明します。