发布 dacpac(SSDT 数据库项目)时为数据库配置初始大小和自动增长大小的默认值

Posted

技术标签:

【中文标题】发布 dacpac(SSDT 数据库项目)时为数据库配置初始大小和自动增长大小的默认值【英文标题】:Configuring default values for initial size and auto-growth size for database when publishing dacpac (SSDT Database project) 【发布时间】:2021-12-01 06:13:46 【问题描述】:

我们使用 SSDT 数据库项目来维护和发布对 SQL Server 2014(及更高版本)的数据库更改。 我们在 C# 中使用 DacFx API 来发布 dacpac 文件。

我们有什么方法可以在 dacpac 中配置主数据和日志文件的初始大小和自动增长大小,以便我们可以在创建新数据库时覆盖目标上的模型数据库设置?

或者Alter数据库脚本是实现它的唯一方法吗?如果是,除了将其作为 Post Deploy 脚本的一部分之外,还有哪些可用选项?

示例 Alter 脚本...

ALTER DATABASE DatabaseTest
MODIFY FILE (NAME = [SqlFile1], SIZE = 500MB, FILEGROWTH = 500MB);

【问题讨论】:

【参考方案1】:

您可以通过添加 FileGroup 文件项并在高级发布选项中指定您希望脚本文件大小来避免使用部署后脚本。

ALTER DATABASE [$(DatabaseName)]
ADD FILE
(
    NAME = [SqlFile1],
    FILENAME = '$(DefaultDataPath)$(DefaultFilePrefix)_SqlFile1.ndf',
    SIZE = 500MB,
    MAXSIZE = UNLIMITED,
    FILEGROWTH = 500MB
) TO FILEGROUP [PRIMARY]

查看这个答案here了解更多详情

【讨论】:

以上是关于发布 dacpac(SSDT 数据库项目)时为数据库配置初始大小和自动增长大小的默认值的主要内容,如果未能解决你的问题,请参考以下文章

如何在 SSDT 项目中跳过构建 DACPAC

数据库项目 - 输出 dacpac

在发布期间忽略 Dacpac 快照选项

如何将 DACPAC 部署到事务复制数据库

简化 SSDT 数据库项目到 localdb 的部署

SSDT 项目发布事务部署