Exemplarische Vorgehensweise: Ausführen von iterativer Datenbankentwicklung in einer isolierten Umgebung
Aktualisiert: November 2007
In Exemplarische Vorgehensweise: Erstellen einer isolierten Umgebung für die Datenbankentwicklung haben Sie als Datenbankadministrator ein Datenbankprojekt erstellt und das Schema sowie die Datenbankobjektdefinitionen von einem Produktionsserver importiert. In der zweiten exemplarischen Vorgehensweise haben Sie Datenbankkomponententests erstellt, um vorhandene Funktionen zu überprüfen und eine neue Baseline festzulegen. In dieser exemplarischen Vorgehensweise, der dritten und letzten dieser Serie, führen Sie eine typische iterative Entwicklungsaufgabe aus: das Umbenennen von zwei Datenbankspalten. Diese Änderungen nehmen Sie in einer isolierten Entwicklungsumgebung vor, um das Risiko für das restliche Team zu minimieren, bis die Änderungen freigegeben werden können.
Zu den Aufgaben in dieser exemplarischen Vorgehensweise gehören:
Verwenden der Datenbankumgestaltung, um Spalten umzubenennen und die Zeit für das Aktualisieren aller Verweise auf die Spalten sowie das Fehlerrisiko zu reduzieren.
Ausführen von Datenbankkomponententests, um sicherzustellen, dass die Änderungen keine vorhandenen Funktionen beeinträchtigt haben.
Einchecken der Änderungen in die Versionskontrolle, um sie für das restliche Team verfügbar zu machen.
Vorbereitungsmaßnahmen
Sie müssen Visual Studio Team System Database Edition installiert haben und über Zugriff auf die Beispieldatenbank AdventureWorks für Microsoft SQL Server 2005 verfügen. Außerdem wird in dieser exemplarischen Vorgehensweise davon ausgegangen, dass Sie Exemplarische Vorgehensweise: Erstellen einer isolierten Umgebung für die Datenbankentwicklung und Exemplarische Vorgehensweise: Einrichten eines Basisplans für die isolierte Entwicklungsumgebung ausgeführt haben.
Umbenennen von Datenbankspalten
Eine typische Entwicklungsaufgabe umfasst das Umbenennen von Datenbankobjekten. In dieser exemplarischen Vorgehensweise benennen Sie die Spalte EmployeeID in der Tabelle [HumanResources].[Employee] in EmployeeNumber um. Auf die Spalte EmployeeID wird in mehreren Fremdschlüsseln und gespeicherten Prozeduren verwiesen. Um die Änderung manuell vorzunehmen, müssen Sie mehrere Dateien ändern. Bevor Sie Änderungen vornehmen, sollten Sie überprüfen, ob es sich bei dem Datenbankprojekt um die neueste Version handelt.
So rufen Sie die neueste Version des Datenbankprojekts ab
Erweitern Sie im Team Explorer den Teamprojektknoten, der das Datenbankprojekt enthält.
Öffnen Sie den Quellcodeverwaltungs-Explorer, indem Sie auf den Quellcodeverwaltungsknoten doppelklicken.
Klicken Sie im Quellcodeverwaltungs-Explorer mit der rechten Maustaste auf das Datenbankprojekt, und klicken Sie dann auf Letzte Version abrufen.
Die neueste Version der Projektmappe, die das Datenbankprojekt enthält, wird vom Computer abgerufen.
So benennen Sie EmployeeID in EmployeeNumber um
Wenn die Projektmappe AdvWorksSandbox im Projektmappen-Explorer geöffnet ist, fahren Sie mit Schritt 4 fort.
Zeigen Sie im Menü Datei auf Öffnen, und klicken Sie auf Projekt/Projektmappe.
Das Dialogfeld Projekt öffnen wird angezeigt.
Klicken Sie auf die Projektmappe AdvWorksSandbox und dann auf Öffnen. (Standardmäßig befindet sich diese Projektmappe unter Eigene Dateien\Visual Studio 2005\Projects\AdvWorksSandbox.)
Die Projektmappe AdvWorksSandbox wird im Projektmappen-Explorer geöffnet.
Öffnen Sie das Menü Ansicht, und klicken Sie auf Schemaansicht.
Erweitern Sie in der Schemaansicht den Knoten AdvWorksSandbox, und erweitern Sie dann den Ordner Tabellen.
Erweitern Sie im Ordner Tabellen die Tabelle HumanResources.Employee, und erweitern Sie dann den Ordner Spalten.
Klicken Sie mit der rechten Maustaste auf den Ordner EmployeeID, zeigen Sie auf Umgestalten, und klicken Sie auf Umbenennen.
Im Dialogfeld Umbenennen wird der vorhandene Spaltenname angezeigt.
Geben Sie unter Neuer Name den Namen EmployeeNumber ein.
Wenn das Kontrollkästchen Vorschau der Änderungen anzeigen nicht aktiviert ist, aktivieren Sie es, und klicken Sie auf OK.
Im Dialogfeld Vorschau der Änderungen – Umbenennen werden alle Elemente im Projekt angezeigt, die auf die Spalte verweisen, die Sie umbenennen.
Klicken Sie auf eine der Änderungen.
Die Details der Änderung werden in Vorschau der Änderungen anzeigen angezeigt.
Nachdem Sie die Änderungen überprüft haben, klicken Sie auf Übernehmen, um die Änderungen zu übernehmen.
Alle geänderten Dateien werden aus der Versionskontrolle ausgecheckt.
Die ausstehenden Änderungen werden im Fenster Ausstehende Änderungen angezeigt. Die folgenden Dateien sollten im Fenster Ausstehende Änderungen angezeigt werden:
AWGenPlan.dgen
Employee.table.sql
Employee.PK_Employee_EmployeeID.sql
vSalesPerson.view.sql
uspGetManagerEmployees.proc.sql
vEmployee.view.sql
vEmployeeDepartmentHistory.view.sql
uspUpdateEmployeePersonalInfo.proc.sql
uspUpdateEmployeeHireInfo.proc.sql
uspUpdateEmployeeLogin.proc.sql
PurchaseOrderHeader.FK_PurchaseOrderHeader_Employee_EmployeeID.fkey.sql
Employee.FK_Employee_Employee_ManagerID.fkey.sql
EmployeePayHistory.FK_EmployeePayHistory_Employee_EmployeeID.fkey.sql
EmployeeDepartmentHistory.FK_EmploymentDepartmentHistory_Employee_EmployeeID.fkey.sql
JobCandidate.FK_JobCandidate_Employee_EmployeeID.fkey.sql
EmployeeAddress.FK_EmployeeAddress_Employee_EmployeeID.fkey.sql
SalesPerson.FK_SalesPerson_Employee_EmployeeID.fkey.sql
Employee.uEmployee.trigger.sql
Ausführen von Datenbankkomponententests
Nachdem Sie Änderungen vorgenommen und bevor Sie diese in die Versionskontrolle eingecheckt haben, sollten Sie die Datenbankkomponententests ausführen, um vor der Freigabe dieser Änderungen an das Team sicherzustellen, dass die Anwendung weiterhin ordnungsgemäß funktioniert.
So führen Sie Datenbankkomponententests zum Identifizieren potenzieller Probleme aus
Zeigen Sie im Menü Test auf Fenster, und klicken Sie dann auf Testansicht.
Im Fenster Testansicht werden mehrere Tests aufgelistet. Standardmäßig werden die Tests ManualTest1 und TestMethod1 erstellt. Die Tests mit den Namen dbo_uspGetManagerEmployeesTest und dbo_ufpLeadingZeroTest haben Sie in der vorherigen exemplarischen Vorgehensweise erstellt.
Aktivieren Sie die Kontrollkästchen für dbo_uspGetManagerEmployeesTest und für dbo_ufpLeadingZeroTest, klicken Sie mit der rechten Maustaste auf einen Test, und klicken Sie auf Auswahl ausführen.
Im Fenster Testergebnisse werden die Ergebnisse angezeigt.
Das Datenbankprojekt wird in der isolierten Entwicklungsumgebung bereitgestellt, die Testdaten werden generiert und die Tests werden erfolgreich ausgeführt.
Vergleichen des Datenbankprojekts mit der Produktionsdatenbank
Sie können die Schemas des aktualisierten Datenbankprojekts und der Produktionsdatenbank vergleichen, um die Unterschiede zu ermitteln. Da Sie die Schemas lediglich vergleichen und nicht aktualisieren, können Sie eines der Schemas als Quelle oder Ziel des Vergleichs angeben.
So vergleichen Sie das Datenbankprojektschema mit der Produktionsdatenbank
Zeigen Sie im Menü Daten auf Schemavergleich, und klicken Sie auf Neuer Schemavergleich.
Das Dialogfeld Neuer Schemavergleich wird angezeigt.
Übernehmen Sie die Standardwerte für das Quellschema.
Das Datenbankprojekt AdvWorksSandbox ist angegeben.
Klicken Sie unter Zielschema in der Liste Database auf die Verbindung mit der AdventureWorks-Datenbank, aus der Sie das Datenbankschema ursprünglich importiert haben, und klicken Sie dann auf OK.
Die Schemas werden verglichen. Die einzigen Unterschiede sollten die Änderungen sein, die Sie im Rahmen dieser exemplarischen Vorgehensweise vorgenommen haben.
Überprüfen Sie die Unterschiede zwischen den Schemas. Schließen Sie das Fenster Schemavergleich, wenn Sie fertig sind.
Sie können die Änderungen jetzt für das Team freigeben.
Einchecken von Änderungen.
Nachdem Sie sichergestellt haben, dass alle Änderungen für die anderen Teammitglieder freigegeben werden können, checken Sie sie in die Versionskontrolle ein. Sie checken alle Änderungen in die Projektmappe ein. Dies umfasst i. d. R. das Datenbankprojekt, das Komponententestprojekt und sämtlichen zugeordneten Anwendungscode sowie Anwendungskomponententests.
So checken Sie die Änderungen ein und machen sie für das Team verfügbar
Zeigen Sie im Menü Ansicht auf Weitere Fenster, und klicken Sie auf Ausstehende Änderungen.
Das Fenster Ausstehende Änderungen wird angezeigt.
Geben Sie unter Kommentar den Kommentar Spalte EmployeeID umbenannt ein.
Klicken Sie im Fenster Ausstehende Änderungen auf der Symbolleiste auf Einchecken.
Das Dialogfeld Eincheckstatus wird angezeigt, während das Datenbankprojekt und die enthaltenen Dateien in die Versionskontrolle eingecheckt werden. Die Symbole im Projektmappen-Explorer werden aktualisiert, um anzugeben, dass die Dateien in die Versionskontrolle eingecheckt werden.
Nächste Schritte
Dieser iterative Prozess wird mehrfach für jede Version der Datenbank ausgeführt, die das Team in der Produktion bereitstellt. Jeder Entwickler nimmt isoliert Änderungen vor, testet diese, um deren Richtigkeit zu überprüfen, und gibt sie dann für das Team frei, indem die Aktualisierungen in die Versionskontrolle eingecheckt werden. Das Bereitstellen der Datenbank in der Produktion ist ein unkomplizierter Vorgang:
Eine Version der Dateien, aus denen sich das Datenbankprojekt und die Tests zusammensetzen, wird mit einer Bezeichnung markiert, um anzugeben, dass sie zu einer Version gehören, die bereitgestellt wird.
Sie rufen die bezeichneten Quellen ab und generieren ein Buildskript.
Sie überprüfen und ändern das Buildskript nach Bedarf und führen eine Testbereitstellung auf einem Stagingserver aus. Nach jeder Bereitstellung können Sie das Datenbankprojekt mit dem Schema auf dem Stagingserver vergleichen.
Wenn Sie das Buildskript durchlaufen haben und der Meinung sind, dass es für die Produktion geeignet ist, stellen Sie das geänderte Buildskript in der Produktion bereit.
Falls Sie Änderungen vornehmen müssen, die im Datenbankprojekt nicht berücksichtigt werden, können Sie diese Aktualisierungen vom aktualisierten Produktionsserver in das Datenbankprojekt importieren.
Weitere Informationen über Database Edition erhalten Sie, wenn Sie die ausführlicheren exemplarischen Vorgehensweisen für die jeweiligen Featurebereiche ausführen.
Siehe auch
Konzepte
Übersicht über die Terminologie der Database Edition