Konfigurieren von Firewallregeln vor dem Ausführen des TSQL-Debuggers

 

Gilt für: SQL Server 2016

Sie müssen Windows-Firewall-Regeln so konfigurieren, dass das Debuggen von Transact-SQL aktiviert ist, wenn eine Verbindung mit einer Instanz von Datenbankmodul hergestellt wird, die auf einem anderen Computer als der Datenbankmodul-Abfrage-Editor ausgeführt wird.

Der Transact-SQL-Debugger umfasst sowohl serverseitige als auch clientseitige Komponenten. Die serverseitigen Debuggerkomponenten werden mit jeder Instanz des Datenbankmoduls von SQL Server 2005 Service Pack 2 (SP2) oder höher installiert. Die clientseitigen Debuggerkomponenten sind inbegriffen:

  • Wenn Sie die clientseitigen Tools von SQL Server 2008 oder höher installieren.

  • Wenn Sie Microsoft Visual Studio 2010 oder höher installieren.

  • Wenn Sie SQL Server Data Tools (SSDT) vom Webdownload installieren.

Es gibt keine Konfigurationsvoraussetzungen für die Ausführung des Transact-SQL -Debuggers, wenn SQL Server Management Studio oder SQL Server Data Tools auf demselben Computer wie die Instanz von SQL Server-Datenbankmodulausgeführt wird. Um jedoch den Transact-SQL -Debugger auszuführen, wenn eine Verbindung mit einer Remoteinstanz von Datenbankmodulbesteht, müssen auf beiden Computern in der Windows-Firewall Programm- und Portausnahmen aktiviert sein. Diese Regeln werden möglicherweise durch SQL Server -Setup erstellt. Wenn Ihnen beim Versuch, eine Remotedebugsitzung zu öffnen, Fehler angezeigt werden, stellen Sie sicher, dass die folgenden Firewallregeln auf dem Computer definiert sind.

Verwenden Sie die Anwendung Windows-Firewall mit erweiterter Sicherheit , um die Firewallregeln zu verwalten. Öffnen Sie in sowohl Windows 7 als auch Windows Server 2008 R2 Systemsteuerung, öffnen Sie Windows-Firewallund wählen Sie Erweiterte Einstellungenaus. In Windows Server 2008 R2 können Sie auch Dienst-Manageröffnen, im linken Bereich Konfiguration sowie Windows-Firewall mit erweiterter Sicherheiterweitern.

System_CAPS_ICON_caution.jpg Achtung


Wenn Sie Regeln in der Windows-Firewall aktivieren, kann dies dazu führen, dass Ihr Computer Sicherheitsrisiken ausgesetzt ist, die von der Firewall normalerweise geblockt werden. Durch das Aktivieren von Regeln für Remotedebugging wird die Blockierung der in diesem Thema aufgeführten Ports und Programme aufgehoben.

Verwenden Sie auf dem Computer, auf dem die Instanz von Datenbankmodulausgeführt wird, Windows-Firewall mit erweiterter Sicherheit , um die folgenden Informationen anzugeben:

  • Fügen Sie eine eingehende Programmregel für sqlservr.exe hinzu. Sie müssen eine Regel für jede Instanz besitzen, die Remotedebugsitzungen unterstützen muss.

    1. Klicken Sie im linken Bereich von Windows-Firewall mit erweiterter Sicherheit mit der rechten Maustaste auf Eingehende Regeln, und wählen Sie dann im Aktionsbereich Neue Regel aus.

    2. Wählen Sie im Dialogfeld Regeltyp die Option Programmaus, und klicken Sie anschließend auf Weiter.

    3. Wählen Sie im Dialogfeld Programm die Option Dieser Programmpfad: aus, und geben Sie den vollständigen Pfad zu sqlservr.exe für diese Instanz ein. Standardmäßig wird „sqlservr.exe“ im Verzeichnis „C:\Programme\Microsoft SQL Server\MSSQL13.Instanzname\MSSQL\Binn“ installiert, wobei Instanzname für die Standardinstanz MSSQLSERVER lautet. Für eine beliebige benannte Instanz wird der jeweilige Instanzname eingefügt.

    4. Wählen Sie im Dialogfeld Aktion die Option Verbindung zulassenaus, und klicken Sie auf Weiter.

    5. Wählen Sie im Dialogfeld Profil beliebige Profile aus, die die Verbindungsumgebung des Computers beschreiben, wenn Sie eine Debugsitzung für die Instanz öffnen möchten, und klicken Sie auf Weiter.

    6. Geben Sie im Dialogfeld Name einen Namen und eine Beschreibung für die Regel ein und klicken Sie auf Fertig stellen.

    7. Klicken Sie in der Liste Eingehende Regeln mit der rechten Maustaste auf die Regel, die Sie erstellt haben, und wählen Sie dann im Aktionsbereich Eigenschaften aus.

    8. Wählen Sie die Registerkarte Protokolle und Ports aus.

    9. Wählen Sie TCP im Feld Protokolltyp: aus, wählen Sie Dynamische RPC-Ports im Feld Lokaler Port: aus, klicken Sie auf Anwendenund dann auf OK.

  • Fügen Sie eine eingehende Programmregel für svchost.exe hinzu, um DCOM-Kommunikation von Remotedebuggersitzungen zu ermöglichen.

    1. Klicken Sie im linken Bereich von Windows-Firewall mit erweiterter Sicherheit mit der rechten Maustaste auf Eingehende Regeln, und wählen Sie dann im Aktionsbereich Neue Regel aus.

    2. Wählen Sie im Dialogfeld Regeltyp die Option Programmaus, und klicken Sie anschließend auf Weiter.

    3. Wählen Sie im Dialogfeld Programm Dieser Programmpfad: aus, und geben Sie den vollständigen Pfad zu svchost.exe ein. Standardmäßig ist svchost.exe in %systemroot%\System32\svchost.exe. installiert.

    4. Wählen Sie im Dialogfeld Aktion die Option Verbindung zulassenaus, und klicken Sie auf Weiter.

    5. Wählen Sie im Dialogfeld Profil beliebige Profile aus, die die Verbindungsumgebung des Computers beschreiben, wenn Sie eine Debugsitzung für die Instanz öffnen möchten, und klicken Sie auf Weiter.

    6. Geben Sie im Dialogfeld Name einen Namen und eine Beschreibung für die Regel ein und klicken Sie auf Fertig stellen.

    7. Klicken Sie in der Liste Eingehende Regeln mit der rechten Maustaste auf die Regel, die Sie erstellt haben, und wählen Sie dann im Aktionsbereich Eigenschaften aus.

    8. Wählen Sie die Registerkarte Protokolle und Ports aus.

    9. Wählen Sie TCP im Feld Protokolltyp: aus, wählen Sie RPC-Endpunktzuordnung im Feld Lokaler Port: aus, klicken Sie auf Anwendenund dann auf OK.

  • Wenn die Domänenrichtlinie eine Netzwerkkommunikation über IPSec erfordert, müssen Sie auch eingehende Regeln für das Öffnen von UDP-Port 4500 und den UDP-Port 500 hinzufügen.

Auf dem Computer, der den Datenbankmodul -Abfrage-Editor ausführt, ist für das SQL Server-Setup oder SQL Server Data Tools -Setup möglicherweise die Windows-Firewall konfiguriert, um Remotedebugging zu ermöglichen.

Wenn Ihnen beim Versuch, eine Remotedebugsitzung zu öffnen, Fehler angezeigt werden, können Sie die Programm- und Portausnahmen manuell mit Windows-Firewall mit erweiterter Sicherheit konfigurieren, um Firewallregeln zu konfigurieren:

  • Fügen Sie einen Programmeintrag für svchost hinzu:

    1. Klicken Sie im linken Bereich von Windows-Firewall mit erweiterter Sicherheit mit der rechten Maustaste auf Eingehende Regeln, und wählen Sie dann im Aktionsbereich Neue Regel aus.

    2. Wählen Sie im Dialogfeld Regeltyp die Option Programmaus, und klicken Sie anschließend auf Weiter.

    3. Wählen Sie im Dialogfeld Programm Dieser Programmpfad: aus, und geben Sie den vollständigen Pfad zu svchost.exe ein. Standardmäßig ist svchost.exe in %systemroot%\System32\svchost.exe. installiert.

    4. Wählen Sie im Dialogfeld Aktion die Option Verbindung zulassenaus, und klicken Sie auf Weiter.

    5. Wählen Sie im Dialogfeld Profil beliebige Profile aus, die die Verbindungsumgebung des Computers beschreiben, wenn Sie eine Debugsitzung für die Instanz öffnen möchten, und klicken Sie auf Weiter.

    6. Geben Sie im Dialogfeld Name einen Namen und eine Beschreibung für die Regel ein und klicken Sie auf Fertig stellen.

    7. Klicken Sie in der Liste Eingehende Regeln mit der rechten Maustaste auf die Regel, die Sie erstellt haben, und wählen Sie dann im Aktionsbereich Eigenschaften aus.

    8. Wählen Sie die Registerkarte Protokolle und Ports aus.

    9. Wählen Sie TCP im Feld Protokolltyp: aus, wählen Sie RPC-Endpunktzuordnung im Feld Lokaler Port: aus, klicken Sie auf Anwendenund dann auf OK.

  • Fügen Sie einen Programmeintrag für die Anwendung hinzu, die den Datenbankmodul -Abfrage-Editor hostet. Wenn Sie Remotedebugsitzungen von sowohl SQL Server Management Studio als auch SQL Server Data Tools auf dem gleichen Computer öffnen müssen, müssen Sie eine Programmregel für beide hinzufügen:

    1. Klicken Sie im linken Bereich von Windows-Firewall mit erweiterter Sicherheit mit der rechten Maustaste auf Eingehende Regeln, und wählen Sie dann im Aktionsbereich Neue Regel aus.

    2. Wählen Sie im Dialogfeld Regeltyp die Option Programmaus, und klicken Sie anschließend auf Weiter.

    3. Wählen Sie im Dialogfeld Programm Dieser Programmpfad: aus, und geben Sie einen dieser drei Werte ein.

      • Geben Sie für SQL Server Management Studio den vollständigen Pfad zu ssms.exe ein. Standardmäßig wird "ssms.exe" unter "C:\Programme (x86)\Microsoft SQL Server\130\Tools\Binn\Management Studio" installiert.

      • Geben Sie für SQL Server Data Tools den vollständigen Pfad zu devenv.exe ein.

        1. Standardmäßig befindet sich der devenv.exe für Visual Studio 2010 unter C:\Programme (x86)\Microsoft Visual Studio 10.0\Common7\IDE.

        2. Standardmäßig befindet sich der devenv.exe für Visual Studio 2012 unter C:\Programme (x86)\Microsoft Visual Studio 11.0\Common7\IDE

        3. Sie können den Pfad zu ssms.exe über die Verknüpfung suchen, mit der Sie SQL Server Management Studio starten. Sie können den Pfad zu devenv.exe über die Verknüpfung suchen, mit der Sie SQL Server Data Toolsstarten. Klicken Sie mit der rechten Maustaste auf die Verknüpfung und wählen Sie Eigenschaftenaus. Die ausführbare Datei und der Pfad sind im Feld Ziel aufgeführt.

    4. Wählen Sie im Dialogfeld Aktion die Option Verbindung zulassenaus, und klicken Sie auf Weiter.

    5. Wählen Sie im Dialogfeld Profil beliebige Profile aus, die die Verbindungsumgebung des Computers beschreiben, wenn Sie eine Debugsitzung für die Instanz öffnen möchten, und klicken Sie auf Weiter.

    6. Geben Sie im Dialogfeld Name einen Namen und eine Beschreibung für die Regel ein und klicken Sie auf Fertig stellen.

    7. Klicken Sie in der Liste Eingehende Regeln mit der rechten Maustaste auf die Regel, die Sie erstellt haben, und wählen Sie dann im Aktionsbereich Eigenschaften aus.

    8. Wählen Sie die Registerkarte Protokolle und Ports aus.

    9. Wählen Sie TCP im Feld Protokolltyp: aus, wählen Sie Dynamische RPC-Ports im Feld Lokaler Port: aus, klicken Sie auf Anwendenund dann auf OK.

Beim Starten des Transact-SQL -Debuggers müssen außerdem immer die folgenden Anforderungen erfüllt sein:

  • SQL Server Management Studio oder SQL Server Data Tools muss unter einem Windows-Konto ausgeführt werden, das Mitglied der festen Serverrolle sysadmin ist.

  • Das Datenbankmodul Abfrage-Editor-Fenster muss entweder mithilfe einer Windows-Authentifizierung oder mithilfe eines Anmeldenamens für die SQL Server-Authentifizierung, der Mitglied der festen Serverrolle sysadmin ist, verbunden werden.

  • Das Datenbankmodul-Abfrage-Editor-Fenster muss mit einer Instanz des Datenbankmodul von SQL Server 2005 Service Pack 2 (SP2) oder höher verbunden sein. Sie können den Debugger nicht ausführen, wenn das Abfrage-Editor-Fenster mit einer Instanz verbunden ist, die sich im Einzelbenutzermodus befindet.

Transact-SQL-Debugger
Ausführen des Transact-SQL-Debuggers
Schrittweises Durchlaufen von Transact-SQL-Code
Transact-SQL-Debuggerinformationen
Abfrage-Editor des Datenbankmoduls (SQL Server Management Studio)

Community-Beiträge

HINZUFÜGEN
Anzeigen: