共用方式為


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 (獨立安裝程式)

若要複製必要的檔案

  1. 巡覽至 Program Files\Microsoft Visual Studio 10.0\VSTSDB\Deploy 資料夾,並複製該資料夾及其子資料夾的內容。

    注意事項注意事項

    Extensions 子資料夾包含 DatabaseSchemaProviders.Extensions.xml,如果沒有這個檔案,部署將會失敗。

  2. 巡覽至 Program Files\Microsoft SQL Server Compact Edition\v3.5 資料夾,並複製 DLL 檔。

  3. 巡覽至下列任何一個資料夾,並使用適合您的開發環境的值來取代 ProjectDrive、ProjectsFolder、SolutionName 和 ProjectName:

    • ProjectDrive:\ProjectsFolder\SolutionName\ProjectName\sql\debug

    • ProjectDrive:\ProjectsFolder\SolutionName\ProjectName\sql\release

  4. 複製資料夾的內容。

    注意事項注意事項

    您應該將建置輸出複製到子資料夾,以便將特定資料庫部署的檔案與所有部署的檔案分開。

    接著,產生專案的部署指令碼。

若要從命令提示字元產生部署指令碼

  • 開啟 [命令提示字元] 視窗,然後輸入下列命令列。

    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 清單中加入遺漏的組件

客戶回函。