我们正在使用 Sql Server 数据库项目通过 SqlPackage.exe 从 DacPac 创建部署脚本。我们在不同的环境中设置了不同的 SQL Server 文件组。
部署时,我们排除文件组,因为我们希望在默认文件组中创建对象。在数据库项目设置中,默认文件组未从 PRIMARY 更改。
当尝试部署到默认文件组所在的环境时,这会出现问题not主要是因为包含以下代码......
ALTER DATABASE [$(DatabaseName)]
MODIFY FILEGROUP [PRIMARY] DEFAULT;
有没有办法防止在部署 SQL 中生成这种情况?
当您在 SQL Server Management Studio 中从 SSDT 生成 dacpac 文件时,您无法选择提取到 dacpac 的对象类型。
但是,当您通过命令行运行 sqlpackage.exe 时,有一个可以使用的参数。
sqlpackage.exe your_deploy_options/p:ExcludeObjectTypes=文件组
这将忽略文件组的部署。
有关完整选项,请参阅此参考:https://msdn.microsoft.com/en-us/library/hh550080(v=vs.103).aspx https://msdn.microsoft.com/en-us/library/hh550080(v=vs.103).aspx
如果您有 Visual Studio,那么您可以将数据库作为 VS 中的数据库项目导入,并从脚本中删除文件组,这样当您部署/比较架构时,就不会比较它们。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)