2011-01-26 135 views
2

我们有一个大型数据库,每年接收数十万人的记录。出于多种原因,当信息输入到特定人员的系统中时,我不会涉及到这种情况,通常情况下,输入数据的个人将无法验证此人是否已经在数据库中。由于法律要求,我们必须努力争取数据库中具有唯一标识符的每个人(并且没有人应该有两个或更多)。由于数据收集问题,通常情况下,一个人将被分配许多不同的唯一标识符。数据库快照SQL Server 2000

我们有各种自动化和手动流程,主要是按照设定的时间表清理数据库,并为已经分配给他们的人员合并唯一标识符。

我们遇到问题的地方是我们也需要在年底生成报告。我们有一套我们总是生成的年终报告,但每年都会有决策者要求几十份特别报告。如果事情变得麻烦是因为唯一标识符的连续合并,我们的数据不是静态的。因此,年末产生的任何报告都将基于一年中最后一天的数据,3周后如果决策者要求提交报告,我们给他们的任何报告都可能(并且将)经常与我们的法律要求直接冲突年终报告。有时候我们会在一个月内合并多达30,000个标识符,这会极大地改变任何查询的结果。

据了解,我们的数据库不是静态的,但我们被要求提供一种基于数据库静态快照生成临时报告的方法。因此,如果报告在1/25被要求,它将基于与年终报告完全相同的数据集。

在做了一些研究之后,我对数据库快照很熟悉,但是我们有一个SQL Server 2000数据库,并且我们几乎没有能力在中短期内改变它,并且数据库快照是2005年版。所以我的问题是在SQL Server 2000中创建数据库的可查询快照的最佳方式是什么?

回答

2

你能简单地在12/31上备份数据库,并以不同的名称恢复它吗?

+0

在我的组织中,我在一个软件开发团队中,尽管我们对这些数据负有责任,但我们没有任何管理权限来执行数据库创建,备份,还原,分离等功能。另外,数据库管理员将自己视为唯一可以对数据库做出任何决定的人,因此他们通常会拒绝我们请求他们执行特定的事情(例如创建一个新数据库,该数据库是当前副本或升级到SQL Server的更新版本。) – Brandon 2011-01-26 14:36:39

0

您或者需要拍摄快照并将其处理(到另一个数据库或基于文件的外部系统,如Access或Excel),或者如果存储了足够的日期信息,则使用日期值从您的实时副本工作到将以前报告的数据与新数据区分

你最好从快照开始工作,因为日期方法并不总是有效。理想情况下,您可以在某年(某个地方,真的)其他地方将您的实时数据库导出到年底。

相关问题