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

问题描述:

我们的DBA团队正在为一些较大的数据库进行归档过程。关于是否将数据保存在同一个数据库或不同的数据库中有不同的看法。在SQL Server中归档数据库表:相同的数据库还是不同的数据库?

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

选项A:同DB

  • 更容易实现(+)
  • 能有一个看法参加活动的数据和归档数据(+)
  • 单数据库(+)
  • 更容易移动到不同的服务器,如果你有(++)

选项B:不同的DB

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

谢谢marc_s进行编辑!感谢你的帮助。 – RaviLobo 2015-03-31 15:29:08

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

至于利弊,我跟他们中的一些不同意的选项B:

  • 观需要跨数据库是,实事求是,不是问题的全部。
  • 拥有2个数据库而不是1个不是问题。
  • 使用单独的数据库,可以对存档数据进行不同的管理/索引等,所以(+)。

最后,如果数据已被视为“非事务性”,以便它可以归档,那么它不应该在事务性数据库中。您在关于“运营数据库的小型维护窗口”中谈到了这一点。目标是提高交易系统的性能和管理能力。

+0

谢谢srutzky。 – RaviLobo 2015-03-31 20:25:41