Exemplarische Vorgehensweise: Erstellen einer isolierten Umgebung für die Datenbankentwicklung
In dieser exemplarischen Vorgehensweise richten Sie eine isolierte Entwicklungsumgebung ein, in der jeder Datenbankentwickler ohne Auswirkungen auf die anderen Teammitglieder Änderungen vornehmen und überprüfen kann. Die isolierte Umgebung für die Datenbankentwicklung basiert auf dem Datenbankprojekt, das die Definitionen für alle Objekte in der Produktionsdatenbank enthält. Sie erstellen das Projekt, importieren das Datenbankschema aus einer Produktionsdatenbank und konfigurieren die Einstellungen für das Projekt. Jetzt erstellen Sie einen Datengenerierungsplan. Schließlich stellen Sie das Datenbankprojekt und alle zugeordneten Dateien unter Versionskontrolle, um diese gemeinsam mit Ihrem Team verwenden zu können.
In dieser exemplarischen Vorgehensweise nehmen Sie eine Administratorrolle ein und definieren die Umgebung, die die einzelnen Entwickler im Team für Ihre Arbeit nutzen. Vor dem Abschluss einer Arbeitsaufgabe werden mithilfe des Datengenerators realistische Testdaten in das aktualisierte Schema eingefügt, und es werden Datenbankkomponententests ausgeführt, um zu überprüfen, ob sich die Schemaänderungen wie gewünscht auswirken. Wenn eine Arbeitsaufgabe erledigt ist, werden die Änderungen von den Entwicklern in die Versionskontrolle eingecheckt, wo diese vom Team übernommen werden können. Mithilfe der vor dem Einchecken von Änderungen durchgeführten Tests können alle Teammitglieder die Risiken für das Gesamtprojekt reduzieren.
Zu den Aufgaben in dieser exemplarischen Vorgehensweise gehören:
Erstellen eines Datenbankprojekts mit dem Assistenten für neue Datenbankprojekte
Ausführen des Assistenten für neue Datenbankprojekte, um Datenbankschemas zu importieren, Angeben der Eigenschaften des Datenbankprojekts und Angeben der Eigenschaften des Builds und der Bereitstellung
Untersuchen der Ergebnisse des Importvorgangs
Stellen eines Projekts unter Versionskontrolle
Vorbereitungsmaßnahmen
Sie müssen Visual Studio installiert haben und über Zugriff auf die Beispieldatenbank AdventureWorks2008 für SQL Server 2008 verfügen. Um das Projekt unter Versionskontrolle zu stellen, müssen Sie eine Software zur Versionskontrolle wie Visual Studio Team Foundation Server installiert haben.
Informationen zum Installieren der Beispieldatenbank AdventureWorks2008 finden Sie auf dieser Seite der Codeplex-Website: Microsoft SQL Server Product Samples.
Sie können auch SQL Server 2008 R2 und die AdventureWorks2008R2-Datenbank verwenden. In dieser exemplarischen Vorgehensweise treten Unterschiede auf, da Sie für AdventureWorks2008R2 eine andere Aktion ausführen müssen.
So erstellen Sie ein Datenbankprojekt
Zeigen Sie im Menü Datei auf Neu, und klicken Sie auf Projekt.
Das Dialogfeld Neues Projekt wird angezeigt.
Erweitern Sie unter Installierte Vorlagen den Knoten Datenbank, und klicken Sie dann auf SQL Server.
Tipp
Navigieren Sie bei Verwendung von Visual Studio Professional zu Installierte Vorlagen, erweitern Sie den Knoten Datenbank, erweitern Sie den Knoten SQL Server, und klicken Sie anschließend auf Erweitert.
Klicken Sie in der Liste der Vorlagen auf SQL Server 2008-Assistent.
Geben Sie im Feld Name die Zeichenfolge AdvWorksSandbox ein.
Übernehmen Sie den voreingestellten Speicherort sowie den Projektmappennamen.
Aktivieren Sie ggf. das Kontrollkästchen Projektmappenverzeichnis erstellen.
Deaktivieren Sie ggf. das Kontrollkästchen Zur Quellcodeverwaltung hinzufügen, und klicken Sie auf OK.
Der Assistent für neue Datenbankprojekte wird angezeigt.
Nun verwenden Sie den Assistenten, um das Datenbankprojekt zu konfigurieren und das ursprüngliche Datenbankschema zu importieren.
So konfigurieren Sie das Projekt und importieren ein Datenbankschema
Klicken Sie auf Weiter, nachdem Sie die Willkommensseite gelesen haben.
Stellen Sie sicher, dass Datenbankprojekt zur Verwaltung von Änderungen an einer benutzerdefinierten Datenbank ausgewählt ist.
Überprüfen Sie unter SQL-Skript-Dateien, dass Nach Schema ausgewählt ist, und klicken Sie auf Weiter.
Wichtig
Sie können die Organisation eines Projekts nicht ändern, nachdem Sie es erstellt haben.
Geben Sie auf der Seite Datenbankoptionen festlegen unter Geben Sie das Standardschema für Objekte an, die Sie in Ihrem Datenbankprojekt erstellen HumanResources ein, und klicken Sie auf Weiter.
Tipp
Diese Optionen können Sie nach dem Erstellen des Projekts bei Bedarf ändern. Weitere Informationen finden Sie unter Gewusst wie: Konfigurieren der Datenbankeigenschaften für Datenbankprojekte.
Aktivieren Sie auf der Seite Datenbankschema importieren das Kontrollkästchen Vorhandenes Schema importieren.
Klicken Sie in der Liste Quelldatenbankverbindung auf die Verbindung, die dem Server und der AdventureWorks2008-Datenbank oder der AdventureWorks2008R2-Datenbank entspricht. Wenn die Verbindung noch nicht vorhanden ist, klicken Sie auf Neue Verbindung, um sie zu erstellen. Wenn Sie keine Verbindung angeben, wird das Datenbankprojekt zwar erstellt, aber es wird kein Schema importiert.
Tipp
Sie können später ein Datenbankschema importieren, wenn das Datenbankprojekt noch keine Datenbankobjekte enthält. Weitere Informationen finden Sie unter Gewusst wie: Importieren von Datenbankobjekten und -einstellungen.
Übernehmen Sie die Standardoptionen zum Importieren von Objekten und Einstellungen, und klicken Sie auf Weiter.
Klicken Sie auf der Seite Build und Bereitstellung konfigurieren unter Zielverbindung auf die Schaltfläche Bearbeiten, und geben Sie eine Verbindung mit dem Datenbankserver an, auf dem Sie die Entwicklungsumgebung erstellen möchten.
Geben Sie im Feld Zieldatenbankname ggf. den Namen AdvWorksSandbox ein.
Klicken Sie in der Liste Standardmäßige Bereitstellungssortierreihenfolge auf Sortierreihenfolge des Projekts verwenden.
In diesem Schritt wird festgelegt, dass das Bereitstellungsmodul beim Vergleichen des Projekts mit der Zieldatenbank die Sortierreihenfolge des Datenbankprojekts verwendet.
Deaktivieren Sie das Kontrollkästchen Inkrementelle Bereitstellung blockieren, wenn Datenverlust auftreten könnte.
Da die isolierte Entwicklungsumgebung nur generierte Testdaten enthält, können Sie Datenverluste zulassen.
Klicken Sie auf Fertig stellen, um das Datenbankprojekt zu erstellen und die Datenbank zu importieren.
Das Datenbankprojekt wird erstellt. Dies kann einige Minuten dauern.
Überprüfen Sie die Zusammenfassungsergebnisse, und klicken Sie auf Fertig stellen.
Im Hintergrund analysiert Visual Studio immer noch das Datenbankschema. In der Statusleiste wird eine Meldung angezeigt, die die Anzahl der abzuschließenden Vorgänge enthält, damit das Datenbankschema vollständig analysiert wurde.
Nun untersuchen Sie das Datenbankprojekt, das Sie erstellt haben.
So überprüfen Sie das resultierende Projekt
Erweitern Sie im Projektmappen-Explorer den Knoten AdvWorksSandbox und anschließend den untergeordneten Knoten Schemaobjekte.
Überprüfen Sie die Unterknoten, die sich in der Hierarchie unter dem Knoten Schemaobjekte befinden.
Der Projektmappen-Explorer enthält die Dateien, die die Objekte definieren, die sich im Schema der Datenbank befinden, aus der Sie sie importiert haben.
Klicken Sie im Menü Ansicht auf Schemaansicht der Datenbank.
Erweitern Sie in der Schemaansicht den Knoten AdvWorksSandbox.
Überprüfen Sie die Unterknoten, die sich in der Hierarchie unter dem Knoten AdvWorksSandbox befinden.
Die Schemaansicht enthält die Objekte, die in den Dateien definiert sind, die im Projektmappen-Explorer angezeigt werden.
Klicken Sie im Projektmappen-Explorer auf den Knoten AdvWorksSandbox.
Klicken Sie im Menü Projekt auf Eigenschaften von AdvWorksSandbox.
Klicken Sie auf der Eigenschaftenseite auf die Registerkarte Bereitstellen.
Tipp
Alle beim Konfigurieren von Meine Projekteinstellungen geänderten Bereitstellungseinstellungen werden in der Projektdatei (.dbproj) gespeichert und in die Quellcodeverwaltung eingecheckt. In einer nachfolgenden exemplarischen Vorgehensweise konfigurieren Sie Einstellungen für die Umgebung eines bestimmten Entwicklers.
Geben Sie im Feld Zieldatenbankname ggf. den Namen AdvWorksSandbox ein.
Klicken Sie im Menü Datei auf Ausgewählte Elemente speichern.
Jeder Entwickler gibt die Verbindungszeichenfolge für den Datenbankserver an, auf dem die jeweilige Kopie der Datenbank gehostet werden soll.
So stellen Sie das Projekt in der isolierten Entwicklungsumgebung bereit
Klicken Sie im Projektmappen-Explorer auf den Knoten AdvWorksSandbox.
Wenn Sie dieses Projekt auf dem gleichen Datenbankserver bereitstellen, auf dem die ursprüngliche AdventureWorks2008-Datenbank oder die AdventureWorks2008R2-Datenbank ausgeführt wird, müssen Sie einen Dateinamen ändern, um Konflikte zu vermeiden. Wenn Sie die Datenbank stattdessen auf einem Server bereitstellen, der die ursprüngliche AdventureWorks2008-Datenbank oder die AdventureWorks2008R2-Datenbank nicht enthält, können Sie zu Schritt 7 wechseln.
Erweitern Sie den Ordner Schemaobjekte, den Ordner Objekte auf Datenbankebene, den Ordner Speicher und den Ordner Dateien.
Drei Dateien werden angezeigt: AdventureWorks2008_Data.sqlfile.sql, AdventureWorks2008_Log.sqlfile.sql und FileStreamDocuments.sqlfile.sql. Wenn Sie SQL Server 2008 R2 verwenden, werden die folgenden Dateien angezeigt: AdventureWorks2008R2_Data.sqlfile.sql, AdventureWorks2008R2_Log.sqlfile.sql und FileStreamDocuments2008R2.sqlfile.sql.
Tipp
In älteren Versionen von AdventureWorks wurde FILESTREAM nicht verwendet. Wenn Sie eine ältere Version von AdventureWorks importieren, können Sie mit Schritt 7 fortfahren.
Doppelklicken Sie auf FileStreamDocuments.sqlfile.sql.
Die Datei wird im Transact-SQL-Editor geöffnet.
Ändern Sie die Definition der Datei, sodass sie wie folgt lautet:
ALTER DATABASE [$(DatabaseName)] ADD FILE (NAME = [FileStreamDocuments], FILENAME = '$(DefaultDataPath)SandboxDocuments') TO FILEGROUP [DocumentFileStreamGroup];
Wenn Sie AdventureWorks2008R2 verwenden, sollten Sie stattdessen die folgende Definition verwenden:
ALTER DATABASE [$(DatabaseName)] ADD FILE (NAME = [FileStreamDocuments2008R2], FILENAME = '$(DefaultDataPath)SandboxDocuments') TO FILEGROUP [Document2008R2FileStreamGroup];
Klicken Sie im Menü Datei auf Alle speichern.
Klicken Sie im Menü Projekt auf Eigenschaften von AdvWorksSandbox.
Das Projekteigenschaftenfenster wird angezeigt.
Klicken Sie auf die Registerkarte Bereitstellen.
Klicken Sie in der Liste Bereitstellungsvorgang auf Bereitstellungsskript erstellen und in Datenbank bereitstellen (.sql).
Wichtig
Wenn Sie die Bereitstellungsaktion nicht ändern, wird nur das Bereitstellungsskript generiert. In der Zieldatenbank werden keine Daten bereitgestellt.
Klicken Sie im Menü Erstellen auf AdvWorksSandbox bereitstellen.
Daraufhin wird ein Buildskript für das Datenbankprojekt generiert und auf dem Datenbankserver bereitgestellt, auf dem die isolierte Entwicklungsumgebung gehostet wird. Wenn die Bereitstellung abgeschlossen ist, wird die Meldung Die Bereitstellung war erfolgreich im Ausgabefenster angezeigt.
Sie haben ein Datenbankprojekt definiert und das Schema aus einer Produktionsdatenbank importiert. Jetzt können Sie die Projektmappe unter Versionskontrolle stellen, um sie für Ihr Team verfügbar zu machen.
Verfügbarmachen des Projekts für das Team
So stellen Sie das Projekt unter Versionskontrolle
Klicken Sie im Projektmappen-Explorer auf den Knoten AdvWorksSandbox.
Zeigen Sie im Menü Datei auf Quellcodeverwaltung, und klicken Sie auf Projektmappe zur Quellcodeverwaltung hinzufügen.
An diesem Punkt findet eine Interaktion mit der installierten Software zur Versionskontrolle statt. Diese exemplarische Vorgehensweise veranschaulicht die erforderlichen Schritte zum Hinzufügen des Projekts zu Team Foundation Server. Wenn Sie eine andere Software zur Versionskontrolle verwenden möchten, ersetzen Sie die entsprechenden Schritte. Wenn Sie Team Foundation Server verwenden, wird das Dialogfeld Mit Team Foundation Server verbinden angezeigt.
Klicken Sie im Dialogfeld Mit Team Foundation Server verbinden auf den Server, auf dem sich das Teamprojekt befindet, dem Sie die Projektmappe hinzufügen möchten.
Tipp
Weitere Informationen für den Fall, dass Sie über kein Teamprojekt verfügen, dem Sie das Datenbankprojekt hinzufügen können, erhalten Sie unter Planen und Nachverfolgen von Projekten.
Klicken Sie unter Teamprojekte auf das Teamprojekt, dem Sie das Datenbankprojekt hinzufügen möchten, und klicken Sie anschließend auf OK.
Das Dialogfeld Der Quellcodeverwaltung Projektmappe AdvWorksSandbox hinzufügen wird angezeigt.
Klicken Sie auf OK, um die Standardwerte zu übernehmen.
Das Datenbankprojekt sowie die darin enthaltenen Dateien werden unter Versionskontrolle gestellt. Sie sind zu Beginn noch ausgecheckt. Damit die anderen Teammitglieder darauf zugreifen können, müssen Sie sie einchecken.
Zeigen Sie im Menü Ansicht auf Weitere Fenster, und klicken Sie auf Ausstehende Änderungen.
Das Fenster Ausstehende Änderungen wird angezeigt.
Geben Sie im Feld Kommentar Ursprünglich erstelltes Datenbankprojekt, Schemaimport und Datengenerierung ein.
Klicken Sie im Fenster Ausstehende Änderungen auf der Symbolleiste auf Einchecken.
Das Dialogfeld Eincheckstatus wird angezeigt, während das Datenbankprojekt und die darin enthaltenen Dateien eingecheckt sind. Die Symbole im Projektmappen-Explorer werden aktualisiert, um anzuzeigen, dass die Dateien in die Versionskontrolle eingecheckt wurden.
Nächste Schritte
Nachdem das Datenbankprojekt eingecheckt und unter Versionskontrolle gestellt wurde, müssen als Nächstes einige Qualitätssicherungsmaßnahmen getroffen werden, bevor das Team beginnt, Änderungen vorzunehmen. In der nächsten exemplarischen Vorgehensweise (Exemplarische Vorgehensweise: Einrichten eines Basisplans für die isolierte Entwicklungsumgebung) erstellen Sie Komponententests, stellen diese bereit und führen sie in der isolierten Entwicklungsumgebung aus.
Siehe auch
Aufgaben
Gewusst wie: Erstellen von Datenbank- und Serverprojekten
Konzepte
Beginnen der Datenbankentwicklung im Team
Übersicht über das Erstellen und Bereitstellen einer Datenbank
Übersicht über Datenbankprojekteinstellungen
Änderungsprotokoll
Datum |
Versionsgeschichte |
Grund |
---|---|---|
Unterstützung für SQL Server 2008 R2 und AdventureWorks2008R2 hinzugefügt. |
SP1-Funktionsänderung. |