Sdílet prostřednictvím


Übersicht über Datenbankprojekte

Aktualisiert: November 2007

Bei einem Datenbankprojekt handelt es sich um die Offlinedarstellung eines Datenbankschemas. Diese Darstellung enthält die Objektdefinitionen und Bereitstellungsskripts, die Sie zum Erstellen einer separaten Instanz der betreffenden Datenbank oder zum Aktualisieren einer vorhandenen Instanz benötigen. Durch das Erstellen eines Datenbankprojekts können Sie die Datenbank unter Versionskontrolle stellen.

Sie können mit Datenbankprojekten die folgenden Aufgaben ausführen:

  • Erstellen und Bereitstellen einer Datenbank

  • Stellen der Datenbank unter Versionskontrolle

  • Erstellen eines Datenbankprojekts durch Importieren der Objekte aus einer vorhandenen, bereitgestellten Datenbank

  • Vergleichen des Datenbankprojekts mit einer bereitgestellten Datenbank

  • Importieren von Änderungen an einer bereitgestellten Datenbank, sodass das Datenbankprojekt der bereitgestellten Datenbank wieder entspricht

  • Hinzufügen, Ändern und Löschen von Datenbankobjekten und Skripts

  • Erstellen von einem oder mehreren Datengenerierungsplänen zum Füllen der Datenbank mit Testdaten

Importieren von Datenbankschemas

Sie können ein Datenbankschema aus einer Datenbankinstanz oder einem Skript importieren. Wenn Sie ein Datenbankschema importieren, wird es überprüft. Anweisungen, die nicht verstanden werden, werden in der Datei ScriptsIgnoredOnImport.sql abgelegt. Wenn Sie Objektdefinitionen importieren, die auf nicht mehr vorhandene Objekte verweisen, müssen Sie diese Fehler auflösen, bevor Sie das Datenbankprojekt erstellen und bereitstellen können. Sie können die Fehler beheben, indem Sie das Objekt löschen. Wenn Sie z. B. eine gespeicherte Prozedur importiert haben, die auf eine nicht mehr vorhandene Tabelle verweist, könnten Sie diese gespeicherte Prozedur einfach löschen.

Der anfängliche Bereinigungsprozess könnte zeitaufwendig sein, wenn Sie ein großes Datenbankschema importieren. Nachdem Sie diese Fehler eliminiert haben, achtet Visual Studio Team System Database Edition im weiteren Verlauf auf Fehlerfreiheit. Alle Änderungen werden überprüft, wenn Sie die geänderte Objektdefinition speichern.

Struktur von Datenbankprojekten

Ein Datenbankprojekt enthält eine DBPROJ-Datei und die drei Standardunterordner Datengenerierungspläne, Schemaobjekte und Skripts. Die einzelnen Unterordner werden weiter unten in diesem Thema detailliert beschrieben. Der Projektmappen-Explorer stellt eine dateibasierte Ansicht des Datenbankprojekts bereit. Alle im Projektmappen-Explorer angezeigten Elemente entsprechen einer Datei oder einem Ordner auf dem Datenträger. Im Gegensatz dazu stellt die Schemaansicht eine objektbasierte Ansicht bereit, sodass Sie Objekte in der Datenbank unabhängig davon identifizieren können, ob sie als separate Dateien vorliegen oder nicht.

Im Projektmappen-Explorer können Sie Aktionen für das gesamte Projekt oder für einzelne Dateien ausführen. Sie können im Projektmappen-Explorer die folgenden Aktionen für ein Datenbankprojekt ausführen:

  • Datenbankschema importieren
    Sie können die Schemainformationen aus einer vorhandenen Datenbank importieren, die Sie angeben.

  • Skript importieren
    Sie können die Schemainformationen für ein oder mehrere Objekte aus einem Skript importieren, das Objektdefinitionen enthält.

  • Build
    Sie können ein Buildskript generieren, das eine Datenbank mit demselben Schema erstellt oder eine vorhandene Datenbank mit diesem Schema synchronisiert. Die Eigenschaften des Datenbankprojekts steuern sowohl die Bereitstellung als auch die Einstellungen für die Zieldatenbank.

  • Neu erstellen
    Sie können diese Option verwenden, um das Projekt auch dann zu erstellen, wenn seit der letzten Erstellung keine Änderungen vorgenommen wurden.

  • Bereitstellen
    Sie können das Datenbankprojekt auf Grundlage der ausgewählten Konfiguration in einer neuen oder in einer vorhandenen Datenbank bereitstellen. Mit dieser Aktion wird das Datenbankprojekt außerdem vor der Bereitstellung erstellt, falls es nicht auf dem neuesten Stand ist.

  • Bereinigen
    Sie können vorhandene Buildskripts löschen, die in Folge einer Erstellung, Neuerstellung oder Bereitstellung generiert wurden.

  • Hinzufügen
    Sie können dem Datenbankprojekt Ordner und Projektelementdateien hinzufügen. Beispielsweise können Sie Projektelemente hinzufügen, die Datenbankobjektdefinitionen enthalten.

  • Als Startprojekt festlegen
    Sie können angeben, dass das Datenbankprojekt als Startprojekt für die Projektmappe markiert werden soll. Wenn die Projektmappe weitere Projekte enthält, ist es möglicherweise ratsam, eines dieser Projekte als Startprojekt festzulegen, da Datenbankprojekte keine Benutzeroberflächenelemente enthalten.

  • Projektmappe zur Quellcodeverwaltung hinzufügen
    Sie können die Projektmappe mit dem Datenbankprojekt unter Versionskontrolle stellen.

  • Ausschneiden
    Sie können das Projekt in die Zwischenablage kopieren. Mit dieser Aktion wird das Projekt außerdem markiert, sodass es beim Einfügen an einer anderen Stelle vom aktuellen Ort in der Projektmappe entfernt wird.

  • Entfernen
    Sie können das Datenbankprojekt aus der aktuellen Projektmappe entfernen.

  • Umbenennen
    Sie können das Datenbankprojekt umbenennen. Wenn das Projekt der Versionskontrolle unterliegt, wird es zum Abschließen dieser Aktion ausgecheckt.

  • Projekt entfernen
    Sie können das Datenbankprojekt entladen. Ein Projekt kann entladen werden, wenn Sie beim Öffnen einer umfangreichen Projektmappe mit mehreren Projekten nur die Projekte laden möchten, an denen Sie derzeit aktiv arbeiten. Nachdem Sie ein Datenbankprojekt entladen haben, können Sie den Befehl Projekt erneut laden verwenden, um es erneut zu laden.

  • Alle Dateien anzeigen
    Sie können diese Einstellung aktivieren und deaktivieren, um Dateien anzuzeigen bzw. auszublenden, die Sie aus dem Datenbankprojekt ausgeschlossen haben.

  • Eigenschaften
    Sie können die Projekteigenschaften anzeigen und anpassen, die Aspekte bezüglich der Erstellung und Bereitstellung des Datenbankprojekts steuern.

  • Aktualisieren
    Sie können die im Projektmappen-Explorer angezeigten Datenbankobjekte aktualisieren. Hierdurch wird der Inhalt der Dateien neu interpretiert, die die Objektdefinitionen enthalten.

Datengenerierungspläne

Dieser Unterordner enthält standardmäßig alle Pläne, die Sie zum Generieren repräsentativer Testdaten für eine bereitgestellte Datenbank erstellt haben.

Sie können für den Unterordner Datengenerierungspläne folgende Aktionen ausführen:

  • Neues Element hinzufügen
    Sie können ein Projektelement erstellen, z. B. einen Datengenerierungsplan, und dieses dem Projekt hinzufügen.

  • Vorhandenes Element hinzufügen
    Sie können dem Datenbankprojekt ein Element hinzufügen, das bereits vorhanden ist. Im Projektordner oder in einem Unterordner des Projektordners wird eine Kopie dieses Elements erstellt.

  • Kopieren
    Sie können alle Datengenerierungsplane für das Projekt in die Zwischenablage kopieren.

Schemaobjekte

Dieser Unterordner enthält standardmäßig alle Dateien mit den Definitionen für die Objekte im Datenbankprojekt, gruppiert nach Objekttyp.

Sie können für den Unterordner Schemaobjekte folgende Aktionen ausführen:

  • Neues Element hinzufügen
    Sie können ein Projektelement erstellen, z. B. eine Tabellendefinition, und dieses dem Projekt hinzufügen.

  • Vorhandenes Element hinzufügen
    Sie können dem Datenbankprojekt ein Element hinzufügen, das bereits vorhanden ist. Im Projektordner oder in einem Unterordner des Projektordners wird eine Kopie dieses Elements erstellt.

  • Kopieren
    Sie können alle Schemaobjekte im Projekt in die Zwischenablage kopieren.

Datenbankschemaobjekte werden in einer Auflistung von SQL-Dateien definiert, die im Projektordner gespeichert sind. Die meisten Objekte werden in separaten Dateien definiert. Zu den Ausnahmen gehören Spalten in einer Tabelle (die in der Datei angegeben werden, die die Tabellendefinition enthält) sowie Parameter für eine gespeicherte Prozedur oder eine Funktion (die in der Datei angegeben werden, die die gespeicherte Prozedur bzw. die Funktion enthält).

Die Buildvorgang-Eigenschaft für eine SQL-Datei gibt an, ob diese analysiert wird, um zu ermitteln, ob sie die Definition eines Datenbankobjekts enthält. Dateien, die Datenbankobjektdefinitionen enthalten, werden standardmäßig auf Build festgelegt. Andere SQL-Skripts und weitere, verschiedene Dateien werden auf Nicht im Build festgelegt. Die Buildvorgang-Eigenschaft bestimmt auch, ob die Datei in das Buildskript aufgenommen wird.

Der Name der einzelnen Objekte bestimmt den jeweiligen Dateinamen, und der Objekttyp bestimmt wie folgt die Standarddateierweiterung:

Datenbankobjekttyp

Name

Function

Objektname.function.sql

Index

Objektname.index.sql

Gespeicherte Prozedur

Objektname.proc.sql

Table

Objektname.table.sql

Trigger

Objektname.trigger.sql

View

Objektname.view.sql

Primärschlüsseleinschränkung

Objektname.pkey.sql

Fremdschlüsseleinschränkung

Objektname.fkey.sql

Einschränkung für eindeutige Schlüssel

Objektname.ukey.sql

CHECK-Einschränkung

Objektname.chkconst.sql

DEFAULT-Einschränkung

Objektname.defconst.sql

Statistik

Objektname.statistic.sql

Definieren Sie in der SQL-Datei ein Objekt, dessen Objekttyp nicht dem durch den Dateinamen angegebenen Objekttyp entspricht, wird im Fenster Fehlerliste ein Fehler angezeigt. Wenn Sie beispielsweise dem Datenbankprojekt eine Datei namens MyTable.table.sql hinzufügen, in der Sie jedoch eine Ansicht definiert haben, wird im Fenster Fehlerliste ein Fehler angezeigt.

Sie können für die Dateien im Unterordner Schemaobjekte folgende Aktionen ausführen:

  • Öffnen
    Öffnet die Datei abhängig vom Dateityp im entsprechenden Editor. Für SQL-Dateien wird beispielsweise der Transact-SQL (T-SQL)-Editor geöffnet.

  • Öffnen mit
    Öffnet die Datei mit der Objektdefinition in einem anderen Editor, den Sie angeben.

  • Code anzeigen
    Öffnet die Datei im T-SQL-Editor.

  • Aus Projekt ausschließen
    Markiert die Datei als vom Projekt ausgeschlossen. Ausgeschlossene Dateien sind nicht in dem Buildskript enthalten, das generiert wird, wenn Sie das Datenbankprojekt zum nächsten Mal erstellen oder bereitstellen. Sie können eine Datei ausschließen, wenn diese noch ausgeführt wird und Sie den Rest der Datenbank bereitstellen möchten.

  • Ausschneiden
    Kopiert die ausgewählte Datei oder die Dateien in die Zwischenablage und löscht sie aus dem Datenbankprojekt.

  • Objekt in Schemaansicht anzeigen
    Öffnet die Schemaansicht, sofern diese noch nicht angezeigt wird, und hebt das Datenbankobjekt hervor, dessen Definition in der ausgewählten Datei, auf die Sie geklickt haben, enthalten ist. Diese Option ist nur für SQL-Dateien verfügbar, die gültige Objektdefinitionen enthalten.

  • Kopieren
    Kopiert die ausgewählte Datei oder die Dateien in die Zwischenablage.

  • Umbenennen
    Benennt die Datei um. Hierbei wird keine Umgestaltung mit Umbenennen für den Dateiinhalt durchgeführt, sondern die Datei wird lediglich umbenannt.

  • Löschen
    Löscht die ausgewählte Datei oder die Dateien aus dem Datenbankprojekt und entfernt sie vom Datenträger. Sie werden dann aufgefordert, den Löschvorgang zu bestätigen, da dieser dauerhaft ist.

  • Eigenschaften
    Zeigt das Eigenschaftenfenster für die Datei oder die Dateien an, auf die Sie geklickt haben.

Skripts

Standardmäßig enthält dieser Unterordner Verwaltungsskripts, Skripts vor der Bereitstellung und Skripts nach der Bereitstellung für die Datenbank. Die Eigenschaft Buildvorgang ist für Verwaltungsskripts auf Nicht im Build und für Bereitstellungsskripts auf PreDeploy oder PostDeploy festgelegt. Ein Datenbankprojekt kann jeweils nur ein Skript vor der Bereitstellung und ein Skript nach der Bereitstellung aufweisen. Skripts vor der Bereitstellung und Skripts nach der Bereitstellung umfassen oft zusätzliche Skripts. Die zusätzlichen Skripts können ebenfalls Bestandteil des Datenbankprojekts sein. Die Eigenschaft Buildvorgang ist für diese Skripts auf Nicht im Build festgelegt.

Sie können für den Unterordner Skripts folgende Aktionen ausführen:

  • Neues Element hinzufügen
    Sie können ein Projektelement erstellen, z. B. ein Verwaltungsskript, und dieses dem Projekt hinzufügen.

  • Vorhandenes Element hinzufügen
    Sie können dem Datenbankprojekt ein Element hinzufügen, das bereits vorhanden ist. Im Projektordner oder in einem Unterordner des Projektordners wird eine Kopie dieses Elements erstellt.

  • Kopieren
    Sie können alle Skripts im Projekt in die Zwischenablage kopieren.

Schemaansicht

Die Schemaansicht bietet eine alternative Ansicht des Datenbankprojekts mit Schwerpunkt auf den enthaltenen Datenbankobjekten. Weder für Datengenerierungspläne noch für Skripts sind entsprechende Einträge in der Schemaansicht vorhanden, da diese Elementtypen keine Definitionen von Datenbankobjekten enthalten.

Sie können für den Projektknoten in der Schemaansicht folgende Aktionen ausführen.

  • Datenbankschema importieren
    Sie können die Schemainformationen aus einer vorhandenen Datenbank importieren, die Sie angeben.

  • Skript importieren
    Sie können die Schemainformationen für ein oder mehrere Objekte aus einem Skript importieren, das Objektdefinitionen enthält.

  • Schema vergleichen
    Sie können die Schemainformationen für das Datenbankprojekt mit denen einer bereitgestellten Datenbank vergleichen.

  • Hinzufügen
    Sie können dem Datenbankprojekt Datenbankobjekte hinzufügen, einschließlich von Tabellen, Ansichten, gespeicherten Prozeduren, Inlinefunktionen, Tabellenfunktionen, Skalarfunktionen, benutzerdefinierten Datentypen, Dateigruppen, Datenbankanwendungsrollen, Datenbankrollen und Datenbankbenutzern.

  • Eigenschaften
    Sie können die Datenbankeigenschaften anzeigen.

Aa833292.alert_note(de-de,VS.90).gifHinweis:

Sie können dem Datenbankprojekt keine symmetrischen Schlüssel, asymmetrischen Schlüssel oder Zertifikate als Objekte hinzufügen. Diese müssen Sie im Skript vor der Bereitstellung erstellen. Beim Importieren des Schemas aus einer Datenbank, die diese Objekte enthält, werden Platzhalterkommentare mit den Namen der Schlüssel und Zertifikate im Skript vor der Bereitstellung eingefügt. Sie müssen das Skript vor der Bereitstellung ändern, um diese Objekte zu erstellen.

  • Aktualisieren
    Sie können die in der Schemaansicht angezeigten Datenbankobjekte aktualisieren. Hierdurch wird der Inhalt der Dateien neu interpretiert, die die Objektdefinitionen enthalten.

  • Projektmappen-Explorer
    Sie können den Fokus vom Projektmappen-Explorer zur Schemaansicht und umgekehrt verschieben.

  • Schemaansicht filtern
    Sie können Objekte wahlweise nach Objekttyp oder nach Schema anzeigen. Um die Gruppierung zu ändern, müssen Sie einen Projektknoten oder ein Element in einem Datenbankprojekt auswählen.

Schemaobjekte

Die Schemaansicht enthält einen Knoten für jedes Datenbankprojekt im Projektmappen-Explorer. Jeder Datenbankprojektknoten enthält alle Definitionen für die Objekte im Datenbankprojekt, gruppiert nach Objekttyp oder nach Schema.

Sie können für die in der Schemaansicht angezeigten Datenbankobjekte folgende Aktionen ausführen:

  • Skript importieren
    Sie können die Schemainformationen für ein oder mehrere Objekte aus einem Skript importieren, das Objektdefinitionen enthält.

  • Öffnen
    Sie können die Objektdefinition im T-SQL-Editor öffnen. An der Datei vorgenommene Änderungen können zu Aktualisierungen der Schemaansicht führen. Wenn Sie beispielsweise einer Tabellendefinition Spalten hinzufügen, werden diese Spalten in der Schemaansicht angezeigt.

  • Öffnen mit
    Sie können die Datei mit der Objektdefinition in einem anderen Editor öffnen, den Sie angeben.

  • Hinzufügen
    Sie können dem Datenbankprojekt Datenbankobjekte hinzufügen, einschließlich von Tabellen, Ansichten, gespeicherten Prozeduren, Inlinefunktionen, Tabellenfunktionen, Skalarfunktionen, benutzerdefinierten Datentypen, Dateigruppen, Datenbankanwendungsrollen, Datenbankrollen und Datenbankbenutzern. Darüber hinaus können Sie Ordner innerhalb des Datenbankprojekts hinzufügen, um die Objekte zu organisieren.

  • Umbenennen (im Untermenü Umgestalten)
    Sie können das Datenbankobjekt umbenennen. Wenn das Objekt der Versionskontrolle unterliegt, wird die Datei mit der Objektdefinition zum Abschließen dieser Aktion ausgecheckt. Bei dieser Aktion wird der Umgestaltungsvorgang aufgerufen. Außerdem können alle Verweise auf das umbenannte Objekt im Datenbankprojekt und in allen zugeordneten Datenbankkomponententest-Projekten aktualisiert werden.

  • Datei im Projektmappen-Explorer anzeigen
    Sie können diese Option verwenden, um die Datei im Projektmappen-Explorer zu suchen, die die Definition für das Datenbankobjekt enthält, auf das Sie geklickt haben.

  • Eigenschaften
    Sie können die Objekteigenschaften anzeigen. Nahezu alle in der Schemaansicht für Objekte verfügbaren Eigenschaften sind schreibgeschützt. Um die Eigenschaften zu ändern, müssen Sie die Objektdefinition bearbeiten.

Ändern der Standardprojektstruktur

Bei der in diesem Thema beschriebenen Struktur handelt es sich um die Standardprojektstruktur im Projektmappen-Explorer. Der Inhalt des Projekts kann jedoch neu angeordnet werden. Sie können zusätzliche Ordner erstellen, vorhandene Ordner umbenennen und Dateien im Projekt verschieben, indem Sie diese ziehen oder ausschneiden und einfügen. Datenbankobjektdefinitionen werden nicht durch ihre Position im Projekt, sondern durch die zugehörige Buildvorgang-Eigenschaft identifiziert, die auf Build festgelegt ist. Bereitstellungsskripts werden ebenfalls von der zugehörigen Buildvorgang-Eigenschaft identifiziert, die entweder auf PreDeploy oder PostDeploy festgelegt ist. Die Buildvorgang-Eigenschaft für andere Dateien im Projekt ist auf Nicht im Build festgelegt.

Sie können die Anzeige in der Schemaansicht jederzeit so festlegen, dass der Inhalt eines Projekts entweder nach Objekttyp oder nach Schema angezeigt wird.

Siehe auch

Konzepte

Übersicht über das Arbeiten mit Datenbankobjekten

Übersicht über die Terminologie der Database Edition

Weitere Ressourcen

Übersicht über das Erstellen und Bereitstellen von Datenbanken in einer Teamumgebung

Erstellen und Bereitstellen von Datenbankschemas

Arbeiten mit Datenbankskripts

Arbeiten mit Datenbankprojekten in einer Teamumgebung

Exemplarische Vorgehensweisen (Erstellen und Aktualisieren von der Versionskontrolle unterliegenden Datenbankschemas)