Share via


使用記憶體組態選項最佳化伺服器效能

Microsoft SQL Server 2005 的記憶體管理員元件,讓您無需手動管理 SQL Server 的可用記憶體。當 SQL Server 啟動時,它會根據作業系統與其他應用程式目前正在使用多少記憶體,動態決定要配置多少記憶體。隨著電腦與 SQL Server 的負載有所變更,記憶體的配置也會變更。如需詳細資訊,請參閱<記憶體架構>。

以下伺服器組態選項可用來設定記憶體使用狀況,以及用來影響伺服器效能:

  • min server memory
  • max server memory
  • max worker threads
  • index create memory
  • min memory per query

min server memory 伺服器組態選項可用來確定達到臨界值之後,SQL Server 不會釋出少於設定的伺服器記憶體。這個組態選項可以根據 SQL Server 的大小與活動設成特定值。如果選擇設定此值,請設定某個合理值以確定作業系統不會要求過多的 SQL Server 記憶體,而影響到 SQL Server 效能。

max server memory 伺服器組態選項可用來指定 SQL Server 啟動時與執行時可以配置的最大記憶體數量。如果您知道會有多個應用程式與 SQL Server 同時執行,且您要確保有足夠的記憶體來執行這些應用程式,就可以將此組態選項設定為特定的值。如果這些其他應用程式 (如 Web 或電子郵件伺服器) 只依所需要求記憶體,那麼就不要設定 max server memory 伺服器組態選項,因為 SQL Server 會在它們需要時釋放出記憶體。但應用程式多半會使用在啟動時可以取得的任何記憶體,同時不會在需要時再要求更多記憶體。如果以這種方式運作的應用程式與 SQL Server 同時在同一部電腦上執行的話,請設定 max server memory 伺服器組態選項的值,以保證 SQL Server 不會配置掉應用程式所需的記憶體。

不要因為想固定配置給 SQL Server 的記憶體數量,而將 min server memorymax server memory 伺服器組態選項設成同一個值。長時間下來,動態記憶體配置才能獲得最佳的整體效能。如需詳細資訊,請參閱<伺服器記憶體選項>。

max? ?worker? ?threads 伺服器組態選項可指定用來支援使用者連接到 SQL Server 的臨界值數。對有些組態而言,預設值 255 可能稍微高了一點,這要看同步使用者的數量而定。由於即使用不到 (因為同步連線少於配置的背景工作執行緒) 還是會配置每個背景工作執行緒,使得原本可供其他作業利用的記憶體資源 (如緩衝快取區) 可能會無人使用。一般而言,此組態值應設為同時連接的個數,但不可超過 32727。同時連接與登入連接不同。SQL Server 執行個體的工作者執行緒集區不需要太大,能夠服務該執行個體中同一時間內正在執行批次的使用者連接個數即可。將背景工作執行緒的數目增加到超過預設值可能會對伺服器的效能造成負面的影響。如需詳細資訊,請參閱<max worker threads 選項>。

indexcreatememory 伺服器組態選項會控制索引建立過程中排序作業所用的記憶體數量。對生產系統建立索引通常是難得執行的工作,多半排程為工作在離峰時間執行。因此,既然是難得建立索引,而且是在離峰時間,所以增加這個值有助於改善建立索引的效能。但應儘量將 min memory per query 組態選項保持在較小的值,使索引建立作業即使無法取得要求的記憶體,還是會啟動。如需詳細資訊,請參閱<index create memory 選項>。

min memory per query 伺服器組態選項可用來指定執行查詢時會配置的最小記憶體數量。系統中同時有許多查詢在執行時,增加 min memory per query 的值有助於提升記憶體密集查詢的效能,如大量排序與雜湊作業。但是,不要將 min memory per query 伺服器組態選項設得太大,特別是在非常忙碌的系統上,因為查詢必須一直等到可以取得要求的最小記憶體,或是等到超過 query wait 伺服器組態選項中指定的值為止。如果可用的記憶體多於執行所需的指定最小值,那麼只要記憶體可以有效地供查詢使用,查詢就會利用額外的記憶體。如需詳細資訊,請參閱<min memory per query 選項>與<query wait 選項>。

請參閱

工作

如何:設定最小查詢記憶體 (SQL Server Management Studio)

概念

監視記憶體使用狀況
最小伺服器記憶體與最大伺服器記憶體的效果
管理大型資料庫的記憶體

說明及資訊

取得 SQL Server 2005 協助