我有一个 VS 2012 解决方案,其中包括 SSDT 项目 (sqlproj) 和 MVC Web 应用程序。我已经设置了许多用于部署 Web 应用程序的配置文件,现在想使用 dbdacfx(或其他东西?)来部署 SSDT 项目生成的 dacpac。我已经测试了 dacpac 本身,它工作完美。然而,弄清楚如何将两者整合起来却是难以捉摸的。我见过的使用 Web 部署部署增量数据库更改的每个示例似乎都需要一个数据库实例 - 如何让它使用现有的 dacpac?
希望我问的是正确的问题:)
谢谢!
最佳答案
假设您已经有了要部署的 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
关于msbuild - 通过 Web 部署来部署 SSDT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19011869/