共用方式為


資源管理員資源集區

在 SQL Server 資源管理員中,資源集區代表 Database Engine 執行個體的實體資源子集。 每個資源集區都會包含一個或多個工作負載群組。 在工作階段啟動時,資源管理員分類會將此工作階段指派給特定的工作負載群組,並且此工作階段必須使用指派給該工作負載群組的資源來執行。

資源集區概念

資源集區 (或集區) 代表伺服器的實體資源。 您可以將集區視為 SQL Server 執行個體內部的虛擬 SQL Server 執行個體。

集區具有兩個部分。 其中一個部分不會與其他集區重疊,以便達到最小資源保留的效果。 另一個部分則與其他集區共用,以便支援最大可能的資源耗用量。 在這個資源管理員版本中,您可以針對每個資源指定下列其中一個選項,藉以設定集區資源:

  • CPU 的 MIN、MAX 或 CAP

  • 記憶體的 MIN 或 MAX

MIN 和 MAX 分別代表每個資源的最小保證可用資源集區和最大集區大小。

CPU 的 CAP 值代表硬性最大值。 不會使用高於此值的可用 CPU 容量。

所有集區之 MIN 值的總和不得超過伺服器資源的 100%。 MAX 和 CAP 值則可設定為 MIN 與 100% (含) 之間範圍中的任何值。

如果某個集區已經定義了非零的 MIN,其他集區的有效 MAX 值就會重新調整。 因為集區的最小已設定 MAX 值和其他集區 MIN 值的總和都是從 100% 中扣除。

下表將說明上述概念。 此表顯示了內部集區、預設集區和兩個使用者定義集區的設定。 下列公式可用來計算有效的 MAX% 和共用的 %。

  • Min(X,Y) 代表較小的 X 和 Y 值。

  • Sum(X) 代表所有集區之 X 值的總和。

  • 全部共用的 % = 100 - sum(MIN %)。

  • 有效的 MAX % = min(X,Y)。

  • 共用的 % = 有效的 MAX % - MIN %。

集區名稱

MIN % 設定

MAX % 設定

計算出有效的 MAX %

計算出共用的 %

註解

內部

0

100

100

0

有效的 MAX% 和共用的 % 不適用於內部集區。

預設

0

100

30

30

有效的 MAX 值計算為:min(100,100-(20+50)) = 30。 計算出共用的 % 為有效的 MAX - MIN = 30。

集區 1

20

100

50

30

有效的 MAX 值計算為:min(100,100-50) = 50。 計算出共用的 % 為有效的 MAX - MIN = 30。

集區 2

50

70

70

20

有效的 MAX 值計算為:min(70,100-20) = 70。 計算出共用的 % 為有效的 MAX - MIN = 20。

利用上表當做範例,我們可以進一步說明建立另一個集區時,系統進行的調整。 這個集區是「集區 3」,而且 MIN % 設定為 5。

集區名稱

MIN % 設定

MAX % 設定

計算出有效的 MAX %

計算出共用的 %

註解

內部

0

100

100

0

有效的 MAX% 和共用的 % 不適用於內部集區。

預設值

0

100

25

25

有效的 MAX 值計算為:min(100,100-(20+50+5)) = 25。 計算出共用的 % 為有效的 MAX - MIN = 25。

集區 1

20

100

45

25

有效的 MAX 值計算為:min(100,100-55) = 45。 計算出共用的 % 為有效的 MAX - MIN = 25。

集區 2

50

70

70

20

有效的 MAX 值計算為:min(70,100-25) = 70。 計算出共用的 % 為有效的 MAX - MIN = 20。

集區 3

5

100

30

25

有效的 MAX 值計算為:min(100,100-70) = 30。 計算出共用的 % 為有效的 MAX - MIN = 25。

集區的共用部分是用來指出可用資源的範圍 (如果資源可用的話)。 不過,當資源被耗用時,它們就會移至指定的集區而且無法共用。 當指定之集區中沒有任何要求時,這樣做可改善資源使用率,而且設定給集區的資源可釋放給其他集區使用。

某些極端的集區組態情況如下:

  • 所有集區都定義了最小值,而這些值總計代表伺服器資源的 100%。 在此情況下,有效的最大值就等於最小值。 這就相當於將伺服器資源分成許多非重疊的部分,不論資源是否在任何指定的集區內部耗用都一樣。

  • 所有集區的最小值都是零。 所有集區會競爭可用資源,而且其最終大小是以每個集區的資源耗用量為基礎。 原則等其他因素會在發展最終集區大小中扮演某個角色。

資源管理員預先定義了兩個資源集區:內部集區和預設集區。

內部集區

內部集區代表 SQL Server 本身所耗用的資源。 這個集區永遠僅包含內部群組,而且您無法用任何方式來變更此集區。 內部集區的資源耗用量並沒有限制。 此集區中的任何工作負載都會被視為對於伺服器運作很重要,而且資源管理員允許內部集區對其他集區施壓,即使這樣做違反針對其他集區所設定的限制也一樣。

[!附註]

內部集區和內部群組資源使用量不會從整體資源使用量中扣除。 百分比是從可用的整體資源中計算所得。

預設集區

預設集區是第一個預先定義的使用者集區。 進行任何組態設定之前,預設集區僅包含預設群組。 您無法建立或卸除預設集區,但是可以變更此集區。 除了預設群組以外,預設集區可以包含使用者定義的群組。

[!附註]

雖然預設群組可變更,但是您無法將它移出預設集區之外。

使用者定義的資源集區

資源管理員會提供建立、變更和卸除資源集區的 DDL 陳述式。

資源集區工作

工作描述

主題

描述如何建立資源集區。

建立資源集區

描述如何變更資源集區設定。

變更資源集區設定

描述如何刪除資源集區。

刪除資源集區

請參閱

概念

資源管理員

資源管理員工作負載群組

資源管理員分類函數

使用範本來設定資源管理員

檢視資源管理員屬性