Freigeben über


Vorgehensweise: Debuggen von Datenbankobjekten

Ein SQL Server-Komponententest besteht aus:

  • Komponententestcode, der in C# oder Visual Basic geschrieben wurde. Dieser Code, der vom SQL Server Unit Test Designer generiert wird, ist für die Übermittlung des Transact-SQL Skripts verantwortlich, das den Textkörper des Tests bildet.

  • Eine oder mehrere Testbedingungen, die in C# oder Visual Basic geschrieben sind. Zum Debuggen von Testbedingungen befolgen Sie das Verfahren zum Debuggen eines Komponententests, wie unter " How to: Debug while a Test Is Running" (Visual Studio 2010) oder How to: Debug while a Test Is Running (Visual Studio 2012) beschrieben.

  • Mindestens ein Transact-SQL-Skript, das auf Objekten in der Datenbank ausgeführt wird, die Sie testen. Sie können diese Transact-SQL Skripts nicht debuggen.

In den Verfahren in diesem Artikel wird das Debuggen bestimmter Datenbankobjekte beschrieben, z. B. gespeicherte Prozeduren, Funktionen und Trigger in der Datenbank, die Sie testen. Führen Sie zum Debuggen eines Datenbankobjekts die folgenden Verfahren in dieser Reihenfolge aus:

  1. Aktivieren Sie das SQL Server-Debugging für Ihr Testprojekt.
  2. Aktivieren Sie das Anwendungsdebugging in der SQL Server-Instanz, die die zu testde Datenbank hostet.
  3. Legen Sie Haltepunkte im Transact-SQL Skript der Datenbankobjekte fest, die Sie debuggen.
  4. Debuggen Sie den Komponententest. In diesem Verfahren führen Sie den Test im Debugmodus aus.

Aktivieren des SQL-Debuggings für Ihr Testprojekt

  1. Öffnen Sie den Solution Explorer.

  2. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Testprojekt, und wählen Sie "Eigenschaften" aus.

    Eine Eigenschaftenseite mit demselben Namen wie das Testprojekt wird geöffnet.

  3. Wählen Sie auf der Eigenschaftenseite "Debuggen" aus.

  4. Wählen Sie unter "Debugger aktivieren" die Option "SQL Server-Debugging aktivieren" aus.

  5. Speichern Sie Ihre Änderungen.

Legen Sie erhöhte Ausführungskontext-Timeouts fest, um das Debuggen für Ihr Testprojekt zu ermöglichen.

  1. Zeigen Sie im Menü "Datei " auf " Öffnen", und wählen Sie "Datei" aus.

  2. Navigieren Sie zu dem Ordner, der Ihr Testprojekt enthält, und doppelklicken Sie auf die app.config Datei.

    Die app.config Datei wird im Editor geöffnet.

  3. Ändern Sie den ExecutionContext Knoten so, dass ein Befehlstimeout hinzugefügt wird, wie im folgenden Beispiel gezeigt:

    <ExecutionContext
        CommandTimeout ="300" Provider="System.Data.SqlClient"
        ConnectionString="Data Source=TargetServerName\TargetInstanceName;Initial Catalog=TargetDatabaseName;Integrated Security=True;Pooling=False" />
    
  4. Speichern Sie Ihre Änderungen.

  5. Erstellen Sie ihr Komponententestprojekt neu.

Von Bedeutung

Wenn Sie Ihr Projekt nicht neu erstellen, werden die Änderungen, die Sie an app.config vorgenommen haben, nicht angewendet, wenn Sie die Modultests ausführen, und das Debuggen schlägt fehl.

Fügen Sie Haltepunkte zu Ihrem Transact-SQL-Skript hinzu

  1. Öffnen Sie im Menü "Ansicht " den SQL Server-Objekt-Explorer.

  2. Erweitern Sie unter "Datenverbindungen" den Knoten der Datenbank, die Sie testen möchten.

  3. Wenn neben dem Symbol der Datenbank ein kleines rotes "x" angezeigt wird, wird die Verbindung mit der Datenbank geschlossen. Klicken Sie in diesem Fall mit der rechten Maustaste auf die Datenbank, und wählen Sie "Aktualisieren" aus. Möglicherweise müssen Sie Anmeldeinformationen angeben, um die Verbindung mit der Datenbank zu öffnen.

  4. Erweitern Sie den Knoten "Ansichten", " Gespeicherte Prozeduren" oder "Funktionen ", um das Objekt zu finden, das Sie debuggen möchten.

  5. Doppelklicken Sie auf das Objekt, das Sie debuggen möchten.

  6. Wählen Sie die graue Randleiste aus, um einen Haltepunkt festzulegen.

Debuggen des SQL Server-Komponententests

  1. Visual Studio 2010, öffnen Sie das Fenster "Test-Windows-Testansicht>". Öffnen Sie in Visual Studio 2012 das Fenster "Test-Explorer ".

  2. Klicken Sie mit der rechten Maustaste auf den Test, dessen Transact-SQL Skript das Datenbankobjekt ausführt, in dem Sie Haltepunkte festlegen, und wählen Sie "Debugauswahl" aus.

    Der Test wird im Debugmodus ausgeführt, bis ein Haltepunkt im Datenbankobjekt erreicht wird.

  3. (Optional) Um ein weiteres Debugfenster zu öffnen, öffnen Sie das Menü " Debuggen ", zeigen Sie auf Windows, und wählen Sie "Haltepunkte", "Ausgabe" oder "Direkt" aus.