SQL Server-Projekte

Aktualisiert: November 2007

Zusätzlich zur Programmiersprache Transact-SQL können Sie .NET Framework-Sprachen verwenden, um Datenbankobjekte zu erstellen, z. B. gespeicherte Prozeduren und Trigger, und um Daten für Microsoft SQL Server 2005-Datenbanken abzurufen und zu aktualisieren. Die Entwicklung von .NET Framework-Datenbankobjekten für SQL Server mithilfe von verwaltetem Code bietet gegenüber Transact-SQL eine Reihe von Vorteilen. Weitere Informationen finden Sie unter Vorteile von verwaltetem Code bei der Erstellung von Datenbankobjekten.

Um ein Datenbankobjekt zu erstellen, müssen Sie zunächst ein SQL Server-Projekt erstellen und dem Projekt die erforderlichen Elemente hinzufügen. Dann müssen Sie diesen Elementen Code hinzufügen. Anschließend erstellen Sie das Projekt, wobei es in eine Assembly kompiliert wird, und Sie stellen die Assembly für SQL Server bereit.

Hinweis:

Standardmäßig ist in Microsoft SQL Servern das Common Language Runtime (CLR)-Integrationsfeature deaktiviert. Es muss jedoch aktiviert werden, um SQL Server-Projektelemente zu verwenden. Die CLR-Integration kann mithilfe der clr enabled-Option der gespeicherten sp_configure-Prozedur aktiviert werden. Weitere Informationen finden Sie unter Aktivieren der CLR-Integration.

Erstellen eines neuen Projekts

Erstellen Sie ein neues SQL Server-Projekt, indem Sie im Menü Datei die Option Projekt auswählen und anschließend im Dialogfeld "Neues Projekt" SQL Server-Projekt auswählen. Weitere Informationen finden Sie unter Gewusst wie: Erstellen eines SQL Server-Projekts.

Nach dem Erstellen des neuen SQL Server-Projekts wird das Dialogfeld "Datenbankverweis hinzufügen" angezeigt. Verwenden Sie dieses Dialogfeld, um dem Projekt einen Datenbankverweis oder eine Verbindung hinzuzufügen. Sie können die Datenbankverweise verwenden, die im Server-Explorer/Datenbank-Explorer verfügbar sind, oder eine neue Verbindung definieren. Dem Projekt kann nur ein Datenbankverweis hinzugefügt werden.

Projekteigenschaften

Sie können den Assemblynamen ändern. Hierbei handelt es sich um den Namen der Ausgabedatei, die das Assemblymanifest enthält. Wenn Sie den Assemblynamen ändern, wird auch der Name des Datenbankobjekts in der SQL Server-Datenbank geändert.

Hinzufügen von Elementen zum Projekt

Neue SQL Server-Projekte enthalten nur Verweise und Assemblyinformationen. Um Datenbankobjekte zu erstellen, müssen Sie dem Projekt zunächst Elemente und diesen Elementen anschließend Code hinzufügen. Weitere Informationen finden Sie unter Elementvorlagen für SQL Server-Projekte.

In der folgenden Tabelle werden Elemente aufgeführt, die spezifisch für SQL Server-Projekte sind und die Sie hinzufügen können.

Element

Weitere Informationen

Gespeicherte Prozedur

Gewusst wie: Erstellen und Ausführen einer gespeicherten CLR SQL Server-Prozedur

Trigger

Gewusst wie: Erstellen und Ausführen eines CLR SQL Server-Triggers

Benutzerdefinierte Funktion

Gewusst wie: Erstellen und Ausführen einer benutzerdefinierten CLR SQL Server-Funktion

Benutzerdefinierter Typ

Gewusst wie: Erstellen und Ausführen einer benutzerdefinierten CLR SQL Server-Funktion

Aggregat

Gewusst wie: Erstellen und Ausführen eines CLR SQL Server-Aggregats

Erstellen, Bereitstellen und Debuggen

Wenn Sie das Projekt erstellen, wird es in eine Assembly kompiliert, die Sie debuggen und für die Datenbank bereitstellen können, auf die im Projekt verwiesen wird.

Tipp:

Als Alternative zum Erstellen, Bereitstellen und Debuggen in drei getrennten Schritten können Sie den Befehl Starten (F5) oder den Befehl Starten ohne Debuggen (STRG+F5) verwenden, um die Assembly zu erstellen und in der Datenbank bereitzustellen und um das Datenbankobjekt zu debuggen.

Bevor Sie das Datenbankobjekt debuggen können, müssen Sie dem Element Test.sql (bzw. debug.sql in Visual C++) Transact-SQL-Code hinzufügen. Das Skript im Element Test.sql ist für das Debuggen wichtig, da hiermit die Aktionen in der Datenbank ausgeführt werden, die zum Starten sowie zum Testen des Datenbankobjekts erforderlich sind. Wenn Sie das Element Test.sql dem Projekt hinzugefügt haben, enthält es eine Codegliederung für ein Skript, mit dem die erforderliche Aktion in der Datenbank ausgeführt wird. Wenn das SQL Server-Projekt mehr als ein Datenbankobjekt enthält, muss das Skript des Elements Test.sql jedes dieser Datenbankobjekte ausführen.

Diese Debugskriptanforderung unterscheidet sich beispielsweise von einem Windows Forms-Projekt, das unabhängige ausführbare Programme erstellt und ausführt. Datenbankobjekte werden nur als Reaktion auf Aktionen oder Aufrufe in der Datenbank ausgeführt. Beispielsweise wird beim Einfügen einer neuen Zeile in eine Tabelle ein Trigger aktiviert. Daher muss das Test.sql-Skript eine neue Zeile in eine Tabelle einfügen, um den Trigger zu aktivieren. Die Triggerergebnisse werden in Visual Studio im Ausgabefenster angezeigt. So können Sie erkennen, ob der Trigger fehlerfrei arbeitet.

Fügen Sie im nächsten Schritt Code zu dem Element hinzu, das Sie dem SQL Server-Projekt und dem Test.sql-Element hinzugefügt haben. Beispielcode für die einzelnen Datenbankobjekte finden Sie in den Themen zu den verfügbaren Datenbankelementen. Entsprechende Informationen finden Sie in der vorherigen Tabelle.

Erstellen eines SQL Server-Projekts

Wenn Sie das Projekt erstellen, wird es in eine Assembly kompiliert. Wenn Sie Visual Basic verwenden, führen Sie folgende Schritte aus:

So erstellen Sie ein SQL Server-Projekt mit Visual Basic

  1. Wählen Sie das Projekt im Projektmappen-Explorer aus.

  2. Klicken Sie im Menü Erstellen auf Erstellen<ProjectName>.

Wenn Sie Visual C#, Visual C++ oder Visual J# verwenden, führen Sie die folgenden Schritte aus:

So erstellen Sie ein SQL Server-Projekt mit Visual C#, Visual C++ oder Visual J#

  1. Wählen Sie im Projektmappen-Explorer die Projektmappe aus.

  2. Klicken Sie im Menü Erstellen auf Projektmappe erstellen.

Bereitstellen der Assembly in einer Datenbank

Wenn Sie die Assembly in einer Datenbank bereitstellen, auf die im Projekt verwiesen wird, wird die Verbindung zur Datenbank hergestellt, und anschließend wird die Assembly in die Datenbank kopiert. Hier wird sie registriert, und die Attribute werden festgelegt. Da die Assembly in einer spezifischen Datenbank auf dem Server bereitgestellt wird, muss beim Erstellen eines neuen Verweises auf eine andere Datenbank dieses Servers die Assembly in dieser zweiten Datenbank bereitgestellt werden, bevor sie verwendet werden kann.

Wenn Sie Visual Basic verwenden, führen Sie folgende Schritte aus.

So stellen Sie eine SQL Server-Klassenbibliotheksassembly mit Visual Basic bereit

  1. Wählen Sie das Projekt im Projektmappen-Explorer aus.

  2. Klicken Sie im Menü Erstellen auf Bereitstellen<ProjectName>.

Wenn Sie Visual C#, Visual C++ oder Visual J# verwenden, führen Sie die folgenden Schritte aus:

So stellen Sie eine SQL Server-Klassenbibliotheksassembly mit Visual C#, Visual C++ oder Visual J# bereit

  1. Wählen Sie im Projektmappen-Explorer die Projektmappe aus.

  2. Klicken Sie im Menü Erstellen auf Projektmappe bereitstellen.

Debuggen des Datenbankobjekts

Wenn Sie ein Datenbankobjekt debuggen, wird die Assembly erstellt, in der Datenbank bereitgestellt und gedebuggt. Wenn Sie ein Datenbankobjekt debuggen, das zuvor erstellt und bereitgestellt wurde, wird die Assembly nur dann neu erstellt, wenn das Projekt seit der vorigen Erstellung geändert wurde. Die Assembly wird immer aus der Datenbank gelöscht und erneut kopiert.

So debuggen Sie das Datenbankobjekt

  1. Wählen Sie im Projektmappen-Explorer die Projektmappe aus.

  2. Klicken Sie im Menü Debuggen auf Starten.

  3. Wählen Sie im Fenster Ausgabe in der Liste Ausgabe anzeigen von die Option Datenbankausgabe aus, um die Ergebnisse anzuzeigen.

Siehe auch

Aufgaben

Gewusst wie: Erstellen eines SQL Server-Projekts

Gewusst wie: Erstellen und Ausführen einer gespeicherten CLR SQL Server-Prozedur

Gewusst wie: Erstellen und Ausführen eines CLR SQL Server-Triggers

Gewusst wie: Erstellen und Ausführen eines CLR SQL Server-Aggregats

Gewusst wie: Erstellen und Ausführen einer benutzerdefinierten CLR SQL Server-Funktion

Gewusst wie: Erstellen und Ausführen eines benutzerdefinierten CLR-SQL Server-Typs

Exemplarische Vorgehensweise: Erstellen einer gespeicherten Prozedur in verwaltetem Code

Gewusst wie: Debuggen einer gespeicherten Prozedur in SQL/CLR

Konzepte

Einführung in CLR-Integration für SQL Server (ADO.NET)

Vorteile von verwaltetem Code bei der Erstellung von Datenbankobjekten

Elementvorlagen für SQL Server-Projekte

Referenz

Attribute für SQL Server-Projekte und Datenbankobjekte

Weitere Ressourcen

Debuggen von SQL CLR-Datenbanken