手工設(shè)置SQL Server內(nèi)存選項的方法
手工設(shè)置SQL Server內(nèi)存選項是很多人都提到過的問題,下面就教您幾個手工設(shè)置SQL Server內(nèi)存選項的常見方法,希望對您能有所幫助。
手工設(shè)置SQL Server內(nèi)存選項有兩種主要方法:
***種手工設(shè)置SQL Server內(nèi)存選項的方法,設(shè)置min server memory和max server memory為同一數(shù)值。該數(shù)值與分配給SQL Server的固定內(nèi)存量相對應(yīng)。
第二種手工設(shè)置SQL Server內(nèi)存選項的方法,把min server memory和max server memory數(shù)量設(shè)置到一個范圍段內(nèi)。這種方法在系統(tǒng)或數(shù)據(jù)庫管理員希望配置SQL Server實例,使其適應(yīng)在同一臺計算機上運行的其它應(yīng)用程序的內(nèi)存需求時很有用。
min server memory保證了SQL Server實例使用的最小內(nèi)存量。SQL Server啟動時不立即分配min server memory中所指定的內(nèi)存量。但是,當內(nèi)存使用由于客戶端負荷而達到該值后,SQL Server將無法從已分配的緩沖池中釋放內(nèi)存,除非減少min server memory值。
說明
不保證SQL Server分配min server memory中所指定的內(nèi)存量。如果服務(wù)器上的負荷從不需要分配min server memory中所指定的內(nèi)存量,則SQL Server將以較少的內(nèi)存運行。
max server memory則可防止SQL Server使用多于指定數(shù)量的內(nèi)存,這樣剩余的可用內(nèi)存可以快速運行其它應(yīng)用程序。SQL Server啟動時不立即分配max server memory中所指定的內(nèi)存。內(nèi)存使用隨SQL Server的需要而增長,直到達到max server memory中所指定的值。SQL Server無法超過該內(nèi)存使用值,除非增加max server memory值。
服務(wù)器啟動時,在地址窗口擴展(AWE)內(nèi)存模式下運行的SQL Server實例確實分配max server memory中所指定的全部內(nèi)存量。有關(guān)AWE內(nèi)存的更多信息,請參見管理AWE內(nèi)存。
在應(yīng)用程序啟動和SQL Server釋放內(nèi)存之間將有一個較短的時間延遲,使用max server memory可以避免該延遲,從而可以提高其它應(yīng)用程序的性能。僅當與SQL Server共享同一臺服務(wù)器的新應(yīng)用程序在啟動時顯示有問題時,才設(shè)置min server memory。***讓SQL Server使用全部可用的內(nèi)存。
如果手工設(shè)置SQL Server內(nèi)存選項,應(yīng)確保適當?shù)卦O(shè)置用于復(fù)制的服務(wù)器。如果服務(wù)器是一個遠程分發(fā)者或者是一個出版者/分發(fā)者的組合,則必須為它分配至少16MB的內(nèi)存。
理想情況下,在不引起系統(tǒng)交換頁面到磁盤的前提下,應(yīng)盡可能多地分配內(nèi)存給SQL Server。該值因系統(tǒng)不同而有很大差別。例如,在一個32MB系統(tǒng)中,分配16MB給SQL Server可能是合適的;在一個64MB系統(tǒng)中,則可能適合分配48MB。
說明
當增大SQL Server內(nèi)存數(shù)量時,應(yīng)確保有足夠的磁盤空間來容納操作系統(tǒng)虛擬內(nèi)存的支持文件(Pagefile.sys)。有關(guān)虛擬內(nèi)存支持文件的更多信息,請參見Windows NT4.0和Windows 2000文檔。
指定的內(nèi)存數(shù)量必需滿足SQL Server的靜態(tài)內(nèi)存(核心開銷、打開的對象、鎖等等)以及數(shù)據(jù)緩存(亦稱高速緩存)的需要。
如有必要,在系統(tǒng)監(jiān)視器(在Windows NT4.0中為性能監(jiān)視器)中使用統(tǒng)計功能幫助調(diào)整內(nèi)存值。應(yīng)該只有在您添加或減少內(nèi)存,或者改變系統(tǒng)使用方式時改變這些值。
【編輯推薦】