Freigeben über


Gewusst wie: Aktivieren des Transact-SQL-Debuggings

Dieses Thema gilt für folgende Editionen:

Visual Studio Ultimate

Visual Studio Premium

Visual Studio Professional

Visual Studio Express

s0fk6z6e.DoesApplybmp(de-de,VS.100).gif s0fk6z6e.DoesApplybmp(de-de,VS.100).gif s0fk6z6e.DoesApplybmp(de-de,VS.100).gif s0fk6z6e.DoesNotApplybmp(de-de,VS.100).gif

Für das Transact-SQL-Debugging mit Visual Studio sind ein SQL Server-Datenbankserver ab SQL Server 2005 und die entsprechenden Berechtigungen für erforderlich.Falls die entsprechende SQL Server-Instanz auf einem anderen Computer ausgeführt wird, müssen Sie auch die Windows-Firewall auf beiden Computern konfigurieren.

Hinweis   Das Debuggen von Transact-SQL mit SQL Server 2000 und früher wird nicht unterstützt.

Sie können mit Visual Studio auch SQL CLR-Code (Datenbankobjekte mit verwaltetem Code) debuggen.Zum Debuggen von SQL CLR auf einem Remotedatenbankserver müssen Sie den Remotedebugmonitor auf dem Computer mit der SQL Server-Instanz installieren.Weitere Informationen finden Sie unter How to: Set Up Remote Debugging und Debugging Database Objects That Use Managed Code (SQL CLR Debugging).

Weitere Informationen zum Debuggen von Transact-SQL mit SQL Server Management Studio finden Sie unter Verwenden des Transact-SQL-Debuggers.

So bereiten Sie SQL Server-Berechtigungen für die SQL Server-Instanz vor

  1. Fügen Sie der festen SQL Server-Serverrolle sysadmin das Anwendungskonto hinzu.Das Anwendungskonto ist das Windows-Konto, unter dem Visual Studio ausgeführt wird.Führen Sie dazu die folgende Transact-SQL-Anweisung mit einem Benutzernamen aus, der auch ein Mitglied von sysadmin ist (Domain\Name ist der Windows-Benutzername für das Konto): sp_addsrvrolemember 'Domain\Name', 'sysadmin'

  2. Fügen Sie der festen SQL Server-Serverrolle sysadmin das Verbindungskonto hinzu.Beim Verbindungskonto handelt es sich um den Windows- oder SQL Server-Benutzernamen, der vom Transact-SQL-Code verwendet wird, um eine Verbindung mit der SQL Server-Instanz herzustellen.Führen Sie dazu die folgende Transact-SQL-Anweisung mit einem Benutzernamen aus, der auch ein Mitglied von sysadmin ist (Domain\Name ist das entsprechende Konto): sp_addsrvrolemember 'Domain\Name', 'sysadmin'

Tipp

Aus den folgenden Gründen empfehlen wir, diesen Transact-SQL-Code nicht auf einem Produktionsserver, sondern einem Testserver zu debuggen: Das Debuggen ist ein Vorgang mit hohen Berechtigungen.Daher sind in SQL Server nur Mitglieder der festen Serverrolle sysadmin zum Debuggen berechtigt.Debugsitzungen werden oft über längere Zeiträume ausgeführt, während Sie die Vorgänge verschiedener Transact-SQL-Anweisungen untersuchen.Von der Sitzung eingerichtete Sperren, wie z. B. Aktualisierungssperren, können über längere Zeit beibehalten werden, bis die Sitzung beendet oder ein Commit oder Rollback für die Transaktion ausgeführt wird.

So bereiten Sie die Windows-Firewall für das Remotedebugging vor (wenn SQL Server auf einem anderen Computer ausgeführt wird)

  1. Fügen Sie auf dem Computer mit Visual Studio der Ausnahmeliste für die Windows-Firewall Folgendes hinzu:

    1. Das Programm Visual Studio, Devenv.exe

    2. Den TCP-Anschluss 135

  2. Fügen Sie auf dem Computer mit der SQL Server-Instanz der Ausnahmeliste für die Windows-Firewall Folgendes hinzu:

    1. Das Programm SQL Server, sqlservr.exe.Standardmäßig wird sqlservr.exe im Verzeichnis "C:\Programme\Microsoft SQL Server\MSSQL10.Instanzname\MSSQL\Binn" installiert, wobei Instanzname im Fall der Standardinstanz MSSQLSERVER lautet und im Fall einer benannten Instanz dem Namen der Instanz entspricht.

    2. Den TCP-Anschluss 135

    3. Wenn die Domänenrichtlinie eine Netzwerkkommunikation über IPSec erfordert, müssen Sie zudem die Ports UDP 4500 und UDP 500 öffnen.

Siehe auch

Verweis

Transact-SQL-Debugging: Setupfehler und Problembehandlung

Konzepte

Debuggen von Transact-SQL

Andere Ressourcen

Einrichten des Transact-SQL-Debuggings

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)