2011-04-19 183 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