Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2008 是否有用于部署SQL Server数据库项目的命令行?_Sql Server 2008_Visual Studio 2010 - Fatal编程技术网

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

Sql server 2008 是否有用于部署SQL Server数据库项目的命令行?,sql-server-2008,visual-studio-2010,Sql Server 2008,Visual Studio 2010,我们在VisualStudio2010中使用SQL Server数据库项目模板。作为集成测试的一部分,我想首先启动数据库的新部署。但是,除了手动右键单击项目并选择“Deploy”之外,获取部署的数据库的新副本似乎不是一件简单的事情 此项目类型的文档似乎很少,甚至不存在。也许我找错地方了。如果可能的话,请附上操作指南 更新: 我们的集成测试是在Visual Studio中作为单元测试编写的。因此,我们的目标是按下“运行测试”按钮,部署数据库,然后运行针对它的测试。对于新数据库实例(不是对数据库的增

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

此项目类型的文档似乎很少,甚至不存在。也许我找错地方了。如果可能的话,请附上操作指南

更新:


我们的集成测试是在Visual Studio中作为单元测试编写的。因此,我们的目标是按下“运行测试”按钮,部署数据库,然后运行针对它的测试。

对于新数据库实例(不是对数据库的增量更新),MSDeploy应该可以做到这一点。这是我在这个主题上找到的一个快速帖子。我自己还没有做过,但一位同事说它在他的环境中起作用。

我设法找到了一个命令行工具来做这件事。它名为VSDBCMD.EXE,是Visual Studio 2010附带的。我首先了解了它,然后遵循了一个命令行工具

在第二篇文章中,如果您在64位计算机上,那么在Program Files(程序文件)下找不到VSTSDB目录……您需要在Program Files(x86)下查找

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

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


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

根据这篇MSDN文章,您应该能够使用MSBuild实现这一点:

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

我正在Powershell中运行此功能:

&"C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\MSBuild\Current\Bin\MSBuild.exe" /t:Build,Publish /p:SqlPublishProfilePath="C:\Path-To-Project\My-Local-Database.xml" "D:\Path-To-Project\My.Database.sqlproj"
  • MSBuild不在路径中,因此我添加了完整路径
  • 我没有使用;来分隔目标,而是使用逗号,因为这不会破坏Powershell
  • 我正在使用Publish发布到本地数据库,设置在XML文件中,该文件是从VisualStudio的发布屏幕保存的
  • 默认目标是Build,当您指定Publish时,它不会运行默认目标,因此您必须同时指定Build和Publish
  • 如果在开始时删除“&”,也应该在命令窗口中工作