Transact-SQL デバッガーの構成

データベース エンジン クエリ エディターとは別のコンピューター上で動作するデータベース エンジン インスタンスに接続するときに Transact-SQL デバッグを有効にするように Windows ファイアウォール規則を構成する必要があります。

Transact-SQL デバッガーの構成

Transact-SQL デバッガーには、サーバー側のコンポーネントとクライアント側のコンポーネントの両方が含まれています。 サーバー側のデバッガー コンポーネントは、SQL Server 2005 Service Pack 2 (SP2) 以降のデータベース エンジンの各インスタンスと共にインストールされます。 クライアント側のデバッガー コンポーネントは、以下の時点で含まれます。

  • SQL Server 2008 以降からクライアント側のツールをインストールするとき。

  • microsoft visual studio 2010 以降をインストールするとき。

  • Web ダウンロードから SQL Server データ ツール (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 では、サービス マネージャーを開き、左側のペインで [構成] を展開し、[セキュリティが強化された Windows ファイアウォール] を展開することもできます。

注記注意

Windows ファイアウォール規則を有効にした場合、ファイアウォールでブロックするように指定されているセキュリティ上の脅威にコンピューターがさらされる可能性があります。 リモート デバッグ用の規則を有効にすると、このトピックで示されているポートとプログラムのブロックが解除されます。

サーバー上のファイアウォール規則

データベース エンジンのインスタンスが実行されているコンピューター上で、[セキュリティが強化された Windows ファイアウォール] を使用して、次の情報を指定します。

  • sqlservr.exe の受信プログラム規則を追加します。 リモート デバッグ セッションをサポートする必要がある各インスタンス用の規則が必要です。

    1. [セキュリティが強化された Windows ファイアウォール] で、左側のペインの [受信の規則] をクリックし、[アクション] ペインの [新しい規則] をクリックします。

    2. [規則の種類] ダイアログで、[プログラム] をクリックし、[次へ] をクリックします。

    3. [プログラム] ダイアログで、[このプログラムのパス] をクリックし、このインスタンスの sqlservr.exe の完全なパスを入力します。 既定では、sqlservr.exe は C:\Program Files\Microsoft SQL Server\MSSQL11.InstanceName\MSSQL\Binn にインストールされます。InstanceName は、既定のインスタンスの場合は MSSQLSERVER、名前付きインスタンスの場合はインスタンス名です。

    4. [アクション] ダイアログで、[接続を許可する] をクリックし、[次へ] をクリックします。

    5. [プロファイル] ダイアログで、インスタンスとのデバッグ セッションを開くときのコンピューター接続環境を記述するプロファイルをすべて選択し、[次へ] をクリックします。

    6. [名前] ダイアログで、この規則の名前と説明を入力し、[完了] をクリックします。

    7. [受信の規則] の一覧で、作成した規則を右クリックし、[アクション] ペインの [プロパティ] を選択します。

    8. [プロトコルおよびポート] タブをクリックします。

    9. [プロトコルの種類] ボックスで [TCP] をクリックし、[ローカル ポート] ボックスで [RPC 動的ポート] をクリックします。次に、[適用] をクリックし、[OK] をクリックします。

  • svchost.exe の受信プログラム規則を追加して、リモート デバッグ セッションからの DCOM 通信を有効にします。

    1. [セキュリティが強化された Windows ファイアウォール] で、左側のペインの [受信の規則] をクリックし、[アクション] ペインの [新しい規則] をクリックします。

    2. [規則の種類] ダイアログで、[プログラム] をクリックし、[次へ] をクリックします。

    3. [プログラム] ダイアログで、[このプログラムのパス] をクリックし、svchost.exe の完全なパスを入力します。 既定では、svchost.exe は %systemroot%\System32\svchost.exe にインストールされます。

    4. [アクション] ダイアログで、[接続を許可する] をクリックし、[次へ] をクリックします。

    5. [プロファイル] ダイアログで、インスタンスとのデバッグ セッションを開くときのコンピューター接続環境を記述するプロファイルをすべて選択し、[次へ] をクリックします。

    6. [名前] ダイアログで、この規則の名前と説明を入力し、[完了] をクリックします。

    7. [受信の規則] の一覧で、作成した規則を右クリックし、[アクション] ペインの [プロパティ] を選択します。

    8. [プロトコルおよびポート] タブをクリックします。

    9. [プロトコルの種類] ボックスで [TCP] をクリックし、[ローカル ポート] ボックスで [RPC エンドポイント マッパー] をクリックします。次に、[適用] をクリックし、[OK] をクリックします。

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

クライアント上のファイアウォール規則

データベース エンジン クエリ エディターを実行中のコンピューターでは、SQL Server セットアップまたは SQL Server Data Tools セットアップで Windows ファイアウォールがリモート デバッグを許可するように構成されている場合があります。

リモート デバッグ セッションを開こうとしたときにエラーが発生する場合は、[セキュリティが強化された Windows ファイアウォール] を使用してファイアウォール規則を構成することで、プログラムとポートの例外を手動で構成できます。

  • svchost 用のプログラム エントリを追加します。

    1. [セキュリティが強化された Windows ファイアウォール] で、左側のペインの [受信の規則] をクリックし、[アクション] ペインの [新しい規則] をクリックします。

    2. [規則の種類] ダイアログで、[プログラム] をクリックし、[次へ] をクリックします。

    3. [プログラム] ダイアログで、[このプログラムのパス] をクリックし、svchost.exe の完全なパスを入力します。 既定では、svchost.exe は %systemroot%\System32\svchost.exe にインストールされます。

    4. [アクション] ダイアログで、[接続を許可する] をクリックし、[次へ] をクリックします。

    5. [プロファイル] ダイアログで、インスタンスとのデバッグ セッションを開くときのコンピューター接続環境を記述するプロファイルをすべて選択し、[次へ] をクリックします。

    6. [名前] ダイアログで、この規則の名前と説明を入力し、[完了] をクリックします。

    7. [受信の規則] の一覧で、作成した規則を右クリックし、[アクション] ペインの [プロパティ] を選択します。

    8. [プロトコルおよびポート] タブをクリックします。

    9. [プロトコルの種類] ボックスで [TCP] をクリックし、[ローカル ポート] ボックスで [RPC エンドポイント マッパー] をクリックします。次に、[適用] をクリックし、[OK] をクリックします。

  • データベース エンジン クエリ エディターをホストするアプリケーション用のプログラム エントリを追加します。 同じコンピューター上の SQL Server Management Studio と SQL Server Data Tools からリモート デバッグ セッションを開く必要がある場合は、両方に対してプログラム規則を追加する必要があります。

    1. [セキュリティが強化された Windows ファイアウォール] で、左側のペインの [受信の規則] をクリックし、[アクション] ペインの [新しい規則] をクリックします。

    2. [規則の種類] ダイアログで、[プログラム] をクリックし、[次へ] をクリックします。

    3. [プログラム] ダイアログで、[このプログラムのパス] をクリックし、次の 3 つの値のいずれかを入力します。

      • SQL Server Management Studio では、ssms.exe の完全パスを入力します。 既定では、ssms.exe は C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\Management Studio にインストールされます。

      • SQL Server Data Tools では、devenv.exe の完全パスを入力します。

        1. 既定では、Visual Studio 2010 用の devenv.exe は、C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE に配置されます。

        2. 既定では、Visual Studio 2012 用の devenv.exe は、C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE に配置されます。

        3. SQL Server Management Studio を起動するために使用するショートカットで、ssms.exe のパスを確認できます。 SQL Server Data Tools を起動するために使用するショートカットで、devenv.exe のパスを確認できます。 ショートカットを右クリックし、[プロパティ] をクリックします。 実行可能ファイルとパスが [ターゲット] ボックスに表示されます。

    4. [アクション] ダイアログで、[接続を許可する] をクリックし、[次へ] をクリックします。

    5. [プロファイル] ダイアログで、インスタンスとのデバッグ セッションを開くときのコンピューター接続環境を記述するプロファイルをすべて選択し、[次へ] をクリックします。

    6. [名前] ダイアログで、この規則の名前と説明を入力し、[完了] をクリックします。

    7. [受信の規則] の一覧で、作成した規則を右クリックし、[アクション] ペインの [プロパティ] を選択します。

    8. [プロトコルおよびポート] タブをクリックします。

    9. [プロトコルの種類] ボックスで [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) 以降のデータベース エンジンのインスタンスに接続されている必要があります。 クエリ エディター ウィンドウがシングル ユーザー モードのインスタンスに接続されているときは、デバッガーを実行できません。

関連項目

参照

データベース エンジン クエリ エディター (SQL Server Management Studio)

概念

Transact-SQL デバッガー

Transact-SQL デバッガーの実行

Transact-SQL コードのステップ実行

Transact-SQL デバッガー情報