2011-04-19 94 views
1

我对微软的SQL Server Management Studio 2008 R2非常陌生。我在写一个查询时遇到了一个问题,但返回的数据是旧的。这是非常令人沮丧的,有没有办法关闭数据缓存,以及如何删除旧的缓存数据,这样我可以始终查看数据库中最新的数据。从SQL Server Management Studio中删除缓存/关闭缓存

感谢您提前给我们提供的所有帮助,迄今为止我一直无法找到答案。

+1

在SQL Server中没有数据的缓存。也许这可能是一个复制问题,如果你正在使用复制。这可能是因为您正在使用两个不同的查询来处理未提交的快照事务。这可能是因为你引用了错误的表格。这可能是因为您正在查询创建为快照的视图。你能给我们更多的信息吗? – 2011-04-19 20:21:54

回答

0

除非您使用SOAP API,否则无法直接从缓存中删除报告。 Disable Sql 2008 caching?

“关闭(或试图关闭)SQL Server缓存是完全错误的思考问题,如果数据缓存在数据层层,那么应该在那里刷新它。提供陈旧的数据。“ @Mitch小麦

1

Sql Server通过将数据页保留在RAM中的时间尽可能长,这取决于服务器有多少内存。然而,正如2boolORNOT2bool指出的那样,Sql Server不应该提供陈旧的数据。我很确定表中的底层数据是否发生变化,Sql Server会使缓存失效。

如果你仍然想尝试清除缓存,请尝试以下DBCC语句在查询的开头:

 DBCC DROPCLEANBUFFERS 
     DBCC FREEPROCCACHE