Debuggen von SQL-Datenbankobjekten

Aktualisiert: November 2007

Dieses Thema gilt für folgende Anwendungsbereiche:

Edition

Visual Basic

C#

C++

Web Developer

Express

Standard

Pro und Team

Tabellenlegende:

Vorhanden

Nicht vorhanden

Befehl oder Befehle, die standardmäßig ausgeblendet sind.

Datenbankobjekte können jetzt in T-SQL oder in einer Common Language Runtime-Sprache (CLR) geschrieben werden. In diesem Abschnitt wird beschrieben, wie SQL-Datenbankobjekte gedebuggt werden. Es sind Themen für jeden Datenbankobjekttyp enthalten: für die SQL/CLR-Version und ggf. für die T-SQL-Version. Einige Typen von SQL/CLR-Datenbankobjekten können nicht in T-SQL geschrieben werden.

Der Entwicklungslebenszyklus von Datenbankobjekten umfasst die Codegenerierung, die Bereitstellung in der Datenbank, den Komponententest, den Anwendungstest sowie das Debuggen. Bevor SQL Server 2005 verfügbar war, wurden alle Datenbankobjekte in T-SQL geschrieben. Es war üblich, den gesamten Lebenszyklus mithilfe des Query Analyzer-Tools abzuarbeiten, das einen T-SQL-Debugger enthält. Eine Ausnahme bildete lediglich der Anwendungstest, der mithilfe von Visual Studio ausgeführt wurde. In SQL Server 2005 wurde Query Analyzer durch SQL Server Management Studio ersetzt. Aufgrund der neuen Funktionen zum Erstellen von SQL/CLR-Datenbankobjekten wird das Debuggen nicht in SQL Server Management Studio, das keinen Debugger enthält, sondern innerhalb von Visual Studio ausgeführt.

Schwerpunkt dieses Abschnitts ist die Entwicklung mithilfe des SQL Server-Projekttyps von Visual Studio. Die Entwicklung von SQL/CLR-Objekten ist bei Verwendung eines SQL Server-Projekttyps sehr einfach: Codegenerierung, Bereitstellung, Komponententest und Debuggen sind in eine einzige IDE integriert und in einem automatischen Arbeitsschritt zusammengefasst. Mithilfe dieses Projekttyps können auch T-SQL-Objekte entwickelt werden. Weitere Informationen hierzu finden Sie unter Erstellen von SQL Server 2005-Objekten in verwaltetem Code.

Sie haben folgende weitere Möglichkeiten zum Erstellen von Datenbankobjekten:

  • T-SQL-Objekte können in Visual Studio unter Verwendung eines Datenbankprojekttyps erstellt und bereitgestellt werden. Dieser Projekttyp stellt während der Entwurfszeit Tools zum Erstellen von Datenbankobjekten bereit. Ebenso können Sie mithilfe dieses Projekttyps SQL Server-Verwaltungsaufgaben wie das Erstellen von Tabellen, Ansichten und Indizes ausführen. Weitere Informationen finden Sie unter Übersicht über Visual Database Tools.

  • Neue komplexe und Legacy-T-SQL-Objekte können mithilfe von SQL Server Management Studio geschrieben, geändert, bereitgestellt und einem Komponententest unterzogen werden. Wenn Debuggen erforderlich ist, können Sie dazu Visual Studio verwenden. Diese Vorgehensweise empfiehlt sich, wenn der größte Teil der Datenbankentwicklung in T-SQL stattfindet und Sie bereits Erfahrung im Umgang mit Query Analyzer haben.

  • Die Entwicklung von SQL/CLR-Datenbankobjekten erfordert nicht zwingend Visual Studio. Sie können auch einen Text-Editor oder eine IDE eines Drittanbieters für die Entwicklung verwenden und die Objekte mithilfe von SQL Server Management Studio bereitstellen. Diese Vorgehensweise setzt jedoch umfangreichere Kenntnisse von SQL Server voraus als die Verwendung von Visual Studio, wodurch in den meisten Fällen die Produktivität sinkt.

Die Bereitstellung kann auf zwei Arten erfolgen:

  • Nachdem Sie ein SQL/CLR-Objekt erstellt haben, können Sie es mithilfe von T-SQL-Befehlen in SQL Server Management Studio bereitstellen.

  • T-SQL-Objekte können ebenfalls mithilfe von SQL Server Management Studio bereitgestellt werden. In diesem Szenario erfolgen die Entwicklung und die Bereitstellung in einem einzigen Schritt, da Sie ein Skript zum Erstellen des Objekts schreiben und dieses Skript anschließend ausführen.

Es gibt verschiedene Möglichkeiten, den Komponententest und das Debuggen auszuführen.

Nachdem der Komponententest eines Datenbankobjekts abgeschlossen wurde, müssen alle Anwendungen getestet werden, die das Objekt aufrufen. Dieser Vorgang wird unter Debuggen von Datenbankanwendungen mit mehreren Ebenen beschrieben.

In diesem Abschnitt

  • Übersicht über Visual Database Tools
    Beschreibt Beschränkungen bei der Verwendung der SQL-Debugfeatures.

  • Allgemeine Prozedurreferenz
    Beschreibt Prozeduren, die in vielen verschiedenen Szenarios und Beispielen verwendet werden.

  • Debuggen von T-SQL-Datenbanken
    Veranschaulicht das Debuggen verschiedener Arten von T-SQL-Datenbankobjekten: gespeicherte Prozeduren, Trigger, benutzerdefinierte Funktionen und erweiterte gespeicherte Prozeduren.

  • Debuggen von SQL CLR-Datenbanken
    Veranschaulicht das Debuggen verschiedener Arten von CLR-Datenbankobjekten: gespeicherte Prozeduren, Trigger, benutzerdefinierte skalare Funktionen, benutzerdefinierte Tabellenwertfunktionen, benutzerdefinierte Aggregate und benutzerdefinierte Typen.

Verwandte Abschnitte

Siehe auch

Aufgaben

Gewusst wie: Debuggen von T-SQL mit SQL Server Management Studio

Konzepte

Debuggersicherheit

Weitere Ressourcen

Erstellen von SQL Server 2005-Objekten in verwaltetem Code