マネージ コードを使用するデータベース オブジェクトのデバッグ (SQL CLR デバッグ)
このトピックの内容は、次の製品に該当します。
エディション |
Visual Basic |
C# |
C++ |
Web Developer |
---|---|---|---|---|
Express |
||||
[標準] |
||||
Pro/Team |
表の凡例 :
対象 |
|
該当なし |
|
既定で非表示のコマンド |
ここでは、SQL Server 共通言語ランタイム (SQL CLR) データベース オブジェクト型のすべてのサンプルを紹介します。
重要なシナリオが 3 つあります。
サーバー エクスプローラーを使用して、SQL Server 2005 データベース オブジェクトにステップ インします。 詳細については、「方法 : サーバー エクスプローラを使用して、オブジェクトに手順」を参照してください。
Visual Studio 2005 SQL Server プロジェクトを使用して、テスト スクリプトを実行します。
ストアド プロシージャを呼び出すアプリケーションを実行します。 詳細については、「方法 : SQL CLR のストアド プロシージャをデバッグする」を参照してください。
トリガーをデバッグするには、ストアド プロシージャでデバッグ セッションを開始する必要があります。 ただし、スタンドアロンの 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 デバッグを有効にする必要があります手順です。 また、一般的な問題とその解決方法についても説明します。 |
|
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 サイト) |
ストアド プロシージャ、関数、トリガーなどのデータベース オブジェクトのデバッグ方法を説明します。 |