使用Web部署部署SSDT

时间:2013-09-25 17:52:12

标签: msbuild msdeploy sql-server-data-tools sqlproj

我有一个VS 2012解决方案,包括SSDT项目(sqlproj)和MVC Web应用程序。我已经为部署Web应用程序设置了许多配置文件,现在想使用dbdacfx(或其他东西?)来部署SSDT项目生成的dacpac。我已经测试了dacpac本身,它完美无瑕。然而,弄清楚如何整合这两者是难以理解的。我见过的每个使用Web部署进行增量数据库更改的示例似乎都需要一个数据库实例 - 如何让它使用我现有的dacpac呢?

希望我提出正确的问题:)

谢谢!

1 个答案:

答案 0 :(得分:1)

假设您已经有一个要部署的dacpac文件,可以使用SQLPackage.exe来部署它。使用PowerShell:

& "C:\Program Files (x86)\Microsoft SQL Server\110\DAC\bin\SqlPackage.exe" /sf:"MyProject.Database.dacpac" /a:publish /TargetConnectionString:$DBConnectionString /p:VerifyDeployment=true /p:CreateNewDatabase=$CreateNewDatabase | Out-Default

这假设脚本与您的dacpac文件并行,并定义了以下变量:

  • $ DBConnectionString - 数据库连接字符串。
  • $ CreateNewDatabase - 是否创建新数据库(如果不存在)。

您可以传递更多选项: http://msdn.microsoft.com/en-us/library/hh550080%28v=vs.103%29.aspx