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
Wählen Sie das Projekt im Projektmappen-Explorer aus.
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#
Wählen Sie im Projektmappen-Explorer die Projektmappe aus.
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
Wählen Sie das Projekt im Projektmappen-Explorer aus.
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
Wählen Sie im Projektmappen-Explorer die Projektmappe aus.
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
Wählen Sie im Projektmappen-Explorer die Projektmappe aus.
Klicken Sie im Menü Debuggen auf Starten.
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