Gewusst wie: Debuggen von Datenbankobjekten
Ein SQL Server-Komponententest umfasst folgende Komponenten:
Den in Visual C# oder Visual Basic geschriebenen Komponententestcode. Dieser Code, der vom SQL Server-Komponententest-Designer generiert wird, übermittelt das Transact-SQL-Skript, das den Textkörper des Testes darstellt.
Mindestens eine in Visual C# oder Visual Basic geschriebene Testbedingung. Um Testbedingungen zu debuggen, befolgen Sie die Schritte zum Debuggen eines Komponententests wie unter Gewusst wie: Debuggen während der Ausführung eines Tests (Visual Studio 2010) oder Gewusst wie: Debuggen während der Ausführung eines Tests (Visual Studio 2012) beschrieben.
Mindestens ein Transact-SQL-Skript das für Objekte in der Datenbank ausgeführt wird, die Sie testen. Diese Transact-SQL-Skripts können nicht gedebuggt werden.
In den Verfahren in diesem Thema wird das Debuggen bestimmter Datenbankobjekte beschrieben, z. B. von gespeicherten Prozeduren, Funktionen und Triggern in der getesteten Datenbank. Befolgen Sie zum Debuggen eines Datenbankobjekts die nachstehenden Verfahren in der angegebenen Reihenfolge:
Aktivieren Sie das SQL Server-Debugging für das Testprojekt.
Aktivieren Sie das Anwendungsdebugging für die SQL Server-Instanz, auf der die getestete Datenbank gehostet wird.
Legen Sie Breakpoints im Transact-SQL-Skript der Datenbankobjekte fest, die Sie debuggen.
Debuggen Sie den Komponententest. In diesem Verfahren führen Sie den Test im Debugmodus aus.
So aktivieren Sie das SQL-Debugging für das Testprojekt
Öffnen Sie den Projektmappen-Explorer.
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Testprojekt, und klicken Sie auf Eigenschaften.
Eine Eigenschaftenseite mit demselben Namen wie das Testprojekt wird geöffnet.
Klicken Sie auf der Eigenschaftenseite auf Debuggen.
Klicken Sie unter Debugger aktivieren auf SQL Server-Debugging aktivieren.
Speichern Sie die Änderungen.
So legen Sie einen höheren Timeout für den Ausführungskontext fest, um das Debuggen des Testprojekts zu ermöglichen
Zeigen Sie im Menü Datei auf Öffnen, und klicken Sie auf Datei.
Wechseln Sie zu dem Ordner, in dem das Testprojekt enthalten ist, und doppelklicken Sie auf die Datei app.config.
Die Datei app.config wird im Editor geöffnet.
Ändern Sie den Knoten ExecutionContext, indem Sie ein Befehlstimeout hinzufügen, wie im folgenden Beispiel veranschaulicht:
<ExecutionContext CommandTimeout ="300" Provider="System.Data.SqlClient" ConnectionString="Data Source=TargetServerName\TargetInstanceName;Initial Catalog=TargetDatabaseName;Integrated Security=True;Pooling=False" />
Speichern Sie die Änderungen.
Erstellen Sie das Komponententestprojekt erneut.
Wichtig
Wenn Sie das Projekt nicht neu erstellen, werden die an app.config vorgenommenen Änderungen beim Ausführen der Komponententests nicht angewendet, sodass das Debuggen fehlschlägt.
So fügen Sie dem Transact-SQL-Skript Breakpoints hinzu
Öffnen Sie im Menü Sicht den SQL Server-Objekt-Explorer.
Erweitern Sie unter Datenverbindungen den Knoten der zu testenden Datenbank.
Wenn neben dem Datenbanksymbol ein kleines rotes "x" angezeigt wird, ist die Verbindung mit der Datenbank geschlossen. Klicken Sie in diesem Fall mit der rechten Maustaste auf die Datenbank, und klicken Sie dann auf Aktualisieren. Sie müssen u. U. Anmeldeinformationen angeben, um die Verbindung mit der Datenbank zu öffnen.
Erweitern Sie den Knoten Sichten, Gespeicherte Prozeduren oder Funktionen, um das zu debuggende Objekt zu suchen.
Doppelklicken Sie auf das Objekt, das Sie debuggen möchten.
Klicken Sie auf die graue Randleiste, um einen Breakpoint festzulegen.
So debuggen Sie Ihren SQL Server-Komponententest
Öffnen Sie in Visual Studio 2010 („Test“ > „Windows“) das Fenster Testansicht. Öffnen Sie in Visual Studio 2012 das Fenster Test-Explorer.
Klicken Sie mit der rechten Maustaste auf den Test, durch dessen Transact-SQL-Skript das Datenbankobjekt ausgeführt wird, in dem Sie Breakpoints festgelegt haben, und wählen Sie Debugauswahl aus.
Der Test wird im Debugmodus ausgeführt, bis im Datenbankobjekt ein Breakpoint auftritt.
(Optional) Um ein weiteres Debugfenster zu öffnen, öffnen Sie das Menü Debuggen, zeigen auf Fenster und klicken auf Breakpoints, Ausgabe oder Direkt.
Weitere Informationen
Ausführen von SQL Server-Komponententests
Debuggen von Transact-SQL (Visual Studio 2010)