从SQL Server Management Studio删除缓存/关闭缓存

时间:2011-04-19 20:13:25

标签: caching memory-management sql-server-2008-r2

我是微软SQL Server Management Studio 2008 R2的新手。我遇到了编写查询的问题,但回来的数据很旧。这是非常令人沮丧的,有没有办法关闭数据的缓存,如何删除旧的缓存数据,以保证我始终能够看到数据库中的最新数据。

感谢您提前得到的所有帮助,到目前为止我找不到这个答案也没有取得多大成功。

2 个答案:

答案 0 :(得分:1)

Sql Server通过将数据页保留在RAM中尽可能长时间来缓存数据,具体取决于服务器具有多少内存。但是,正如2boolORNOT2bool指出的那样,Sql Server永远不应该提供过时的数据。我很确定如果表中的基础数据发生变化,Sql Server将使缓存无效。

如果您仍想尝试清除缓存,请在查询开头尝试这些DBCC语句:

      DBCC DROPCLEANBUFFERS 
      DBCC FREEPROCCACHE

答案 1 :(得分:0)

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

“关闭(或尝试关闭)SQL Server缓存正在以完全错误的方式考虑问题。如果数据缓存在数据层层中,则应该在那里刷新.SQL Server永远不会过时数据。” @Mitch Wheat