如何:从命令提示符处导入架构

更新:2010 年 7 月

通过在命令提示符处使用 VSDBCMD 工具,可以将对象和设置从数据库或服务器导入到 .dbschema 文件中。 有关更多信息,请参见开始对引用其他数据库的数据库进行团队开发。 如果使用 Visual Studio 高级专业版的计算机没有对您要从中导入对象和设置的数据库或服务器的网络访问权限,则您可能需要使用此工具。 若要使用此工具,您必须通过网络复制此工具及以下文件,或者将它们复制到通用串行总线 (USB) 驱动器上:

  • 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,当您安装以下任何软件时将安装该文件:

可以在命令提示符处指定其他参数。 有关更多信息,请参见 有关 VSDBCMD.EXE 的命令行参考(部署和架构导入)

重要说明重要事项

无法使用 VSDBCMD 将对象和设置导入到数据层应用程序组件 (DAC) 项目中。 必须从 Visual Studio 内部使用“导入 DAC”或“导入脚本”命令。 有关更多信息,请参见如何:从脚本导入数据库对象以及 Microsoft 网站上的以下页面。

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(独立安装程序))。

将支持文件复制到 USB 驱动器

  1. 导航至 Program Files\Microsoft Visual Studio 10.0\VSTSDB\Deploy 文件夹,并将其中的内容复制到 USB 驱动器上。

  2. 导航至 Program Files\Microsoft SQL Server Compact Edition\v3.5 文件夹,并将本主题前面列出的 DLL 复制到 USB 驱动器上。

    接下来,您将使用这些文件来导入数据库或服务器的对象和设置。

使用 VSDBCMD 导入数据库对象和设置

  • 打开命令提示符窗口,键入以下命令行。

    VSDBCMD /a:Import /cs:" ConnectionString" /dsp:Sql /model:DatabaseName.dbschema
    

    对于 DatabaseName,指定要赋予 .dbschema 文件的名称。

    对于 ConnectionString,指定用于连接到目标数据库的连接字符串(包括数据库名称)。 例如,若要导入 AdventureWorks2008 数据库,您可以指定 /cs:"Data Source=MyServer/SQL2K8;Integrated Security=True;Pooling=False;Initial Catalog=AdventureWorks2008"。

使用 VSDBCMD 导入服务器对象和设置

  • 打开命令提示符窗口,键入以下命令行:

    VSDBCMD /a:Import /cs:" ConnectionString" /dsp:Sql /model:ServerName.dbschema
    

    对于 ServerName,指定要赋予 .dbschema 文件的名称。

    对于 ConnectionString,指定用于连接到要从中导入的数据库的连接字符串。 将 master 指定为数据库名称。 例如,您可以指定 /cs:"Data Source=MyServer/SQL2K8;Integrated Security=True;Pooling=False;Initial Catalog=master"。

请参见

参考

有关 VSDBCMD.EXE 的命令行参考(部署和架构导入)

概念

生成数据库并将其部署到临时或生产环境中

修订记录

日期

修订记录

原因

2010 年 7 月

阐明了连接字符串要求,以处理用户反馈。

客户反馈

2010 年 12 月

添加了有关在何处获取 SQL 批处理分析器和 .NET Framework 4 组件的其他信息,以处理客户反馈。

客户反馈