Gewusst wie: Vorbereiten einer Datenbank für die Bereitstellung über eine Eingabeaufforderung mithilfe von VSDBCMD.EXE
Datenbankprojekte können Sie auf jedem Computer mit SQL Server an einer Eingabeaufforderung bereitstellen. Zuerst müssen Sie jedoch die Buildausgabe des Datenbankprojekts, des Hilfsprogramms VSDBCMD und der folgenden Dateien auf den Computer kopieren, auf dem Sie das Projekt bereitstellen möchten:
DatabaseSchemaProviders.Extensions.xml
Microsoft.Data.Schema.dll
Microsoft.Data.Schema.ScriptDom.dll
Microsoft.Data.Schema.ScriptDom.Sql.dll
Microsoft.Data.Schema.Sql.dll
Microsoft.Data.Schema.Utilities.dll
Microsoft.SqlServer.BatchParser.dll
Sqlceer35en.dll
Sqlceme35.dll
Sqlceqp35.dll
Sqlcese35.dll
System.Data.SqlServerCe.dll
VSDBCMD.EXE
Wichtig
Um VSDBCMD.EXE auf einem Computer zu verwenden, auf dem Visual Studio nicht installiert ist, müssen Sie die Version von Microsoft.SqlServer.BatchParser.dll installieren, die der installierten Version von SQL Server entspricht. Bei SQL Server 2008 wird diese Datei während der Installation eines der folgenden Softwarepakete installiert:
-
SQL Server 2008 Management Objects. Um SQL Server Management Objects zu installieren, müssen Sie auch Microsoft SQL Server 2008 Native Client und CLR-Typen des Microsoft SQL Server 2008-Systems installieren.
-
Clienttools aus dem Setup von SQL Server 2008 Express
Diese Dateien können Sie über eine Netzwerkverbindung oder auf ein USB-Laufwerk (Universal Serial Bus) kopieren und dann eine Verbindung mit dem Computer herstellen, auf dem Sie das Projekt bereitstellen möchten. Weitere Informationen zum Kontext, in dem Sie diese Prozedur befolgen könnten, finden Sie unter Erstellen und Bereitstellen von Datenbanken für eine Staging- oder Produktionsumgebung.
Sie können zusätzliche Befehlszeilenargumente angeben, um die Bereitstellung anzupassen. Weitere Informationen finden Sie unter Befehlszeilenverweis für VSDBCMD.EXE (Bereitstellung und Schemaimport).
Wichtig
Mit VSDBCMD können Sie kein Anwendungskomponentenprojekt auf Datenebene bereitstellen. Weitere Informationen zum Bereitstellen von Anwendungskomponenten auf Datenebene finden Sie auf der Microsoft-Website unter Bereitstellen von Datenebenenanwendungspaketen.
Besondere Anforderungen für 64-Bit-Betriebssysteme
Wenn Sie VSDBCMD.EXE auf einem Computer mit einem 64-Bit-Betriebssystem bereitstellen möchten, müssen Sie sowohl die 32-Bit als auch die 64-Bit-Version der zuvor in diesem Thema beschriebenen SQL CE-Assemblys installieren. Informationen zur Installation der benötigten Dateien finden Sie auf der folgenden Seite der Microsoft-Website: Microsoft SQL Server Compact 3.5 Service Pack 2 für Windows Desktop.
Tipp
Sie müssen die Bereitstellung nicht vom Produktionsserver aus durchführen. Sie können einen beliebigen Computer verwenden, z. B. einen Stagingcomputer, von dem aus Sie eine Verbindung mit dem Zielserver und der Datenbank herstellen können.
BadImageFormatException
Wenn eine BadImageFormatException auftritt, während Sie VSDBCMD.EXE ausführen, können Sie das Problem durch die Installation von Microsoft .NET Framework 4 beheben. Weitere Informationen finden Sie auf der folgenden Seite auf der Microsoft-Website: Microsoft .NET Framework 4 (eigenständiger Installer).
So kopieren Sie die erforderlichen Dateien
Navigieren Sie zum Ordner Programme\Microsoft Visual Studio 10.0\VSTSDB\Deploy, und kopieren Sie den Inhalt des Ordners und der Unterordner.
Tipp
Der Unterordner Extensions enthält die Datei DatabaseSchemaProviders.Extensions.xml, ohne die die Bereitstellung fehlschlägt.
Navigieren Sie zum Ordner Programme\Microsoft SQL Server Compact Edition\v3.5, und kopieren Sie die DLLs.
Navigieren Sie zu einem der folgenden Ordner, und ersetzen Sie Projektlaufwerk, Projektordner, Projektmappenname und Projektname durch die entsprechenden Werte für Ihre Entwicklungsumgebung:
Projektlaufwerk:\Projektordner\Projektmappenname\Projektname\sql\debug
Projektlaufwerk:\Projektordner\Projektmappenname\Projektname\sql\release
Kopieren Sie den Inhalt des Ordners.
Tipp
Sie sollten die Buildausgabe in einen Unterordner kopieren, sodass Sie die Dateien für eine bestimmte Datenbankbereitstellung getrennt von den Dateien für alle Bereitstellungen speichern.
Anschließend generieren Sie ein Bereitstellungsskript für das Projekt.
So generieren Sie ein Bereitstellungsskript an einer Eingabeaufforderung
Öffnen Sie ein Eingabeaufforderungsfenster, und geben Sie die folgende Befehlszeile ein.
VSDBCMD /dd:- /a:Deploy /manifest:manifestFileName.dbmanifest
Die Option /dd:- stellt sicher, dass ein Skript generiert wird, jedoch keine Bereitstellung auftritt. Die übrigen Einstellungen werden vom Bereitstellungsmanifest bereitgestellt. Sie können diese auch in der Befehlszeile angeben.
So stellen Sie ein Datenbankprojekt an einer Eingabeaufforderung bereit
Öffnen Sie ein Eingabeaufforderungsfenster, und geben Sie die folgende Befehlszeile ein.
VSDBCMD /a:Deploy /dd:+ /manifest:manifestFileName.dbmanifest
Das Bereitstellungsmanifest stellt die übrigen Einstellungen (z. B. Zieldatenbankname, Verbindungszeichenfolge usw.) bereit. Diese können auch in der Befehlszeile angegeben werden.
Siehe auch
Referenz
Befehlszeilenverweis für VSDBCMD.EXE (Bereitstellung und Schemaimport)
Konzepte
Erstellen und Bereitstellen von Datenbanken für eine Staging- oder Produktionsumgebung
Übersicht über Datenbankprojekteinstellungen
Änderungsprotokoll
Datum |
Versionsgeschichte |
Grund |
---|---|---|
Juli 2010 |
Erläutert, dass nicht nur der Inhalt des Bereitstellungsordners, sondern auch die Unterordner kopiert werden müssen. |
Kundenfeedback. |
Oktober 2010 |
Gemäß Kundenfeedback Hinweise zu besonderen Anforderungen auf 64-Bit-Plattformen hinzugefügt. |
Kundenfeedback. |
Dezember 2010 |
Installationsverzeichnisse für Pakete hinzugefügt, die die Microsoft.SQLServer.BatchParser-Assembly enthalten. |
Kundenfeedback. |
April 2011 |
Fehlende Assembly zur Liste erforderlicher DLLs hinzugefügt |
Kundenfeedback. |