Freigeben über


Übersicht über die Architektur der Datenbankfunktionen von Visual Studio

Visual Studio bietet Datenbankentwicklern viele der Tools, Features und Funktionen, die auch anderen Mitgliedern eines Anwendungsentwicklungsteams zur Verfügung stehen. Sie können z. B. dasselbe Versionskontrollsystem und andere Lebenszyklustools für die Datenbank verwenden, das bzw. die Softwareentwickler für ihren Quellcode verwenden. Da die Architektur von Visual Studio so eng in Visual Studio Team Foundation Server integriert ist, können Sie den Vorgang der Datenbankentwicklung noch einfacher verwalten und gleichzeitig die Zusammenarbeit mit den Entwicklern anderer Aspekte der Anwendung verbessern.

Weitere Informationen zu den Funktionen, die das Entwickeln von Datenbanken in Visual Studio unterstützen, finden Sie unter Verwalten von Datenbankänderungen.

Integration von Visual Studio

Die Kernarchitektur von Visual Studio ist nicht nur in Visual Studio Team Foundation Server integriert, auch die Benutzeroberfläche ist für alle Komponenten einheitlich. Die Arbeit mit Datenbankprojekten, Serverprojekten und Anwendungsprojekten auf Datenebene gestaltet sich größtenteils ähnlich wie die Arbeit mit anderen Projekttypen in Visual Studio. Datenbankspezifische Vorlagen werden in den Dialogfeldern Neues Projekt und Neues Element hinzufügen angezeigt. Außerdem können Sie Aktionen wie das Erstellen und Bereitstellen ausführen und Einstellungen (beispielsweise die Zieldatenbankverbindung und die Datenbanksortierreihenfolge) konfigurieren, die speziell für die Datenbankentwicklung vorgesehen sind.

Datenbankprojekte werden im Projektmappen-Explorer gemeinsam mit vorhandenen Projekttypen angezeigt. Sie können diese Projekte unter Versionskontrolle stellen, Projektelemente hinzufügen und entfernen und diese Projekte mit MSBuild erstellen.

Architektonische Zusammenstellung

Visual Studio umfasst die folgenden Architekturbereiche:

  • Datenbankprojekt

  • Infrastruktur des Datenbanklebenszyklus

Jedes Datenbankprojekt ist eine Offlinedarstellung einer Datenbank und in der Struktur einer Visual Studio-Projektmappe enthalten. Änderungen an einem Datenbankprojekt müssen erstellt und bereitgestellt werden, damit sie für eine aktive Instanz von Microsoft SQL Server 2005 oder Microsoft SQL Server 2008 wirksam werden.

Infrastruktur des Datenbanklebenszyklus

Die Infrastruktur des Datenbanklebenszyklus stellt eine Reihe von Diensten bereit, vom Datenbankprojekt bis zur logischen Darstellung (Modell) der Datenbank. Diese Infrastruktur enthält grundlegende Features, die für alle Datenbankprojekte erforderlich sind. Diese Features werden im Allgemeinen als Datenbankprojektbasis bezeichnet. Features, die auf dieser Grundlage aufbauen, werden als Datenbankprojektfeatures bezeichnet.

Datenbankprojektbasis

Die Datenbankprojektbasis umfasst die folgenden Hauptfunktionen:

  • Projekt- und Projektelementanalyse
    Die Basis analysiert Artefakte von Datenbankprojekten und Datenbankprojektelemente, z. B. Tabellen, Ansichten und gespeicherte Prozeduren. Dabei werden die Informationen über die Datenbankobjekte aus den Skriptdateien extrahiert, aus denen sich das Datenbankprojekt zusammensetzt. Diese Funktionalität wird z. B. verwendet, wenn Sie Datenbankobjekte aus vorhandenen Datenbankskripts importieren. Datenbankprojekte bestehen aus Auflistungen von Transact-SQL-Skripts. Das Datenbankprojektsystem interpretiert diese Skripts, um eine Interaktion mit diesen als logischen Schemaobjekten zu ermöglichen.

  • Datenbankschema importieren
    Mit der Option Datenbankschema importieren fügen Sie eine vorhandene Datenbank in Visual Studio hinzu und stellen diese unter Versionskontrolle. Selbst in einer Umgebung, in der die Datenbank unter Versionskontrolle verwaltet wird, können Änderungen auf einem aktiven Datenbankserver auftreten, die Sie in das Datenbankprojekt übernehmen müssen. Mit "Schemavergleich" können Sie Änderungen von einem Datenbankserver in ein Datenbankprojekt importieren, das noch in der Entwicklung ist.

  • Verfolgen von Abhängigkeiten zwischen Datenbankobjekten
    Das Datenbankprojektsystem verfolgt automatisch Abhängigkeiten zwischen Datenbankobjekten. Durch Verfolgen der Abhängigkeiten zwischen Objekten stellen Sie sicher, dass die richtigen Objekte erstellt und bereitgestellt werden. Wenn Sie eine Änderung am Produkt vornehmen, die zu einer Unterbrechung führt, erkennen Sie diese Unterbrechung erst, wenn Sie die Änderung speichern. Mit dem Schemaabhängigkeits-Viewer können Sie die Abhängigkeiten von Datenbankobjekten anzeigen und durch die Abhängigkeiten navigieren. Normalerweise erkennen Sie Änderungen, die zu Unterbrechungen führen, wenn Sie versuchen, einen Datenbankkomponententest zu erstellen, bereitzustellen oder auszuführen. Bei der Datenbankumgestaltung werden mithilfe dieser Abhängigkeiten die erforderlichen Änderungen ermittelt. Außerdem können Sie bei der Datengenerierung die Abhängigkeiten im Datengenerierungsplan erkennen.

  • Datenbankumgestaltung
    Bei der Datenbankumgestaltung werden Abhängigkeiten zwischen Datenbankobjekten ermittelt. Diese Informationen werden dann zur genauen Weitergabe von Änderungen innerhalb der Datenbank- und Komponententestprojekte verwendet. Die Datenbankumgestaltung ist nur in Visual Studio Premium und in Visual Studio Ultimate verfügbar.

  • Erstellen von Bereitstellungsskripts für neue und vorhandene Bereitstellungen
    Bereitstellungsskripts werden zum Erstellen einer Datenbank oder zum Aktualisieren einer vorhandenen Datenbank verwendet, sodass sie dem Schema im Datenbankprojekt entspricht. Bereitstellungsskripts bestehen aus Skripts vor der Bereitstellung, aus Skripts für die Datenbankobjekterstellung sowie aus Skripts nach der Bereitstellung. Wenn Sie eine vorhandene Datenbank bereitstellen, wird das Datenbankprojekt zur Bereitstellungszeit mit dem aktuellen Schema der Zieldatenbank verglichen. Es wird ein Aktualisierungsskript generiert, um die Zieldatenbank mit einer Kombination aus ALTER-Anweisungen, CREATE-Anweisungen und DROP-Anweisungen zu aktualisieren.

  • Validieren von Builds
    Diese Funktion umfasst die Validierung der Struktur und der Beziehungen der Objekte im Datenbankprojekt sowie die Validierung der Syntax von Skripts vor der Bereitstellung und von Skripts nach der Bereitstellung. Die Ergebnisse werden anschließend an Sie gemeldet.

Datenbankprojektfeatures

Neben den Hauptdiensten für Datenbankprojekte stehen weitere Features auf Grundlage der Datenbankprojektbasis zur Verfügung. Zu diesen Features gehören:

  • Vergleichen von Datenbankschemas
    Ermöglicht das Vergleichen zweier Datenbankschemas – unabhängig davon, ob diese in einer aktuellen Version eines Datenbankprojekts, in einer früheren Version der kompilierten DBSCHEMA-Datei, die beim Erstellen eines Datenbankprojekts erstellt wird, oder in mindestens einer aktiven Datenbank enthalten sind. Sie können auch die erforderlichen Skripts generieren, um die Struktur der Zieldatenbank mit der Struktur der Quelldatenbank abzugleichen. Der Schemavergleich ist nur in Visual Studio Premium und in Visual Studio Ultimate verfügbar.

  • Vergleichen von Datenbankdaten
    Ermöglicht das Vergleichen der Daten in zwei Datenbanken, sofern Sie über aktive Datenbanken mit übereinstimmenden Schemas verfügen. Sie können auch die erforderlichen Skripts generieren, um die Daten in der Zieldatenbank mit den Daten in der Quelldatenbank abzugleichen. Der Datenvergleich ist nur in Visual Studio Premium und in Visual Studio Ultimate verfügbar.

  • Datenbankkomponententests
    Generiert automatisch Komponententests für eine gespeicherte Prozedur oder eine Funktion und unterstützt das manuelle Erstellen von Komponententest aus gültigem Transact-SQL-Code. Mithilfe dieses Diensts können Sie sicherstellen, dass an anderer Stelle vorgenommene Änderungen die Funktion nicht beeinträchtigen. Sie können während eines Komponententests automatisch die Datenbank erstellen und bereitstellen und reproduzierbare Testdaten generieren, um einen konsistenten Anfangszustand herzustellen. Dieser Dienst beinhaltet auch eine öffentliche API, mit der Sie benutzerdefinierte Testbedingungen für das Hinzufügen einer wieder verwendbaren Validierungslogik für die Komponententests schreiben können. Sie können Datenbankkomponententests in Visual Studio Professional, Visual Studio Premium oder Visual Studio Ultimate ausführen. Sie müssen jedoch über Visual Studio Premium und Visual Studio Ultimate verfügen, um Datenbankkomponententests zu erstellen oder zu ändern.

  • Generieren von Daten
    Ermöglicht das Auffüllen einer Datenbank mit realistischen Testdaten, die nicht nur eine Kopie der Produktionsdaten darstellen, die vertrauliche Informationen enthalten könnten. Sie können außerdem benutzerdefinierte Datengeneratoren erstellen. Dieser Dienst umfasst auch eine öffentliche API für das Schreiben benutzerdefinierter Datengeneratoren für CLR-Datentypen, benutzerdefinierte Typen und benutzerdefinierte Datentypen und für das Verwenden von benutzerdefinierten Algorithmen für die Datengenerierung für integrierte Typen. Zum Erstellen oder Ändern von Datengenerierungsplänen müssen Visual Studio Premium und Visual Studio Ultimate vorhanden sein.

  • Erstellen und Ausführen von Datenbankskripts
    Bietet einen Transact-SQL-Editor, in dem Sie Datenbankskripts erstellen, analysieren und ausführen können. Die Verwendung ähnelt der von Query Analyzer oder von SQL Server Management Studio. Dies ist derselbe Editor, den Sie zum Bearbeiten der Skripts im Datenbankprojekt verwenden. Da dies derselbe Editor ist, steht Ihnen immer eine konsistente Benutzeroberfläche zur Verfügung, unabhängig davon, ob Sie mit einem Offline-Datenbankprojekt arbeiten oder Skripts auf einem tatsächlichen Datenbankserver direkt ausführen.

Befehlszeilenunterstützung

Einige der Aktionen, die Sie regelmäßig ausführen, müssen im Rahmen eines automatisierten Prozesses ausgeführt werden. Zu diesem Zweck können Sie auf der Befehlszeile das Datenbankprojekt erstellen und bereitstellen und Komponententests ausführen, wobei Sie auch repräsentative und vorhersehbare Testdaten verwenden können.

Siehe auch

Aufgaben

Exemplarische Vorgehensweise: Erstellen einer isolierten Umgebung für die Datenbankentwicklung

Exemplarische Vorgehensweise: Einrichten eines Basisplans für die isolierte Entwicklungsumgebung

Exemplarische Vorgehensweise: Ausführen von iterativer Datenbankentwicklung in einer isolierten Entwicklungsumgebung

Konzepte

Verwalten von Datenbankänderungen

Erweitern der Datenbankfunktionen von Visual Studio