データベース エンジン クエリ エディターとは別のコンピューター上で動作するデータベース エンジン インスタンスに接続するときに Transact-SQL デバッグを有効にするように Windows ファイアウォール規則を構成する必要があります。
Transact-SQL デバッガーの構成
Transact-SQL デバッガーには、サーバー側とクライアント側のコンポーネントの両方が含まれています。 サーバー側デバッガー コンポーネントは、SQL Server 2005 Service Pack 2 (SP2) 以降のデータベース エンジンの各インスタンスと共にインストールされます。 クライアント側のデバッガー コンポーネントは、以下の時点で含まれます。
SQL Server 2008 以降からクライアント側ツールをインストールする場合。
Microsoft Visual Studio 2010 以降をインストールする場合。
Web ダウンロードから SQL Server Data Tools (SSDT) をインストールする場合。
SQL Server Management Studio または SQL Server Data Tools が SQL Server データベース エンジン インスタンスと同じコンピューター上で実行されている場合は、Transact-SQL デバッガーを実行するための構成要件はありません。 ただし、データベース エンジンのリモート インスタンスに接続するときに Transact-SQL デバッガーを実行するには、Windows ファイアウォールのプログラムとポートの規則を両方のコンピューターで有効にする必要があります。 これらの規則は、 SQL Server のセットアップによって作成できます。 リモート デバッグ セッションを開こうとしたときにエラーが発生する場合は、次のファイアウォール規則がコンピューターに定義されていることを確認します。
ファイアウォール規則を管理するには、 セキュリティが強化された Windows ファイアウォール アプリケーションを使用します。 Windows 7 と Windows Server 2008 R2のどちらの場合でも、 [コントロール パネル]を開き、 [Windows ファイアウォール]を開いて [詳細設定]をクリックします。 Windows Server 2008 R2 では、 Service Manager を開き、左側のウィンドウで [構成] を 展開し、[ セキュリティが強化された Windows ファイアウォール] を展開することもできます。
注意事項
Windows ファイアウォール規則を有効にした場合、ファイアウォールでブロックするように指定されているセキュリティ上の脅威にコンピューターがさらされる可能性があります。 リモート デバッグ用の規則を有効にすると、このトピックで示されているポートとプログラムのブロックが解除されます。
サーバー上のファイアウォール規則
データベース エンジンのインスタンスが実行されているコンピューター上で、 セキュリティが強化された Windows ファイアウォール を使用して、次の情報を指定します。
sqlservr.exeの受信プログラム規則を追加します。 リモート デバッグ セッションをサポートする必要がある各インスタンス用の規則が必要です。
[セキュリティが強化された Windows ファイアウォール]で、左側のペインの [受信の規則]をクリックし、[操作] ペインの [新しい規則] をクリックします。
[ ルールの種類 ] ダイアログで、[ プログラム] を選択し、[ 次へ] をクリックします。
[ プログラム ]ダイアログボックスで、[ このプログラムパス: ]を選択し、このインスタンスの sqlservr.exe する完全なパスを入力します。 既定では、sqlservr.exe は C:\Program Files\Microsoft SQL Server\MSSQL12 にインストールされます。InstanceName\MSSQL\Binn。 InstanceName は既定のインスタンスの MSSQLSERVER であり、任意の名前付きインスタンスのインスタンス名です。
[ アクション ] ダイアログで、[ 接続を許可する] を選択し、[ 次へ] をクリックします。
[ プロファイル ] ダイアログで、インスタンスとのデバッグ セッションを開くときにコンピューター接続環境を記述するプロファイルを選択し、[ 次へ] をクリックします。
[ 名前 ] ダイアログで、このルールの名前と説明を入力し、[完了] をクリック します。
[ 受信ルール ] ボックスの一覧で、作成したルールを右クリックし、操作ウィンドウで [プロパティ ] を選択します。
[プロトコルおよびポート] タブをクリックします。
[プロトコルの種類: ] ボックスで [TCP] を選択し、[ローカル ポート] ボックスで [RPC 動的ポート] を選択し、[適用] をクリックして、[OK] をクリックします。
リモート デバッガー セッションからの DCOM 通信を有効にする svchost.exe の受信プログラム規則を追加します。
[セキュリティが強化された Windows ファイアウォール]で、左側のペインの [受信の規則]をクリックし、[操作] ペインの [新しい規則] をクリックします。
[ ルールの種類 ] ダイアログで、[ プログラム] を選択し、[ 次へ] をクリックします。
[ プログラム ]ダイアログボックスで[ このプログラムパス: ]を選択し、svchost.exeする完全なパスを入力します。 既定では、svchost.exe は %systemroot%\System32\svchost.exeにインストールされます。
[ アクション ] ダイアログで、[ 接続を許可する] を選択し、[ 次へ] をクリックします。
[ プロファイル ] ダイアログで、インスタンスとのデバッグ セッションを開くときにコンピューター接続環境を記述するプロファイルを選択し、[ 次へ] をクリックします。
[ 名前 ] ダイアログで、このルールの名前と説明を入力し、[完了] をクリック します。
[ 受信ルール ] ボックスの一覧で、作成したルールを右クリックし、操作ウィンドウで [プロパティ ] を選択します。
[プロトコルおよびポート] タブをクリックします。
[プロトコルの種類: ] ボックスで [TCP] を選択し、[ローカル ポート] ボックスで [RPC エンドポイント マッパー] を選択し、[適用] をクリックして、[OK] をクリックします。
ドメイン ポリシーにより IPSec 経由でネットワーク通信を行う必要がある場合は、UDP ポート 4500 と UDP ポート 500 を開く受信規則も追加する必要があります。
クライアントのファイアウォール規則
データベース エンジン クエリ エディターを実行中のコンピューターでは、SQL Server セットアップまたは SQL Server Data Tools セットアップで Windows ファイアウォールがリモート デバッグを許可するように構成されている場合があります。
リモート デバッグ セッションを開こうとしたときにエラーが発生する場合は、 セキュリティが強化された Windows ファイアウォール を使用してファイアウォール規則を構成することで、プログラムとポートの例外を手動で構成できます。
svchost 用のプログラム エントリを追加します。
[セキュリティが強化された Windows ファイアウォール]で、左側のペインの [受信の規則]をクリックし、[操作] ペインの [新しい規則] をクリックします。
[ ルールの種類 ] ダイアログで、[ プログラム] を選択し、[ 次へ] をクリックします。
[ プログラム ]ダイアログボックスで[ このプログラムパス: ]を選択し、svchost.exeする完全なパスを入力します。 既定では、svchost.exe は %systemroot%\System32\svchost.exeにインストールされます。
[ アクション ] ダイアログで、[ 接続を許可する] を選択し、[ 次へ] をクリックします。
[ プロファイル ] ダイアログで、インスタンスとのデバッグ セッションを開くときにコンピューター接続環境を記述するプロファイルを選択し、[ 次へ] をクリックします。
[ 名前 ] ダイアログで、このルールの名前と説明を入力し、[完了] をクリック します。
[ 受信ルール ] ボックスの一覧で、作成したルールを右クリックし、操作ウィンドウで [プロパティ ] を選択します。
[プロトコルおよびポート] タブをクリックします。
[プロトコルの種類: ] ボックスで [TCP] を選択し、[ローカル ポート] ボックスで [RPC エンドポイント マッパー] を選択し、[適用] をクリックして、[OK] をクリックします。
データベース エンジン クエリ エディターをホストするアプリケーション用のプログラム エントリを追加します。 同じコンピューター上の SQL Server Management Studio と SQL Server Data Tools からリモート デバッグ セッションを開く必要がある場合は、両方に対してプログラム規則を追加する必要があります。
[セキュリティが強化された Windows ファイアウォール]で、左側のペインの [受信の規則]をクリックし、[操作] ペインの [新しい規則] をクリックします。
[ ルールの種類 ] ダイアログで、[ プログラム] を選択し、[ 次へ] をクリックします。
[プログラム] ダイアログで、 [このプログラムのパス:] をクリックし、次の 3 つの値のいずれかを入力します。
SQL Server Management Studio では、ssms.exe の完全パスを入力します。 既定では、ssms.exe は C:\Program Files (x86)\Microsoft SQL Server\120\Tools\Binn\Management Studio にインストールされます。
SQL Server Data Tools の場合は、devenv.exeへの完全なパスを入力します。
既定では、Visual Studio 2010 の devenv.exe は C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE にあります。
既定では、Visual Studio 2012 の devenv.exe は C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE にあります
SQL Server Management Studio を起動するために使用するショートカットで、ssms.exe のパスを確認できます。 devenv.exe のパスは、SQL Server Data Tools の起動に使用するショートカットから確認できます。 ショートカットを右クリックし、[ プロパティ] を選択します。 実行可能ファイルとパスが [ターゲット] ボックスに表示されます。
[ アクション ] ダイアログで、[ 接続を許可する] を選択し、[ 次へ] をクリックします。
[ プロファイル ] ダイアログで、インスタンスとのデバッグ セッションを開くときにコンピューター接続環境を記述するプロファイルを選択し、[ 次へ] をクリックします。
[ 名前 ] ダイアログで、このルールの名前と説明を入力し、[完了] をクリック します。
[ 受信ルール ] ボックスの一覧で、作成したルールを右クリックし、操作ウィンドウで [プロパティ ] を選択します。
[プロトコルおよびポート] タブをクリックします。
[プロトコルの種類: ] ボックスで [TCP] を選択し、[ローカル ポート] ボックスで [RPC 動的ポート] を選択し、[適用] をクリックして、[OK] をクリックします。
デバッガーを起動するための要件
Transact-SQL デバッガーを起動するには、次の要件をすべて満たしている必要があります。
SQL Server Management Studio または SQL Server Data Tools は、sysadmin 固定サーバー ロールのメンバーである Windows アカウントで実行されている必要があります。
データベース エンジン クエリ エディター ウィンドウが、sysadmin 固定サーバー ロールのメンバーである Windows 認証または SQL Server 認証ログインを使用して接続されている必要があります。
データベース エンジン クエリ エディター ウィンドウは、SQL Server 2005 Service Pack 2 (SP2) 以降からデータベース エンジンのインスタンスに接続されている必要があります。 クエリ エディター ウィンドウがシングル ユーザー モードのインスタンスに接続されているときは、デバッガーを実行できません。
サーバーとクライアントが RPC 経由で通信をしている必要があります。 SQL Server サービスが実行されているアカウントには、クライアントに対する認証アクセス許可が必要です。
こちらもご覧ください
Transact-SQL デバッガー
Transact-SQL デバッガーの実行
Transact-SQL コードのステップ実行
Transact-SQL デバッガー情報
データベース エンジン クエリ エディター (SQL Server Management Studio)