SQL SERVER 2008記憶體動態自我調整 Work with Dynamically Configured Memory in SQL Server 2008

SQL Server是依據工作負載和可用記憶體資源來動態調整記憶體使用量.

整體記憶體使用量介於最小和最大伺服器記憶體設定之間,最小伺服器記憶體建議依據SQL Server使用基準來設定,但該記憶體並不會一開始就完全配置,主要是依據資料庫工作負載來配置記憶體,當已達到最小伺服器記憶體門檻,這門檻將變成基準值,且記憶體將不在釋放.

動態調整記憶體請遵循以下步驟

1.伺服器屬性視窗中選擇記憶體頁面

clip_image001[16]

2.分別設定最小伺服器記憶體和最大伺服器記憶體.建議最大伺服器記憶體設定值是針對獨立伺服器或接近全部記憶體(實體記憶體+虛擬記憶體).不過,如果你一台伺服器上執行多個SQL Server 執行個體的話,你必須好好考慮最大伺服器記憶體的設定值,因為所有執行個體將一起共用全部記憶體.

3.選擇確定.

你也可以使用系統預存程序 sp_configure 來改變最小和最大伺服器設定值.使用以下陳述序.

T-SQL

 exec sp_configure "min server memory", <number of megabytes>
 exec sp_configure "max server memory", <number of megabytes>

PowerShell

Invoke-Sqlcmd -Query "exec sp_configure ‘min server memory’, <num mb>"

Invoke-Sqlcmd -Query "exec sp_configure ‘max server memory’, <num mb>"

附註

在一台專門只有執行SQL Server的系統裡,你通常不需要動態設定最小和最大伺服器記憶體使用量.不過,你可能為了要執行順暢一點而設定最小伺服器記憶體為 8 MB(24 KB * 使用者數量),這裡的使用者數量是指該SQL Server平均同時連線數量.你也可能想要保留實體記憶體給SQL Server.關於SQL Server設定8 MB是為了處理其內部結構程式碼.額外記憶體使用如下:鎖定使用96 bytes,開啟資料庫使用2,880 bytes和開啟物件使用276 bytes,這些物件包含所有的資料表,檢視表,預存程序,延伸的預存程序,觸發器,規則,約束和預設.

你可以透過使用SQLServer:Memory Manager 效能物件確認記憶體使用量的基準線.監控時選擇所有計數器,並使用報表檢視器(Report View)查看記憶體使用量.需特別注意Total Server Memory計數器.

來源出處: Microsoft Press book Microsoft SQL Server 2008 Administrator’s Pocket Consultant, Second Edition by William R. Stanek.