在SQL Server中存档数据库表:相同的数据库还是不同的数据库?

时间:2015-03-31 15:15:53

标签: database sql-server-2008 database-design

我们的DBA团队正在为一些较大的数据库开展归档流程。关于是将数据保存在同一数据库还是不同数据库中存在意见分歧。

我做了一些研究并提出了以下几点。有最好的做法吗?有一种方式比其他方式更好。

选项A:相同的数据库

  • 更容易实施(+)
  • 可以有一个加入活动和归档数据的视图(+)
  • 单个数据库(+)
  • 如果必须(++)
  • ,则更容易移动到其他服务器

选项B:不同的数据库

  • 较小的操作数据库(+++)
  • 操作DB(++)的维护窗口较小
  • 在非prod环境中恢复操作数据库的时间短(++)
  • 数据库计数(两次)( - )
  • 查看需要跨越数据库边界( - )

1 个答案:

答案 0 :(得分:2)

绝对选项B(即单独的数据库)。实际上,根据所有归档数据的大小,您甚至可以考虑将其移动到完全不同的SQL Server实例。

至于优点和缺点,我不同意其中一些选项B:

  • 实际上,需要跨数据库的视图根本不是问题。
  • 拥有2个数据库而不是1个数据库不是问题。
  • 使用单独的数据库,可以不同地管理/索引存档数据等,所以(+)。

最后,如果数据被视为"非交易的"这样它就可以存档,那么就不应该在事务DB中。关于操作DB"的较小维护窗口,你谈到了这一点。目标是提高交易系统的性能和可管理性。