方法: Transact-SQL のデバッグを有効にする

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

Visual Studio Ultimate

Visual Studio Premium

Visual Studio Professional

Visual Studio Express

s0fk6z6e.DoesApplybmp(ja-jp,VS.100).gif s0fk6z6e.DoesApplybmp(ja-jp,VS.100).gif s0fk6z6e.DoesApplybmp(ja-jp,VS.100).gif s0fk6z6e.DoesNotApplybmp(ja-jp,VS.100).gif

Visual Studio を使用した Transact-SQL デバッグでは、SQL Server 2005 以降は SQL Server データベース サーバーが必要です。また、該当する SQL Server のアクセス許可をセットアップする必要があります。SQL Server の対応するインスタンスが、別のコンピューター上で実行されている場合には、両方のコンピューター上で Windows ファイアウォールを構成する必要があります。

メモ   Transact-SQL を SQL Server 2000 以前のバージョンでデバッグすることはサポートされていません。

Visual Studio を使用して SQL CLR コード (マネージ コードを使用するデータベース オブジェクト) をデバッグすることもできます。リモート データベース サーバー上の SQL CLR をデバッグするには、SQL Server のインスタンスを実行しているコンピューターにリモート デバッグ モニターをインストールする必要があります。詳細については、「How to: Set Up Remote Debugging」および「Debugging Database Objects That Use Managed Code (SQL CLR Debugging)」を参照してください。

SQL Server Management Studio を使用した Transact-SQL のデバッグの詳細については、「Transact-SQL デバッガーの使用」を参照してください。

SQL Server のインスタンスに関する SQL Server のアクセス許可を準備するには

  1. アプリケーション アカウントを SQL Server sysadmin 固定サーバー ロールに追加します。このアプリケーション アカウントは、Visual Studio を実行している Windows アカウントです。この操作を行うには、sysadmin のメンバーでもあるログインで、「sp_addsrvrolemember 'Domain\Name', 'sysadmin'」という Transact-SQL ステートメントを実行します。Domain\Name は Windows アカウント ログインです。

  2. 接続アカウントを SQL Server sysadmin 固定サーバー ロールに追加します。この接続アカウントは、Transact-SQL コードが SQL Server のインスタンスへの接続に使用する SQL Server ログインかまたは Windows ログインです。この操作を行うには、sysadmin のメンバーでもあるログインで、「sp_addsrvrolemember 'Domain\Name', 'sysadmin'」という Transact-SQL ステートメントを実行します。Domain\Name は対応するアカウントです。

注意

Transact-SQL コードのデバッグは、次の理由により、運用サーバーではなくテスト サーバーで行うことをお勧めします。デバッグは高度な権限を必要とする操作です。このため、SQL Server でデバッグを行うことができるのは、sysadmin 固定サーバー ロールのメンバーのみです。いくつかの Transact-SQL ステートメントの処理を調査するときに、デバッグ セッションが長時間に及ぶことがあります。セッションによって取得されたロック (たとえば更新ロック) が、セッションが終了するかトランザクションがコミットまたはロールバックされるまで、長時間保持される場合があります。

Windows ファイアウォールをリモート デバッグ用に準備するには (SQL Server が別のコンピューター上で実行されている場合)

  1. Visual Studio を実行しているコンピューターで、次の項目を Windows ファイアウォールの例外リストに追加する必要があります。

    1. Visual Studio プログラムである Devenv.exe

    2. TCP ポート 135

  2. SQL Server のインスタンスを実行しているコンピューターで、次の項目を Windows ファイアウォールの例外リストに追加する必要があります。

    1. SQL Server プログラムである sqlservr.exe。既定では、sqlservr.exe は、C:\Program Files\Microsoft SQL Server\MSSQL10.InstanceName\MSSQL\Binn にインストールされます (InstanceName は、既定のインスタンスの場合は MSSQLSERVER、名前付きインスタンスの場合はインスタンス名です)。

    2. TCP ポート 135。

    3. ドメイン ポリシーにより IPSec 経由でネットワーク通信を行う必要がある場合は、UDP ポート 4500 と UDP ポート 500 も開く必要があります。

関連項目

参照

Transact-SQL のデバッグのセットアップ エラーとトラブルシューティング

概念

Transact-SQL のデバッグ

その他の技術情報

Transact-SQL デバッグのセットアップ

Debug Settings and Preparation

Enabling SQL Debugging on SQL 2000 Desktop Engines

How to: Set Up Remote Debugging

Debugging Database Objects That Use Managed Code (SQL CLR Debugging)