首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >需要对SQL Server数据库进行归档和报告的拆分方法

需要对SQL Server数据库进行归档和报告的拆分方法
EN

Stack Overflow用户
提问于 2014-05-20 23:39:47
回答 1查看 624关注 0票数 3

我需要一些帮助。我有一个750 gb的生产数据库。(是的,是的,这个问题可能会更早解决,但它超过了我的工资等级)数据库包含了几年多的数据。

目前的要求是

  1. 将(而不仅仅是复制)旧数据移动到单独的归档数据库中,以提高生产性能。也就是说,行将被永久地从生产中删除。这将是定期的-我建议每月一次,滚动的基础上。我现在不知道归档数据库是否位于另一台服务器上--它可能在也可能不在。
  2. 设计一个报告环境,使其包含存档和生产数据库的联合。问题是,由生产数据组成的部分必须每天至少更新一次。这个环境可能不会出现在生产服务器上(但我可能错了!)

为了解决这个问题,让我们假设模式在任何地方都是相同的:)所有表都有一个主键-一个INT NULL标识(1,1)。我们确实有能力通过SAN制作产品的快照副本。必须保留主键。

到目前为止被认为

  • 我们考虑过复制和日志传送,但这两种方法都不足以使报表数据库成为生产和归档数据库的联合。
  • 我们考虑过分区视图,但是主键是标识,因此无法工作:
  • 我们已经考虑过分区,但我不赞成每天需要数百个I/O的ETL (我们不能用这种方法利用SAN快照)。
  • 最后,我正在考虑一种自定义应用程序方法,它将模仿Server复制所完成的一些功能,但功能比在框中的功能更具体。我真的想避免做一些非常定制的事情。

我在这里错过了什么?这不可能是一个独特的需求。

EN

回答 1

Stack Overflow用户

发布于 2014-05-21 06:22:41

正如@adriamn所问的,我也有同样的问题。

您有一个包含大量行的大表,这些行不是为您的目的而缩放的,例如,由于锁定、索引等。

由于历史数据似乎是只读的,您可以很容易地将它们切割成不同的表,例如按月计算,这并不重要。关键是,您可以将这些只读数据移动到不同的服务器,使用只读副本进行缩放,等等。

重要的是,在运行时将数据划分为不同的表,并且数据库模式视图中没有单一的失败点(或争用点)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23771701

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档