Microsoft® SQL Server™ 2000 的內(nèi)存管理組件消除了對 SQL Server 可用的內(nèi)存進(jìn)行手工管理的需要。SQL Server 在啟動時(shí)根據(jù)操作系統(tǒng)和其它應(yīng)用程序當(dāng)前正在使用的內(nèi)存量,動態(tài)確定應(yīng)分配的內(nèi)存量。當(dāng)計(jì)算機(jī)和SQL Server 上的負(fù)荷更改時(shí),分配的內(nèi)存也隨之更改。
下列服務(wù)器配置選項(xiàng)可用于配置內(nèi)存使用并影響服務(wù)器性能: ◆min server memory
◆max server memory
◆max worker threads
◆index create memory
◆min memory per query
min server memory 服務(wù)器配置選項(xiàng)可用于確保 SQL Server 至少以最小的分配內(nèi)存量啟動,并且內(nèi)存低于該值時(shí)不會釋放內(nèi)存?梢曰 SQL Server 的大小及活動將該配置選項(xiàng)設(shè)置為特定的值。始終將 min server memory 服務(wù)器配置選項(xiàng)設(shè)置為某個(gè)合理的值,以確保操作系統(tǒng)不向 SQL Server 請求太多內(nèi)存而影響 SQL Server 性能。
max server memory 服務(wù)器配置選項(xiàng)可用于:在 SQL Server 啟動及運(yùn)行時(shí),指定 SQL Server 可以分配的最大內(nèi)存量。如果知道有多個(gè)應(yīng)用程序與 SQL Server 同時(shí)運(yùn)行,而且想保障這些應(yīng)用程序有足夠的內(nèi)存運(yùn)行,可以將該配置選項(xiàng)設(shè)置為特定的值。如果這些其它應(yīng)用程序(如 Web 服務(wù)器或電子郵件服務(wù)器)只根據(jù)需要請求內(nèi)存,則 SQL Server 將根據(jù)需要給它們釋放內(nèi)存,因此不要設(shè)置 max server memory 服務(wù)器配置選項(xiàng)。然而,應(yīng)用程序通常在啟動時(shí)不假選擇地使用可用內(nèi)存,而如果需要更多內(nèi)存也不請求。如果有這種行為方式的應(yīng)用程序與 SQL Server 同時(shí)運(yùn)行在相同的計(jì)算機(jī)上,則將 max server memory 服務(wù)器配置選項(xiàng)設(shè)置為特定的值,以保障應(yīng)用程序所需的內(nèi)存不由 SQL Server 分配出。
不要將 min server memory 和 max server memory 服務(wù)器配置選項(xiàng)設(shè)置為相同的值,這樣做會使分配給 SQL Server 的內(nèi)存量固定。動態(tài)內(nèi)存分配可以隨時(shí)間提供最佳的總體性能。
max worker threads 服務(wù)器配置選項(xiàng)可用于指定為用戶連接到 SQL Server 提供支持的線程數(shù)。255 這一默認(rèn)設(shè)置對一些配置可能稍微偏高,這要具體取決于并發(fā)用戶數(shù)。由于每個(gè)工作線程都已分配,因此即使線程沒有正在使用(因?yàn)椴l(fā)連接比分配的工作線程少),可由其它操作(如高速緩沖存儲器)更好地利用的內(nèi)存資源也可能是未使用的。一般情況下,應(yīng)將該配置值設(shè)置為并發(fā)連接數(shù),但不能超過 1,024。
說明 當(dāng) SQL Server 運(yùn)行在 Microsoft Windows® 95 或 Microsoft Windows 98 上時(shí),最大工作線程服務(wù)器配置選項(xiàng)不起作用。
index create memory 服務(wù)器配置選項(xiàng)控制創(chuàng)建索引時(shí)排序操作所使用的內(nèi)存量。在生產(chǎn)系統(tǒng)上創(chuàng)建索引通常是不常執(zhí)行的任務(wù),通常調(diào)度為在非峰值時(shí)間執(zhí)行的作業(yè)。因此,不常創(chuàng)建索引且在非峰值時(shí)間時(shí),增加該值可提高索引創(chuàng)建的性能。不過,最好將 minmemoryperquery 配置選項(xiàng)保持在一個(gè)較低的值,這樣即使所有請求的內(nèi)存都不可用,索引創(chuàng)建作業(yè)仍能開始。
minmemoryperquery 服務(wù)器配置選項(xiàng)可用于指定分配給查詢執(zhí)行的最小內(nèi)存量。當(dāng)系統(tǒng)內(nèi)有許多查詢并發(fā)執(zhí)行時(shí),增大 minmemoryperquery 的值有助于提高消耗大量內(nèi)存的查詢(如大型排序和哈希操作)的性能。不過,不要將 minmemoryperquery 服務(wù)器配置選項(xiàng)設(shè)置得太高,尤其是在很忙的系統(tǒng)上,因?yàn)椴樵儗⒉坏貌坏鹊侥艽_保占有請求的最小內(nèi)存、或等到超過 query wait 服務(wù)器配置選項(xiàng)內(nèi)所指定的值。如果可用內(nèi)存比執(zhí)行查詢所需的指定最小內(nèi)存多,則只要查詢能對多出的內(nèi)存加以有效的利用,就可以使用多出的內(nèi)存。
|