Freigeben über


Konfigurieren des Transact-SQL-Debuggers

Die Windows Firewall-Regeln müssen so konfiguriert werden, dass das Debuggen von Transact-SQL möglich ist, wenn eine Verbindung zu einer Instanz der Datenbank-Engine besteht, die auf einem anderen Computer als der Datenbank-Engine Query Editor läuft.

Konfigurieren des Transact-SQL-Debuggers

Der Transact-SQL-Debugger enthält sowohl serverseitige als auch clientseitige Komponenten. Die serverseitigen Debuggerkomponenten werden mit jeder Instanz der Datenbank-Engine 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 Konfigurationsanforderungen 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 des SQL Server-Datenbankmoduls ausgeführt wird. Um jedoch den Transact-SQL-Debugger auszuführen, wenn Sie mit einer entfernten Instanz der Datenbank-Engine verbunden sind, müssen Programm- und Portregeln in der Windows-Firewall auf beiden Computern 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 R2Systemsteuerung, ö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.

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.

Firewallregeln für den Server

Verwenden Sie auf dem Computer, auf dem die Instanz von Datenbank-Engineausgefü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-Firewallmit 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 unter C:\Programme\Microsoft SQL Server\MSSQL12 installiert. InstanceName\MSSQL\Binn, wobei InstanceName für die Standardinstanz MSSQLSERVER und der Instanzname für jede benannte Instanz ist.

    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-Firewallmit 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 ProgrammDieser 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.

Firewallregeln für den Client

Auf dem Computer, der den Datenbank-Engine -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-Firewallmit 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 ProgrammDieser 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 Datenbank-Engine -Abfrage-Editor hostet. Wenn Sie Remotedebugsitzungen von sowohl SQL Server Management Studio als auch SQL Server Data Tools auf demselben Computer öffnen möchten, müssen Sie eine Programmregel für beide hinzufügen:

    1. Klicken Sie im linken Bereich von Windows-Firewallmit 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 ProgrammDieser 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\120\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 finden den Pfad zu „ssms.exe“ über die Verknüpfung, 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.

Anforderungen zum Starten des Debuggers

Alle Versuche, den Transact-SQL-Debugger zu starten, müssen außerdem die folgenden Voraussetzungen erfüllen:

  • 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 Datenbank-Engine 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 Abfrage-Editor-Fenster der Datenbank-Engine muss mit einer Instanz der Datenbank-Engine aus 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.

  • Der Server muss über RPC mit dem Client kommunizieren. Das Konto, unter dem der SQL Server-Dienst ausgeführt wird, sollte über Authentifizierungsberechtigungen für den Client verfügen.

Weitere Informationen

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