分析SQL Server計畫快取

來源:互聯網
上載者:User
http://www.cio360.net/Page/1808/InfoID/291578/SourceId/11281/PubDate/2009-02-03/Default.aspx#pager

SQL Server 7.0發布的版本之前,計畫快取是用於SQL Server的整個記憶體的單獨可配置快取區域。只有預存程序緩衝在緩衝的那個部分。由於這個原因,它被叫做程式緩衝,在SQL Server 7.0和後面的版本中,計畫快取不是SQL Server記憶體單獨的一個部分。現在SQL Server 是用一個非常動態整合記憶體管理和緩衝管理機制。

下面的指令碼用於SQL Server 2000和前面的版本。它將提供SQL Server 計畫快取的內容和使用頻率。


下面是SQL Server 2000指令碼#1的部分結果集。

圖一

對於SQL Server 2005和它更新的版本,DMV已經被引進來獲得這一資訊。因此要得到緩衝計劃的內容和使用統計資料,你可能要使用下面的DMV指令碼。

下面是SQL Server 2005指令碼#2的部分結果集。SQL Server 7.0的整個記憶體的單獨可配置快取區域。只有預存程序緩衝在緩衝的那個部分。由於這個原因,它被叫做程式緩衝,在SQL Server 7.0和後面的版本中,計畫快取不是SQL Server記憶體單獨的一個部分。現在SQL Server 是用一個非常動態整合記憶體管理和緩衝管理機制。

和前面的版本。它將提供SQL Server 計畫快取的內容和使用頻率。

指令碼#1的部分結果集。

和它更新的版本,DMV已經被引進來獲得這一資訊。因此要得到緩衝計劃的內容和使用統計資料,你可能要使用下面的DMV指令碼。

圖二

上述指令碼以及它們的描述所使用的整個領域如下:

下面是SQL Server 2005指令碼#2的部分結果集。

面是SQL Server 2005指令碼#2的部分結果集。

利 用上述指令碼你可以看到SQL Server中的對象和它們的使用頻率。記住對於SQL Server 2000,你需要使用系統資料表syscacheobjects而對於SQL Server 2005和更新的版本,主要使用DMV sys.dm_exec_cached_plans

當測試或者解決問題時,你可能需要清除計畫快取。你可以使用下面兩種命令來達到目的。

     Script # 3: 清除整個SQL Server計畫快取 DBCC FREEPROCCACHE

GO

Script #4: 清除某個特定資料庫的SQL Server 計畫快取

DBCC FLUSHPROCINDB ()

GO

/*

You can get DBID through following command

Select dbid from sysdatabases where name = <'DBName'>

*/

  除了上面的命令,下面的操作也將重新整理整個計畫快取而新批需要新的計劃。

分離任何資料庫

在SQL Server 2005或更高版本中升級任何資料庫到相容性層級90或者更高

針對任何資料庫運行 ALTER DATABASE ... MODIFY FILEGROUP 命令

運行 ALTER DATABASE ... COLLATE來修改任何資料庫的校對

用下面任何一個命令來更改一個資料庫將會把緩衝在具體資料庫中的所有計劃都刪除掉。

ALTER DATABASE ..... MODIFY NAME

ALTER DATABASE ..... SET ONLINE

ALTER DATABASE ..... SET OFFLINE

ALTER DATABASE ..... SET EMERGENCY

下面的操作也會刪除一個具體資料庫的緩衝計劃。

刪除一個資料庫

資料庫自動關掉

這是與在這裡提及沒有一種方法可以把一個單獨的查詢計劃從SQL 2005和更低版本的緩衝中刪除有關,但是在SQL 2008中現在是可能的。

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.