Ü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.
Hinweis: |
---|
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