代码之家  ›  专栏  ›  技术社区  ›  Ralph Shillington

是否有用于部署SQL Server数据库项目的命令行?

  •  7
  • Ralph Shillington  · 技术社区  · 14 年前

    我们正在使用 SQL Server数据库 带有VisualStudio2010的项目模板。作为集成测试的一部分,我想首先启动一个新的数据库部署。但是,除了手动右键单击项目并选择“Deploy”之外,获取新的数据库部署副本似乎不是一件简单的事情。

    此项目类型的文档似乎稀疏到不存在。也许我找错地方了。如有可能,请提供操作指南。

    更新:

    我们的集成测试在Visual Studio中编写为单元测试。所以我们的目标是 运行测试 按钮,并部署数据库,然后运行针对它的测试。

    3 回复  |  直到 6 年前
        1
  •  5
  •   Keith Sparkjoy - Pluralsight    14 年前

    我设法找到了一个命令行工具来完成这项工作。它名为vsdbcmd.exe,随Visual Studio 2010一起提供。我第一次了解它 here (scroll to the bottom of the article) ,然后我跟着 link and found the details of how to get it installed on my server .

    在第二篇文章中,如果您在64位机器上,您将无法在程序文件下找到vstsdb目录…您需要查看程序文件(x86)下的内容。

    我按照说明操作(安装了32位和64位版本的SQLCE),它工作得很好。我基本上从我的SQLServer2008数据库项目中获取一个构建的输出,将其压缩并放到服务器上,然后运行部署脚本。

    我第一次这样做时,目标数据库不存在。这个工具创建了数据库并很好地设置了它。然后我尝试在我的项目中将列添加到表中。我重新构建了这个项目,获取了输出并像以前一样进行了部署,它正确地修改了现有的表,就像右键单击并选择Deploy所做的那样。

    到目前为止似乎工作得很好。希望这有帮助!

        2
  •  5
  •   David    14 年前

    对于一个新的数据库实例(不是对数据库的增量更新),msdeploy应该做到这一点。 Here's 我在这个问题上找到的一篇短文。实际上我自己还没做过,但一个同事说这是在他的环境中工作的。

        3
  •  0
  •   Art    10 年前

    根据这个msdn文章 How to: Deploy Changes to New or Existing Databases ,您应该能够使用msbuild:

    MSBuild /t:Build;Deploy c:\path-to-my-project\DatabaseProject.dbproj