Gewusst wie: Bereitstellen von Änderungen in neuen oder vorhandenen Datenbanken
Nachdem Sie Änderungen am Datenbankprojekt vorgenommen haben, müssen Sie diese Änderungen auf dem Datenbankserver bereitstellen, indem Sie ein Buildskript ausführen. Wenn Sie das Buildskript generieren, wird das Datenbankprojektschema mit der in den Projekteigenschaften angegebenen Zieldatenbank verglichen. Falls die Zieldatenbank vorhanden ist, wird ein Aktualisierungsskript erstellt, sofern Sie nicht angeben, dass die Datenbank immer neu erstellt werden soll. Wenn die Zieldatenbank nicht vorhanden ist oder Sie angeben, dass die Datenbank immer neu erstellt werden soll, erstellt das Buildskript eine Datenbank. Wenn sich das Datenbankprojekt, dessen Eigenschaften oder der Inhalt seit der letzten Erstellung oder Bereitstellung geändert haben, generieren Sie bei der nächsten Bereitstellung des Projekts ein Buildskript, das sich auf dem neuesten Stand befindet.
Wichtig
Bevor Sie das Datenbankprojekt erstellen oder bereitstellen, müssen Sie die Projekteigenschaften festlegen, um die Zieldatenbankverbindung und den Datenbanknamen anzugeben. Wenn Sie das Datenbankprojekt mit dem Assistenten für neue Datenbankprojekte generiert haben, haben Sie die Projekteigenschaften möglicherweise bereits angegeben. Sie können die Projekteigenschaften jederzeit ändern. Weitere Informationen finden Sie unter Gewusst wie: Konfigurieren von Datenbankprojekten für das Erstellen und die Bereitstellung.
So stellen Sie das Datenbankprojekt in einer neuen oder vorhandenen Datenbank bereit
Klicken Sie im Projektmappen-Explorer auf das Datenbankprojekt, das Sie bereitstellen möchten.
Wenn Sie eine benutzerdefinierte Konfiguration erstellt haben, können Sie angeben, dass diese verwendet werden soll, indem Sie auf der Symbolleiste Standard auf den entsprechenden Namen in der Liste Projektmappenkonfigurationen klicken. Standardmäßig weist das Datenbankprojekt eine einzelne Konfiguration auf, die bereits ausgewählt ist.
Klicken Sie im Menü Erstellen auf Bereitstellen.
Das Buildskript für das Datenbankprojekt wird generiert (sofern es noch nicht vorhanden oder nicht auf dem neuesten Stand ist) und anschließend bereitgestellt. Im Ausgabefenster werden die Ergebnisse der Bereitstellung wie folgt angezeigt:
------ Build wurde gestartet: Projekt: Datenbankprojekt, Konfiguration: Default Any CPU ------
Das Bereitstellungsskript wird erstellt für Zieldatenbankname: EnableFullTextSearch, BlockIncrementalDeploymentIfDataLoss
Datenbankprojekt --> Datei:///Projektlaufwerk:/Dokumente%20und%20Einstellungen/Benutzername/Eigene%20Dateien/Visual%20Studio%202005/Projects/Projektmappenname/Datenbankprojekt/sql/Datenbankprojekt.Zielservername_Zielinstanzname.Zieldatenbankname.sql
------ Bereitstellung wurde gestartet: Projekt: Datenbankprojekt, Konfiguration: Default Any CPU ------
Das Skript Projektlaufwerk:\Dokumente und Einstellungen\Benutzername\Eigene Dateien\Visual Studio 2005\Projects\Projektmappenname\Datenbankprojekt\sql\Datenbankprojekt.Zielservername_Zielinstanzname.Zieldatenbankname.sql wird auf dem Server Zielservername\Zielinstanzname bereitgestellt.
Datei:///Projektlaufwerk:/Dokumente%20und%20Einstellungen/Benutzername/Eigene%20Dateien/Visual%20Studio%202005/Projects/Projektmappenname/Datenbankprojekt/sql/Datenbankprojekt.Zielservername_Zielinstanzname.Zieldatenbankname.sql --> Server:"Zielservername\Zielinstanzname", Datenbank:"Zieldatenbankname"
========== Build: 1 erfolgreich oder aktuell, Fehler bei 0, 0 übersprungen ==========
========== Bereitstellung: 1 erfolgreich, Fehler bei 0, 0 übersprungen==========
So stellen Sie das Datenbankprojekt in einer neuen oder vorhandenen Datenbank über die Befehlszeile bereit
Öffnen Sie ein Eingabeaufforderungsfenster.
Wechseln Sie zum Projektverzeichnis.
Geben Sie an der Eingabeaufforderung die folgende Beispielbefehlszeile ein, um ein Buildskript zu generieren (wobei Datenbankprojekt der Name des Projekts ist):
MSBuild /t:Build
Datenbankprojekt.dbproj
Hinweis
MSBuild.exe muss sich in dem Pfad befinden, den die PATH-Umgebungsvariable angibt. Außerdem müssen Sie TargetDatabase und TargetConnectionString entweder im Datenbankprojekt oder als Teil der Befehlszeile angeben. Weitere Informationen über die Befehlszeilensyntax zum Generieren von Buildskripts finden Sie unter Übersicht über das Erstellen und Bereitstellen einer Datenbank.
Es werden Ergebnisse wie die folgenden angezeigt:
Microsoft (R) Build Engine Version 2.0.50727.42
[Microsoft .NET Framework, Version 2.0.50727.42]
Copyright (C) Microsoft Corporation 2005. All rights reserved.
Build started 10/11/2006 4:32:54 PM.
__________________________________________________
Project "ProjectDrive:\Documents and Settings\
Benutzername\My Documents\Visual Studio 2005\Projects\
Projektmappenname\
Datenbankprojekt\
Datenbankprojekt.dbproj" (Build target(s)):
Target SqlBuild:
Building deployment script for
Zieldatenbankname : EnableFullTextSearch, BlockIncrementalDeploymentIfDataLoss
.
Datenbankprojekt --> file:///
Projektlaufwerk:/Documents%20and%20Settings/
Benutzername/My%20Documen
ts/Visual%20Studio%202005/Projects/
Projektmappenname/
Datenbankprojekt/sql/
Datenbankprojekt.
Zielservername_
Zielinstanzname.
Zieldatenbankname.sql
Build succeeded.
0 Warning(s)
0 Error(s)
Time Elapsed 00:00:05.01
Geben Sie an der Eingabeaufforderung die folgende Beispielbefehlszeile ein, um das Buildskript bereitzustellen, das Sie in Schritt 3 generiert haben:
MSBuild /t:Deploy
Datenbankprojekt.dbproj
Es werden Ergebnisse wie die folgenden angezeigt:
Microsoft (R) Build Engine Version 2.0.50727.42
[Microsoft .NET Framework, Version 2.0.50727.42]
Copyright (C) Microsoft Corporation 2005. All rights reserved.
Build started 10/11/2006 4:35:24 PM.
__________________________________________________
Project "ProjectDrive:\Documents and Settings\
Benutzername\My Documents\Visual Studio 2005\Projects\
Projektmappenname\
Datenbankprojekt\
Datenbankprojekt.dbproj" (Deploy target(s)):
Target SqlDeploy:
Deploying script
Projektlaufwerk:\Documents and Settings\
Benutzername\My Documents\Visual Studio 2005\Projects\
Projektmappenname\
Datenbankprojekt\sql\
Datenbankprojekt.
Zielservername_
Zielinstanzname.
Zieldatenbankname.sql to server
Zielservername\
Zielinstanznamefile:///
Projektlaufwerk:/Documents%20and%20Settings/
Benutzername/My%20Documents/Visual%20Studio%202005/Projects/
Projektmappenname/
Datenbankprojekt/sql/
Datenbankprojekt.
Zielservername_
Zielinstanzname.
Zieldatenbankname.sql --> Server:"
Zielservername\
Zielinstanzname", Database:"
Zieldatenbankname"
Build succeeded.
0 Warning(s)
0 Error(s)
Time Elapsed 00:00:02.56
Bereitstellen in mehreren Datenbanken oder auf mehreren Servern
Sie können das Schema in mehreren Datenbanken oder auf mehreren Servern bereitstellen. Wenn die Bereitstellung auf einer kleinen Anzahl von Servern oder in einer kleinen Anzahl von Datenbanken erfolgt, die sich nicht ändern (wenn Sie z. B. das Schema auf dem persönlichen Entwicklungsserver und auf einem Stagingserver bereitstellen möchten), können Sie mehrere Buildkonfigurationen erstellen. Jede Buildkonfiguration kann einen anderen Zielserver oder eine andere Zieldatenbank enthalten. Wenn die Bereitstellung auf einer größeren Anzahl von Servern erfolgen muss oder wenn die Namen des Zielservers oder der Zieldatenbank regelmäßig geändert werden, sollten Sie eine andere Vorgehensweise verwenden. Diese Vorgehensweisen werden im Folgenden beschrieben.
So erstellen Sie mehrere Buildkonfigurationen für die Bereitstellung auf mehreren Servern oder in mehreren Datenbanken
Öffnen Sie das Datenbankprojekt in Visual Studio Team Edition for Database Professionals.
Klicken Sie im Menü Erstellen auf die Option Konfigurations-Manager.
Das Dialogfeld Konfigurations-Manager wird geöffnet.
Klicken Sie in Konfiguration der aktuellen Projektmappe auf <Neu>.
Das Dialogfeld Neue Projektmappenkonfiguration wird angezeigt.
Geben Sie im Feld Name einen Namen für die erste Serverkonfiguration ein.
Wenn in der Standardkonfiguration bereits Projekteigenschaften konfiguriert waren, klicken Sie in der Liste Einstellungen kopieren von auf Standard.
Klicken Sie auf OK.
Klicken Sie im Listenfeld Konfiguration der aktuellen Projektmappe auf <Neu>.
Das Dialogfeld Neue Projektmappenkonfiguration wird angezeigt.
Geben Sie im Feld Name einen Namen für die zweite Serverkonfiguration ein.
Wenn in der Standardkonfiguration bereits Projekteigenschaften konfiguriert waren, klicken Sie in der Liste Einstellungen kopieren von auf Standard.
Klicken Sie auf Schließen.
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Datenbankprojekt, und klicken Sie auf Eigenschaften.
Klicken Sie auf die Registerkarte Erstellen.
Klicken Sie in Konfiguration auf den Namen der ersten Serverkonfiguration.
Ändern Sie die Zielverbindung und den Datenbanknamen, sodass sie mit der ersten Serverkonfiguration übereinstimmen.
Klicken Sie in Konfiguration auf den Namen der zweiten Serverkonfiguration.
Ändern Sie die Zielverbindung und den Datenbanknamen, sodass sie mit der zweiten Serverkonfiguration übereinstimmen.
Klicken Sie im Menü Datei auf Ausgewählte Elemente speichern, um die Konfigurationseinstellungen zu speichern.
Jetzt können Sie auf der Symbolleiste Standard eine Konfiguration angeben und anschließend diese Konfiguration erstellen oder bereitstellen.
So stellen Sie Datenbanken über die Befehlszeile bereit
Stellen Sie in einem Eingabeaufforderungsfenster das Buildskript bereit, indem Sie die folgende Befehlszeile eingeben (und den Buildskriptnamen, den Servernamen und den Zieldatenbanknamen durch die entsprechenden Werte ersetzen).
MSBuild /t:Deploy /p:TargetDatabase=
Zieldatenbankname/p:BuildScriptName=
Buildskript.sql
Datenbankprojektname.dbproj
Hinweis
Für die Bereitstellung auf mehreren Servern müssen Sie die Zielverbindungszeichenfolgen-Eigenschaft überschreiben, indem Sie in einem Befehlszeilenfenster Folgendes eingeben: /p:TargetConnectionString="Data Source=Servername;Integrated Security=True;Pooling=False".
Sicherheit
Sie müssen über die erforderlichen Berechtigungen zum Erstellen der Datenbank (für neue Bereitstellungen) und zum Erstellen, Ändern und Löschen der Schemaobjekte in dieser Datenbank verfügen, um das Datenbankprojekt bereitzustellen.
Siehe auch
Aufgaben
Gewusst wie: Vorbereiten von Datenbankbuildskripts
Konzepte
Übersicht über das Erstellen und Bereitstellen einer Datenbank
Übersicht über Datenbankprojekteinstellungen
Übersicht über die Terminologie von Team Edition for Database Professionals