如何:准备数据库以使用 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(独立安装程序))。
复制所需的文件
导航至 Program Files\Microsoft Visual Studio 10.0\VSTSDB\Deploy 文件夹,并复制该文件夹和其子文件夹中的内容。
提示
Extensions 子文件夹包含 DatabaseSchemaProviders.Extensions.xml,如果没有它,部署将失败。
导航至 Program Files\Microsoft SQL Server Compact Edition\v3.5 文件夹,并复制 DLL。
导航至下面的某个文件夹,将项目驱动器、项目文件夹、解决方案名称 和项目名称 替换为开发环境的对应值:
项目驱动器:\项目文件夹\解决方案名称\项目名称\sql\debug
项目驱动器:\项目文件夹\解决方案名称\项目名称\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 的列表 |
客户反馈 |