Freigeben über


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

  1. 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.

  2. 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

  1. Öffnen Sie ein Eingabeaufforderungsfenster.

  2. Wechseln Sie zum Projektverzeichnis.

  3. 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 forZieldatenbankname : 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

  1. 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 scriptProjektlaufwerk:\Documents and Settings\Benutzername\My Documents\Visual Studio 2005\Projects\Projektmappenname\Datenbankprojekt\sql\Datenbankprojekt.Zielservername_Zielinstanzname.Zieldatenbankname.sql to server Zielservername\Zielinstanzname

    file:///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

  1. Öffnen Sie das Datenbankprojekt in Visual Studio Team Edition for Database Professionals.

  2. Klicken Sie im Menü Erstellen auf die Option Konfigurations-Manager.

    Das Dialogfeld Konfigurations-Manager wird geöffnet.

  3. Klicken Sie in Konfiguration der aktuellen Projektmappe auf <Neu>.

    Das Dialogfeld Neue Projektmappenkonfiguration wird angezeigt.

  4. Geben Sie im Feld Name einen Namen für die erste Serverkonfiguration ein.

  5. Wenn in der Standardkonfiguration bereits Projekteigenschaften konfiguriert waren, klicken Sie in der Liste Einstellungen kopieren von auf Standard.

  6. Klicken Sie auf OK.

  7. Klicken Sie im Listenfeld Konfiguration der aktuellen Projektmappe auf <Neu>.

    Das Dialogfeld Neue Projektmappenkonfiguration wird angezeigt.

  8. Geben Sie im Feld Name einen Namen für die zweite Serverkonfiguration ein.

  9. Wenn in der Standardkonfiguration bereits Projekteigenschaften konfiguriert waren, klicken Sie in der Liste Einstellungen kopieren von auf Standard.

  10. Klicken Sie auf Schließen.

  11. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Datenbankprojekt, und klicken Sie auf Eigenschaften.

  12. Klicken Sie auf die Registerkarte Erstellen.

  13. Klicken Sie in Konfiguration auf den Namen der ersten Serverkonfiguration.

  14. Ändern Sie die Zielverbindung und den Datenbanknamen, sodass sie mit der ersten Serverkonfiguration übereinstimmen.

  15. Klicken Sie in Konfiguration auf den Namen der zweiten Serverkonfiguration.

  16. Ändern Sie die Zielverbindung und den Datenbanknamen, sodass sie mit der zweiten Serverkonfiguration übereinstimmen.

  17. 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

Weitere Ressourcen

Exemplarische Vorgehensweisen (Erstellen und Aktualisieren von der Versionskontrolle unterliegenden Datenbankschemas)