如何:准备数据库以使用 VSDBCMD.EXE 从命令提示符处进行部署

更新:2010 年 7 月

可以在运行 SQL Server 的任何计算机上从命令提示符处部署数据库项目。 但是,您首先必须将数据库项目的生成输出、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 网站上的 Deploying Data-tier Application Packages(部署数据层应用程序包)。

64 位操作系统的特殊要求

如果您要在具有 64 位操作系统的计算机上使用 VSDBCMD.EXE 进行部署,则必须同时安装本主题前面所列出的 SQL CE 程序集的 32 位和 64 位版本。 若要安装所需的文件,请参见 Microsoft 网站上的以下页面:Download details: Microsoft SQL Server Compact 3.5 Service Pack 2 for Windows Desktop(下载详细信息:适用于 Windows 桌面的 Microsoft SQL Server Compact 3.5 Service Pack 2)。

提示

您不必从您的生产服务器上进行部署。 您可以使用能连接到目标服务器和数据库的任意计算机,如临时计算机。

BadImageFormatException

如果在运行 VSDBCMD.EXE 时发生 BadImageFormatException,若您安装了 Microsoft .NET Framework 4,则可解决此问题。 有关更多信息,请参见 Microsoft 网站上的以下页面:Download details: Microsoft .NET Framework 4 (Standalone Installer)(下载详细信息: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. 导航至下面的某个文件夹,将项目驱动器、项目文件夹、解决方案名称 和项目名称 替换为开发环境的对应值:

    • 项目驱动器:\项目文件夹\解决方案名称\项目名称\sql\debug

    • 项目驱动器:\项目文件夹\解决方案名称\项目名称\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 的列表

客户反馈