方法: Transact-SQL のデバッグを有効にする
このトピックの内容は、次の製品に該当します。
Visual Studio Ultimate |
Visual Studio Premium |
Visual Studio Professional |
Visual Studio Express |
---|---|---|---|
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 のアクセス許可を準備するには
アプリケーション アカウントを SQL Server sysadmin 固定サーバー ロールに追加します。このアプリケーション アカウントは、Visual Studio を実行している Windows アカウントです。この操作を行うには、sysadmin のメンバーでもあるログインで、「sp_addsrvrolemember 'Domain\Name', 'sysadmin'」という Transact-SQL ステートメントを実行します。Domain\Name は Windows アカウント ログインです。
接続アカウントを 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 が別のコンピューター上で実行されている場合)
Visual Studio を実行しているコンピューターで、次の項目を Windows ファイアウォールの例外リストに追加する必要があります。
Visual Studio プログラムである Devenv.exe
TCP ポート 135
SQL Server のインスタンスを実行しているコンピューターで、次の項目を Windows ファイアウォールの例外リストに追加する必要があります。
SQL Server プログラムである sqlservr.exe。既定では、sqlservr.exe は、C:\Program Files\Microsoft SQL Server\MSSQL10.InstanceName\MSSQL\Binn にインストールされます (InstanceName は、既定のインスタンスの場合は MSSQLSERVER、名前付きインスタンスの場合はインスタンス名です)。
TCP ポート 135。
ドメイン ポリシーにより IPSec 経由でネットワーク通信を行う必要がある場合は、UDP ポート 4500 と UDP ポート 500 も開く必要があります。
関連項目
参照
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)