HOW TO:使用 VSDBCMD.EXE 從命令提示字元準備資料庫進行部署
更新:2010 年 7 月
在任何執行 SQL Server 的電腦上,您可以從命令提示字元部署「資料庫專案」(Database Project)。 但是,您必須先將資料庫專案 (VSDBCMD 公用程式) 與下列檔案的建置輸出,複製到您要從中部署專案的電腦:
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
重要事項 |
---|
若要在您尚未安裝 Visual Studio 的電腦上使用 VSDBCMD.EXE,就必須安裝符合 SQL Server 版本的 Microsoft.SqlServer.BatchParser.dll 版本。 若為 SQL Server 2008,當您安裝下列任何軟體時,就會一併安裝該檔案:
|
您可以透過網路連接來複製這些檔案,或是將這些檔案複製到通用序列匯流排 (USB) 磁碟機,然後將該磁碟機連接到您要從中部署專案的電腦。 如需您在其中遵循此程序的環境詳細資訊,請參閱建置和部署資料庫到開發用或實際執行環境。
您可以提供其他命令列引數以自訂部署作業。 如需詳細資訊,請參閱 VSDBCMD.EXE 的命令列參考 (部署和結構描述匯入)。
重要事項 |
---|
您無法使用 VSDBCMD 來部署資料層應用程式元件專案。 如需如何部署資料層應用程式元件的詳細資訊,請參閱 Microsoft 網站上的部署資料層應用程式套件 (英文)。 |
64 位元作業系統的特殊需求
如果您想要在具有 64 位元作業系統的電腦上使用 VSDBCMD.EXE 來部署,就必須同時安裝本主題後面所列之 SQL CE 組件的 32 位元和 64 位元版本。 若要安裝必要的檔案,請參閱下列 Microsoft 網站的網頁:下載詳細資料:Microsoft SQL Server Compact 3.5 Service Pack 2 for Windows Desktop。
注意事項 |
---|
您不需要從實際執行伺服器部署。 您可以使用可連接至目標伺服器和資料庫的任何電腦,例如開發用電腦。 |
BadImageFormatException
如果您在執行 VSDBCMD.EXE 時發生 BadImageFormatException,而且您安裝了 Microsoft .NET Framework 4,就可以解決此問題。 如需詳細資訊,請參閱下列 Microsoft 網站的網頁:下載詳細資料:Microsoft .NET Framework 4 (獨立安裝程式)。
若要複製必要的檔案
巡覽至 Program Files\Microsoft Visual Studio 10.0\VSTSDB\Deploy 資料夾,並複製該資料夾及其子資料夾的內容。
注意事項 Extensions 子資料夾包含 DatabaseSchemaProviders.Extensions.xml,如果沒有這個檔案,部署將會失敗。
巡覽至 Program Files\Microsoft SQL Server Compact Edition\v3.5 資料夾,並複製 DLL 檔。
巡覽至下列任何一個資料夾,並使用適合您的開發環境的值來取代 ProjectDrive、ProjectsFolder、SolutionName 和 ProjectName:
ProjectDrive:\ProjectsFolder\SolutionName\ProjectName\sql\debug
ProjectDrive:\ProjectsFolder\SolutionName\ProjectName\sql\release
複製資料夾的內容。
注意事項 您應該將建置輸出複製到子資料夾,以便將特定資料庫部署的檔案與所有部署的檔案分開。
接著,產生專案的部署指令碼。
若要從命令提示字元產生部署指令碼
開啟 [命令提示字元] 視窗,然後輸入下列命令列。
VSDBCMD /dd:- /a:Deploy /manifest:manifestFileName.dbmanifest
/dd:- 選項可確保會產生指令碼,但不會執行部署。 部署資訊清單會提供其餘設定,幫您省去用命令列指定的麻煩。
若要從命令提示字元部署資料庫專案
開啟 [命令提示字元] 視窗,然後輸入下列命令列。
VSDBCMD /a:Deploy /dd:+ /manifest:manifestFileName.dbmanifest
部署資訊清單會提供其餘設定,例如目標資料庫名稱、連接字串等等,幫您省去用命令列指定的麻煩。
請參閱
參考
VSDBCMD.EXE 的命令列參考 (部署和結構描述匯入)
概念
變更記錄
日期 |
記錄 |
原因 |
---|---|---|
2010 年 7 月 |
明確表示您不僅必須複製 Deploy 資料夾的內容,還要複製其子資料夾。 |
客戶回函。 |
2010 年 10 月 |
為了處理客戶回函,加入了有關 64 位元平台之特殊需求的注意事項。 |
客戶回函。 |
2010 年 12 月 |
已加入包含 Microsoft.SQLServer.BatchParser 組件之封裝的安裝位置。 |
客戶回函。 |
2011 年 4 月 |
在必要 DLL 清單中加入遺漏的組件 |
客戶回函。 |