我是微软SQL Server Management Studio 2008 R2的新手。我遇到了编写查询的问题,但回来的数据很旧。这是非常令人沮丧的,有没有办法关闭数据的缓存,如何删除旧的缓存数据,以保证我始终能够看到数据库中的最新数据。
感谢您提前得到的所有帮助,到目前为止我找不到这个答案也没有取得多大成功。
答案 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