【发布时间】:2013-08-27 15:23:41
【问题描述】:
有谁知道如何配置 Visual Studio 2012 数据库项目以构建部署 .sql 文件包。
我试图不必使用 .dacpac 作为我唯一的部署选项。
例如生成所有数据库模式更改的 .sql 文件。
【问题讨论】:
标签: sql-server sql-server-2008 visual-studio-2012 database-project
有谁知道如何配置 Visual Studio 2012 数据库项目以构建部署 .sql 文件包。
我试图不必使用 .dacpac 作为我唯一的部署选项。
例如生成所有数据库模式更改的 .sql 文件。
【问题讨论】:
标签: sql-server sql-server-2008 visual-studio-2012 database-project
如果您尝试自动执行此操作,则需要使用 SQLPackage 命令生成脚本。如果您想在 IDE 中执行此操作,请发布数据库并选择生成脚本而不是发布更改的选项。
我通常会先使用 msbuild 构建项目。这将生成一个 dacpac,我可以针对它运行 SQLPackage 命令。
我的批处理文件如下所示:
msbuild .\MyDB\MyDB.sqlproj /t:build /p:Configuration="Local"
sqlpackage /a:DeployReport /tsn:FTPROD /sf:.\MyDB\sql\Local\MyDB.dacpac /pr:.\MyDB\Publish\Production.publish.xml /op:.\Release\MyDB-Production.xml
sqlpackage /a:script /tsn:DBServer /sf:.\MyDB\sql\Local\MyDB.dacpac /pr:.\MyDB\Publish\Production.publish.xml /op:.\Release\MyDB-Production.sql
第一行构建项目。第二个创建部署报告,以便我可以轻松查看将要更改的内容。最后生成脚本。您的路径可能会有所不同,因此您需要根据您的环境进行调整。您需要能够访问运行脚本的数据库才能生成脚本。
【讨论】: