SQL Server:具有数据的延迟版本

SQL Server:具有数据的延迟版本,sql,sql-server-2008,Sql,Sql Server 2008,我们有一个SQL Server 2008 R2企业数据库,其中包含来自多个来源的实时数据 我们希望这些数据可以在内部应用程序中使用。但是,我们希望通过另一个应用程序(web)以“延迟”的方式访问相同的数据 这意味着此应用程序只能“查看”过去5-10或15分钟的数据 有什么现成的方法可以做到这一点吗?如果不是的话,你会建议如何解决这个问题?我不认为有什么“现成的”方法可以解决这个问题 我能想到的唯一一件事是向“其他”应用程序应该访问的每个表添加datetime列。datetime需要记录行的创建时

我们有一个SQL Server 2008 R2企业数据库,其中包含来自多个来源的实时数据

我们希望这些数据可以在内部应用程序中使用。但是,我们希望通过另一个应用程序(web)以“延迟”的方式访问相同的数据

这意味着此应用程序只能“查看”过去5-10或15分钟的数据


有什么现成的方法可以做到这一点吗?如果不是的话,你会建议如何解决这个问题?

我不认为有什么“现成的”方法可以解决这个问题

我能想到的唯一一件事是向“其他”应用程序应该访问的每个表添加datetime列。datetime需要记录行的创建时间戳

然后为每个表创建一个视图,该视图根据当前时间和创建时间戳限制返回的行


“其他”应用程序只允许通过视图访问

您可以每15分钟克隆一次数据库,然后让其他应用程序使用该克隆。只需备份原始数据库并使用不同的名称还原即可。这样,您根本不需要修改数据模型。只需确保先创建一个新数据库,然后让web应用程序使用它。切勿在使用数据库时覆盖它。

是的,但在克隆的确切时刻,两个数据库的状态不是相同吗?因此,此时访问克隆数据库的客户机将拥有实时数据。我们不想要那个,我们想要“过去15分钟”的不同。这样,时差将逐渐改变,直到15分钟。事实上,我认为不改变数据模型和/或软件是不可能实现的。datetime列解决方案是一个很好的方法。