5

我们当前的数据库接近 200MB,但是一旦应用程序上线,我们预计它会增长到很大的容量......可能是 20-30 GB 的数据。

我们计划使用“dacpac”(由数据库项目 - SSDT 生成)部署在生产服务器上。将使用许多表和查找表中的大量初始数据创建数据库。

但是,当我们将使用“dacpac”(由数据库项目 - SSDT 生成)来升级生产服务器上的数据库时,我们担心的是未来的部署。

由于我过去没有使用 dacpac 进行部署的经验,任何人都可以建议我关注以下内容 -

  1. 部署是否取决于数据量?或者,如果它仅取决于架构更改?例如,如果目标数据库是 20-30 GB,那么升级它大概需要多少时间?
  2. 我们如何对数据库模式进行版本控制?
  3. 如果出现任何问题,升级过程是否可以回滚?

最后,它是否比传统的手动编写 sql 脚本升级数据库的方式更好?

4

1 回答 1

5
  1. 根据我的经验,在部署 dacpac 时,数据量确实会产生影响。时间增加将取决于您的 dacpac 在您的数据库中应用了哪些更改。我在这里唯一的建议是尝试使用大量数据进行测试以衡量时间的增加,这可能是最小的

  2. 我们所有的对象都存储在 SQL Server Data Tools (SSDT) Visual Studio 项目中,然后在 TFS 中进行版本控制,因此当我们需要基于额外检查进行构建时,它将为我们创建一个新版本

  3. 这可能取决于您正在应用的更新类型,以及您是否希望花时间了解回滚每个架构更新所需的时间。

我喜欢使用 dacpac,并且发现它对您在一个 Visual Studio 项目中托管所有 SQL 对象非常有用。由于所需更改的数量,采用手动方式可能会增加您忘记包含一个或多个补丁的机会。

于 2015-05-15T07:13:39.760 回答