首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL Server 2008 Resource Governor:資源管理解決方案

     編輯:關於SqlServer

背景與問題

單一 SQL Server 執行個體常裝載多個資料庫。若某資料庫佔用過多 CPU/記憶體,會導致其他資料庫回應緩慢甚至逾時。SQL Server 2008 引入 Resource Governor,透過資源池分配與限制資源,完美解決此問題。

核心概念

  • 資源池:代表實體資源(CPU、記憶體)的子集,可設定最大/最小使用率。
  • 工作負載群組:將會話歸類,對應至特定資源池。
  • 分類器函數:依登入、應用程式名稱等條件將會話導向對應工作負載群組。

實作範例

建立兩個資源池分別給行銷與開發資料庫:

CREATE RESOURCE POOL MarketingPool WITH (MAX_CPU_PERCENT = 10);
CREATE RESOURCE POOL DevelopmentPool WITH (MAX_CPU_PERCENT = 90);

查詢 sys.dm_resource_governor_resource_pools 可見預設 internal 與 default 池。新建池需執行 ALTER RESOURCE GOVERNOR RECONFIGURE 才生效。

操作步驟

  1. 檢視現有設定:SELECT * FROM sys.dm_resource_governor_configuration;
  2. 建立資源池與工作負載群組。
  3. 建立分類器函數(如依 APP_NAME() 判斷)。
  4. 註冊分類器並重新配置:ALTER RESOURCE GOVERNOR WITH (CLASSIFIER_FUNCTION = dbo.fnClassifier); RECONFIGURE;

設定完成後,繁忙時期系統會依比例分配 CPU,避免單一資料庫獨佔資源。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved