我们正在使用Sql Server数据库项目使用SqlPackage.exe从DacPac创建部署脚本。在各种环境中,我们都有不同的SQL Server文件组设置。
部署时,我们会排除文件组,因为我们希望在默认文件组中创建对象。在数据库项目设置中,默认文件组未从PRIMARY更改。

sql-server - 有什么方法可以阻止SqlPackage.exe在部署脚本中设置默认文件组?-LMLPHP

当尝试部署到默认文件组为而不是 PRIMARY的环境时,这会带来问题,因为其中包含以下代码...

ALTER DATABASE [$(DatabaseName)]
    MODIFY FILEGROUP [PRIMARY] DEFAULT;

有没有办法防止这种情况在部署SQL中生成?

最佳答案

我不知道您是否可以在SSDT中禁用它。

但是,您可以使用部署计划贡献者来过滤MODIFY FILEGROUP语句或以所需方式对其进行更改。您可以在此处找到详细的说明和工作代码:http://scardevblog.blogspot.com/2015/03/ssdt-generates-2012-option-for-target.html

关于sql-server - 有什么方法可以阻止SqlPackage.exe在部署脚本中设置默认文件组?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42498706/

10-09 08:28