Udostępnij za pośrednictwem


CREATE WORKLOAD GROUP (Transact-SQL)

Wybieranie produktu

W poniższym wierszu wybierz nazwę produktu, którą cię interesuje, i zostanie wyświetlona tylko informacja o tym produkcie.

* SQL Server *  

usługi SQL Managed Instance

 

SQL Server i SQL Managed Instance

Tworzy grupę obciążeń zarządcy zasobów i kojarzy grupę obciążeń z pulą zasobów zarządcy zasobów.

Zarządca zasobów nie jest dostępny w każdej wersji programu SQL Server. Aby uzyskać listę funkcji obsługiwanych przez wersje programu SQL Server, zobacz Editions i obsługiwane funkcje programu SQL Server 2022.

Nuta

W przypadku usługi Azure SQL Managed Instance musisz być w kontekście bazy danych master, aby zmodyfikować konfigurację zarządcy zasobów.

Transact-SQL konwencje składni.

Składnia

CREATE WORKLOAD GROUP group_name
[ WITH
    ( [ IMPORTANCE = { LOW | MEDIUM | HIGH } ]
      [ [ , ] REQUEST_MAX_MEMORY_GRANT_PERCENT = value ]
      [ [ , ] REQUEST_MAX_CPU_TIME_SEC = value ]
      [ [ , ] REQUEST_MEMORY_GRANT_TIMEOUT_SEC = value ]
      [ [ , ] MAX_DOP = value ]
      [ [ , ] GROUP_MAX_REQUESTS = value ] )
]
[ USING {
    [ pool_name | [default] ]
    [ [ , ] EXTERNAL external_pool_name | [default] ]
    } ]
[ ; ]

Argumenty

group_name

Nazwa zdefiniowana przez użytkownika dla grupy obciążeń. group_name jest alfanumeryczna, może zawierać maksymalnie 128 znaków, musi być unikatowa w wystąpieniu aparatu bazy danych i musi być zgodna z regułami dotyczącymi identyfikatorów bazy danych .

WAŻNOŚĆ = { NISKA | ŚREDNI | WYSOKI }

Określa względne znaczenie żądania w grupie obciążeń. Wartość domyślna to MEDIUM.

IMPORTANCE jest lokalna dla puli zasobów, która zawiera grupę obciążeń. Grupy obciążeń o różnym znaczeniu w tej samej puli zasobów wpływają na siebie, ale nie mają wpływu na grupy obciążeń w innych pulach zasobów.

REQUEST_MAX_MEMORY_GRANT_PERCENT = wartość

Określa maksymalną ilość pamięci obszaru roboczego zapytania, którą pojedyncze żądanie może pobrać z puli. wartość jest procentem rozmiaru puli zasobów zdefiniowanego przez MAX_MEMORY_PERCENT. Wartość domyślna to 25.

W programie SQL Server 2017 (14.x) i starszych wartość jest liczbą całkowitą, a dozwolony zakres wynosi od 1 do 100.

Począwszy od programu SQL Server 2019 (15.x), wartość może być ułamkowa przy użyciu typu danych float. Dozwolony zakres wynosi od 0 do 100.

Ważny

Określona ilość odnosi się tylko do pamięci obszaru roboczego kwerendy uzyskanej za pośrednictwem przydziałów pamięci zapytania.

Nie zaleca się ustawiania wartości zbyt dużej (na przykład większej niż 70), ponieważ serwer może nie być w stanie odłożyć wystarczającej ilości wolnej pamięci dla innych współbieżnych zapytań. Może to prowadzić do przekroczenia limitu czasu przydziału pamięci błędem 8645.

Ustawienie wartości na 0 lub małą wartość może uniemożliwić wykonywanie zapytań z operatorami wymagającymi pamięci obszaru roboczego, takimi jak sort i hash, z uruchamiania w grupach obciążeń zdefiniowanych przez użytkownika. Jeśli wymagania dotyczące pamięci zapytania przekraczają limit zdefiniowany przez ten parametr, występuje następujące zachowanie:

  • W przypadku grup obciążeń zdefiniowanych przez użytkownika serwer próbuje zmniejszyć stopień równoległości (DOP) żądania (zapytania), dopóki wymaganie pamięci nie spadnie do limitu lub dopóki DOP nie będzie równa 1. Jeśli wymaganie dotyczące pamięci zapytania jest nadal większe niż limit, wystąpi błąd 8657 i zapytanie zakończy się niepowodzeniem.
  • W przypadku grup obciążeń internal i default serwer zezwala na uzyskanie wymaganej pamięci przez zapytanie.

W obu przypadkach może wystąpić błąd 8645, jeśli serwer ma niewystarczającą ilość pamięci fizycznej.

REQUEST_MAX_CPU_TIME_SEC = wartości

Określa maksymalny czas procesora CPU (w sekundach), którego może używać żądanie. wartość musi być 0 lub dodatnią liczbą całkowitą. Ustawieniem domyślnym wartości jest 0, co oznacza nieograniczone.

Domyślnie zarządca zasobów nie uniemożliwia kontynuowanie żądania w przypadku przekroczenia maksymalnego czasu. Zdarzenie jest jednak generowane. Aby uzyskać więcej informacji, zobacz próg procesora CPU przekroczono klasę zdarzeń.

Począwszy od programu SQL Server 2016 (13.x) SP2 i PROGRAMU SQL Server 2017 (14.x) CU3, a także przy użyciu flagi śledzenia 2422, zarządca zasobów przerywa żądanie po przekroczeniu maksymalnego czasu procesora CPU.

REQUEST_MEMORY_GRANT_TIMEOUT_SEC = wartość

Określa maksymalny czas (w sekundach), przez który zapytanie może poczekać na przyznanie pamięci z pamięci obszaru roboczego zapytania, aby stało się dostępne. wartość musi być 0 lub dodatnią liczbą całkowitą. Ustawienie domyślne wartości , 0, używa wewnętrznego obliczenia na podstawie kosztu zapytania w celu określenia maksymalnego czasu.

Zapytanie nie zawsze kończy się niepowodzeniem po osiągnięciu limitu czasu przydziału pamięci. Zapytanie kończy się niepowodzeniem tylko wtedy, gdy jest uruchomionych zbyt wiele współbieżnych zapytań. W przeciwnym razie zapytanie może uzyskać tylko minimalną ilość przydziału pamięci, co spowoduje zmniejszenie wydajności zapytań.

MAX_DOP = wartości

Określa maksymalny stopień równoległości (MAXDOP) na potrzeby równoległego wykonywania zapytań. Dozwolony zakres wartości wynosi od 0 do 64. Ustawienie domyślne wartości , 0, używa ustawienia globalnego.

Aby uzyskać więcej informacji, zobacz MAXDOP.

GROUP_MAX_REQUESTS = wartości

Określa maksymalną liczbę równoczesnych żądań, które mogą być wykonywane w grupie obciążeń. wartość musi być 0 lub dodatnią liczbą całkowitą. Ustawieniem domyślnym wartości jest 0 i zezwala na nieograniczone żądania. Po osiągnięciu maksymalnej liczby współbieżnych żądań można utworzyć sesję w tej grupie, ale jest umieszczana w stanie oczekiwania, aż liczba współbieżnych żądań spadnie poniżej określonej wartości.

USING { pool_name | [domyślne] }

Kojarzy grupę obciążeń z pulą zasobów zdefiniowaną przez użytkownika zidentyfikowaną przez pool_namelub z pulą zasobów default. Jeśli nie podano pool_name lub jeśli argument USING nie zostanie określony, grupa obciążeń jest skojarzona z wbudowaną pulą default.

default jest słowem zastrzeżonym, a jeśli określono w USING, musi być ujęta w nawiasy ([]) lub cudzysłów ("").

Wbudowane pule zasobów i grupy obciążeń używają wszystkich małych liter, takich jak default. Użyj małych liter default na serwerach korzystających z sortowania z uwzględnieniem wielkości liter. Serwery z sortowaniem bez uwzględniania wielkości liter traktują default, Defaulti DEFAULT co ta sama wartość.

Zewnętrzne external_pool_name | [ustawienie domyślne]

Dotyczy: SQL Server 2016 (13.x) i nowszych.

Grupa obciążeń może określać zewnętrzną pulę zasobów. Grupę obciążeń można zdefiniować i skojarzyć z dwiema pulami:

  • Pula zasobów dla obciążeń aparatu bazy danych.
  • Zewnętrzna pula zasobów dla procesów zewnętrznych. Aby uzyskać więcej informacji, zobacz sp_execute_external_script.

Uwagi

Aby uzyskać więcej informacji, zobacz Zarządca zasobów i grupa obciążeń Zarządca zasobów.

MAXDOP

W przypadku danego zapytania obowiązująca MAXDOP jest określana w następujący sposób:

  • MAXDOP, ponieważ wskazówka dotycząca zapytania jest honorowana, o ile nie przekracza ustawienia MAX_DOP grupy obciążeń.
  • MAXDOP jako wskazówka zapytania zawsze zastępuje konfigurację serwera max degree of parallelism. Aby uzyskać więcej informacji, zobacz Server configuration: max degree of parallelism.
  • Grupa obciążeń MAX_DOP zastępuje konfigurację serwera max degree of parallelism i konfigurację o zakresie bazy danych MAXDOP.

Limit MAXDOP jest ustawiany na zadanie . Nie jest to żądanie na ani limit zapytania. Podczas wykonywania zapytania równoległego pojedyncze żądanie może zduplikować wiele zadań przypisanych do harmonogramu . Aby uzyskać więcej informacji, zobacz przewodnik dotyczący architektury wątków i zadań .

Gdy zapytanie jest oznaczone jako szeregowe w czasie kompilacji (MAXDOP = 1), nie może być wykonywane z równoległością w czasie wykonywania niezależnie od ustawienia grupy obciążeń lub konfiguracji serwera. Po określeniu MAXDOP dla zapytania można go zmniejszyć tylko z powodu użycia pamięci. Ponowna konfiguracja grupy obciążeń nie ma wpływu na zapytania oczekujące w kolejce przyznawania pamięci.

Tworzenie indeksu

Ze względu na wydajność tworzenie indeksu może używać więcej obszaru roboczego pamięci niż początkowo udzielono. Zarządca zasobów obsługuje tę specjalną obsługę. Jednak początkowe przyznanie i wszelkie dodatkowe przydziały pamięci są ograniczone przez ustawienia grupy obciążeń i puli zasobów.

Ilość pamięci użytej do utworzenia indeksu nieprzygotowanego w tabeli partycjonowanej jest proporcjonalna do liczby zaangażowanych partycji. Jeśli łączna wymagana ilość pamięci przekracza limit dla poszczególnych zapytań wymuszony przez ustawienie grupy obciążeń REQUEST_MAX_MEMORY_GRANT_PERCENT, tworzenie indeksu może zakończyć się niepowodzeniem. Ponieważ grupa obciążeń default zezwala na przekroczenie limitu dla poszczególnych zapytań z minimalną wymaganą ilością pamięci do uruchomienia w celu zapewnienia zgodności z poprzednimi wersjami, może być możliwe utworzenie tego samego indeksu przy użyciu grupy obciążeń default, jeśli pula zasobów default ma wystarczającą ilość pamięci całkowitej.

Uprawnienia

Wymaga uprawnienia CONTROL SERVER.

Przykład

Tworzy grupę obciążeń o nazwie newReports w puli zasobów default i ogranicza maksymalny przydział pamięci, maksymalny czas procesora CPU dla żądania i MAXDOP.

CREATE WORKLOAD GROUP newReports
WITH (
     REQUEST_MAX_MEMORY_GRANT_PERCENT = 2.5,
     REQUEST_MAX_CPU_TIME_SEC = 100,
     MAX_DOP = 4
     )
USING [default];

* SQL Managed Instance *  

 

SQL Server i SQL Managed Instance

Tworzy grupę obciążeń zarządcy zasobów i kojarzy grupę obciążeń z pulą zasobów zarządcy zasobów.

Zarządca zasobów nie jest dostępny w każdej wersji programu SQL Server. Aby uzyskać listę funkcji obsługiwanych przez wersje programu SQL Server, zobacz Editions i obsługiwane funkcje programu SQL Server 2022.

Nuta

W przypadku usługi Azure SQL Managed Instance musisz być w kontekście bazy danych master, aby zmodyfikować konfigurację zarządcy zasobów.

Transact-SQL konwencje składni.

Składnia

CREATE WORKLOAD GROUP group_name
[ WITH
    ( [ IMPORTANCE = { LOW | MEDIUM | HIGH } ]
      [ [ , ] REQUEST_MAX_MEMORY_GRANT_PERCENT = value ]
      [ [ , ] REQUEST_MAX_CPU_TIME_SEC = value ]
      [ [ , ] REQUEST_MEMORY_GRANT_TIMEOUT_SEC = value ]
      [ [ , ] MAX_DOP = value ]
      [ [ , ] GROUP_MAX_REQUESTS = value ] )
]
[ USING {
    [ pool_name | [default] ]
    [ [ , ] EXTERNAL external_pool_name | [default] ]
    } ]
[ ; ]

Argumenty

group_name

Nazwa zdefiniowana przez użytkownika dla grupy obciążeń. group_name jest alfanumeryczna, może zawierać maksymalnie 128 znaków, musi być unikatowa w wystąpieniu aparatu bazy danych i musi być zgodna z regułami dotyczącymi identyfikatorów bazy danych .

WAŻNOŚĆ = { NISKA | ŚREDNI | WYSOKI }

Określa względne znaczenie żądania w grupie obciążeń. Wartość domyślna to MEDIUM.

IMPORTANCE jest lokalna dla puli zasobów, która zawiera grupę obciążeń. Grupy obciążeń o różnym znaczeniu w tej samej puli zasobów wpływają na siebie, ale nie mają wpływu na grupy obciążeń w innych pulach zasobów.

REQUEST_MAX_MEMORY_GRANT_PERCENT = wartość

Określa maksymalną ilość pamięci obszaru roboczego zapytania, którą pojedyncze żądanie może pobrać z puli. wartość jest procentem rozmiaru puli zasobów zdefiniowanego przez MAX_MEMORY_PERCENT. Wartość domyślna to 25.

W programie SQL Server 2017 (14.x) i starszych wartość jest liczbą całkowitą, a dozwolony zakres wynosi od 1 do 100.

Począwszy od programu SQL Server 2019 (15.x), wartość może być ułamkowa przy użyciu typu danych float. Dozwolony zakres wynosi od 0 do 100.

Ważny

Określona ilość odnosi się tylko do pamięci obszaru roboczego kwerendy uzyskanej za pośrednictwem przydziałów pamięci zapytania.

Nie zaleca się ustawiania wartości zbyt dużej (na przykład większej niż 70), ponieważ serwer może nie być w stanie odłożyć wystarczającej ilości wolnej pamięci dla innych współbieżnych zapytań. Może to prowadzić do przekroczenia limitu czasu przydziału pamięci błędem 8645.

Ustawienie wartości na 0 lub małą wartość może uniemożliwić wykonywanie zapytań z operatorami wymagającymi pamięci obszaru roboczego, takimi jak sort i hash, z uruchamiania w grupach obciążeń zdefiniowanych przez użytkownika. Jeśli wymagania dotyczące pamięci zapytania przekraczają limit zdefiniowany przez ten parametr, występuje następujące zachowanie:

  • W przypadku grup obciążeń zdefiniowanych przez użytkownika serwer próbuje zmniejszyć stopień równoległości (DOP) żądania (zapytania), dopóki wymaganie pamięci nie spadnie do limitu lub dopóki DOP nie będzie równa 1. Jeśli wymaganie dotyczące pamięci zapytania jest nadal większe niż limit, wystąpi błąd 8657 i zapytanie zakończy się niepowodzeniem.
  • W przypadku grup obciążeń internal i default serwer zezwala na uzyskanie wymaganej pamięci przez zapytanie.

W obu przypadkach może wystąpić błąd 8645, jeśli serwer ma niewystarczającą ilość pamięci fizycznej.

REQUEST_MAX_CPU_TIME_SEC = wartości

Określa maksymalny czas procesora CPU (w sekundach), którego może używać żądanie. wartość musi być 0 lub dodatnią liczbą całkowitą. Ustawieniem domyślnym wartości jest 0, co oznacza nieograniczone.

Domyślnie zarządca zasobów nie uniemożliwia kontynuowanie żądania w przypadku przekroczenia maksymalnego czasu. Zdarzenie jest jednak generowane. Aby uzyskać więcej informacji, zobacz próg procesora CPU przekroczono klasę zdarzeń.

Począwszy od programu SQL Server 2016 (13.x) SP2 i PROGRAMU SQL Server 2017 (14.x) CU3, a także przy użyciu flagi śledzenia 2422, zarządca zasobów przerywa żądanie po przekroczeniu maksymalnego czasu procesora CPU.

REQUEST_MEMORY_GRANT_TIMEOUT_SEC = wartość

Określa maksymalny czas (w sekundach), przez który zapytanie może poczekać na przyznanie pamięci z pamięci obszaru roboczego zapytania, aby stało się dostępne. wartość musi być 0 lub dodatnią liczbą całkowitą. Ustawienie domyślne wartości , 0, używa wewnętrznego obliczenia na podstawie kosztu zapytania w celu określenia maksymalnego czasu.

Zapytanie nie zawsze kończy się niepowodzeniem po osiągnięciu limitu czasu przydziału pamięci. Zapytanie kończy się niepowodzeniem tylko wtedy, gdy jest uruchomionych zbyt wiele współbieżnych zapytań. W przeciwnym razie zapytanie może uzyskać tylko minimalną ilość przydziału pamięci, co spowoduje zmniejszenie wydajności zapytań.

MAX_DOP = wartości

Określa maksymalny stopień równoległości (MAXDOP) na potrzeby równoległego wykonywania zapytań. Dozwolony zakres wartości wynosi od 0 do 64. Ustawienie domyślne wartości , 0, używa ustawienia globalnego.

Aby uzyskać więcej informacji, zobacz MAXDOP.

GROUP_MAX_REQUESTS = wartości

Określa maksymalną liczbę równoczesnych żądań, które mogą być wykonywane w grupie obciążeń. wartość musi być 0 lub dodatnią liczbą całkowitą. Ustawieniem domyślnym wartości jest 0 i zezwala na nieograniczone żądania. Po osiągnięciu maksymalnej liczby współbieżnych żądań można utworzyć sesję w tej grupie, ale jest umieszczana w stanie oczekiwania, aż liczba współbieżnych żądań spadnie poniżej określonej wartości.

USING { pool_name | [domyślne] }

Kojarzy grupę obciążeń z pulą zasobów zdefiniowaną przez użytkownika zidentyfikowaną przez pool_namelub z pulą zasobów default. Jeśli nie podano pool_name lub jeśli argument USING nie zostanie określony, grupa obciążeń jest skojarzona z wbudowaną pulą default.

default jest słowem zastrzeżonym, a jeśli określono w USING, musi być ujęta w nawiasy ([]) lub cudzysłów ("").

Wbudowane pule zasobów i grupy obciążeń używają wszystkich małych liter, takich jak default. Użyj małych liter default na serwerach korzystających z sortowania z uwzględnieniem wielkości liter. Serwery z sortowaniem bez uwzględniania wielkości liter traktują default, Defaulti DEFAULT co ta sama wartość.

Zewnętrzne external_pool_name | [ustawienie domyślne]

Dotyczy: SQL Server 2016 (13.x) i nowszych.

Grupa obciążeń może określać zewnętrzną pulę zasobów. Grupę obciążeń można zdefiniować i skojarzyć z dwiema pulami:

  • Pula zasobów dla obciążeń aparatu bazy danych.
  • Zewnętrzna pula zasobów dla procesów zewnętrznych. Aby uzyskać więcej informacji, zobacz sp_execute_external_script.

Uwagi

Aby uzyskać więcej informacji, zobacz Zarządca zasobów i grupa obciążeń Zarządca zasobów.

MAXDOP

W przypadku danego zapytania obowiązująca MAXDOP jest określana w następujący sposób:

  • MAXDOP, ponieważ wskazówka dotycząca zapytania jest honorowana, o ile nie przekracza ustawienia MAX_DOP grupy obciążeń.
  • MAXDOP jako wskazówka zapytania zawsze zastępuje konfigurację serwera max degree of parallelism. Aby uzyskać więcej informacji, zobacz Server configuration: max degree of parallelism.
  • Grupa obciążeń MAX_DOP zastępuje konfigurację serwera max degree of parallelism i konfigurację o zakresie bazy danych MAXDOP.

Limit MAXDOP jest ustawiany na zadanie . Nie jest to żądanie na ani limit zapytania. Podczas wykonywania zapytania równoległego pojedyncze żądanie może zduplikować wiele zadań przypisanych do harmonogramu . Aby uzyskać więcej informacji, zobacz przewodnik dotyczący architektury wątków i zadań .

Gdy zapytanie jest oznaczone jako szeregowe w czasie kompilacji (MAXDOP = 1), nie może być wykonywane z równoległością w czasie wykonywania niezależnie od ustawienia grupy obciążeń lub konfiguracji serwera. Po określeniu MAXDOP dla zapytania można go zmniejszyć tylko z powodu użycia pamięci. Ponowna konfiguracja grupy obciążeń nie ma wpływu na zapytania oczekujące w kolejce przyznawania pamięci.

Tworzenie indeksu

Ze względu na wydajność tworzenie indeksu może używać więcej obszaru roboczego pamięci niż początkowo udzielono. Zarządca zasobów obsługuje tę specjalną obsługę. Jednak początkowe przyznanie i wszelkie dodatkowe przydziały pamięci są ograniczone przez ustawienia grupy obciążeń i puli zasobów.

Ilość pamięci użytej do utworzenia indeksu nieprzygotowanego w tabeli partycjonowanej jest proporcjonalna do liczby zaangażowanych partycji. Jeśli łączna wymagana ilość pamięci przekracza limit dla poszczególnych zapytań wymuszony przez ustawienie grupy obciążeń REQUEST_MAX_MEMORY_GRANT_PERCENT, tworzenie indeksu może zakończyć się niepowodzeniem. Ponieważ grupa obciążeń default zezwala na przekroczenie limitu dla poszczególnych zapytań z minimalną wymaganą ilością pamięci do uruchomienia w celu zapewnienia zgodności z poprzednimi wersjami, może być możliwe utworzenie tego samego indeksu przy użyciu grupy obciążeń default, jeśli pula zasobów default ma wystarczającą ilość pamięci całkowitej.

Uprawnienia

Wymaga uprawnienia CONTROL SERVER.

Przykład

Tworzy grupę obciążeń o nazwie newReports w puli zasobów default i ogranicza maksymalny przydział pamięci, maksymalny czas procesora CPU dla żądania i MAXDOP.

CREATE WORKLOAD GROUP newReports
WITH (
     REQUEST_MAX_MEMORY_GRANT_PERCENT = 2.5,
     REQUEST_MAX_CPU_TIME_SEC = 100,
     MAX_DOP = 4
     )
USING [default];

usługi SQL Managed Instance

* Azure Synapse
Analiza *
 

 

Azure Synapse Analytics

Tworzy grupę obciążeń. Grupy obciążeń to kontenery dla zestawu żądań i są podstawą sposobu konfigurowania zarządzania obciążeniami w systemie. Grupy obciążeń zapewniają możliwość rezerwowania zasobów na potrzeby izolacji obciążenia, zawierania zasobów, definiowania zasobów na żądanie i przestrzegania reguł wykonywania. Po zakończeniu instrukcji ustawienia będą obowiązywać.

Transact-SQL konwencje składni

CREATE WORKLOAD GROUP group_name
 WITH
 (   MIN_PERCENTAGE_RESOURCE = value 
   , CAP_PERCENTAGE_RESOURCE = value 
   , REQUEST_MIN_RESOURCE_GRANT_PERCENT = value
  [ [ , ] REQUEST_MAX_RESOURCE_GRANT_PERCENT = value ]
  [ [ , ] IMPORTANCE = { LOW | BELOW_NORMAL | NORMAL | ABOVE_NORMAL | HIGH } ]
  [ [ , ] QUERY_EXECUTION_TIMEOUT_SEC = value ] )
  [ ; ]

group_name
Określa nazwę, za pomocą której zidentyfikowano grupę obciążeń. group_name jest nazwą systemu. Może mieć długość maksymalnie 128 znaków i musi być unikatowa w ramach wystąpienia.

MIN_PERCENTAGE_RESOURCE = wartość
Określa gwarantowaną minimalną alokację zasobów dla tej grupy obciążeń, która nie jest współdzielona z innymi grupami obciążeń. Pamięć jest jedynym zasobem zarządzanym przez ten parametr. wartość jest liczbą całkowitą z zakresu od 0 do 100. Suma min_percentage_resource we wszystkich grupach obciążeń nie może przekroczyć 100. Wartość min_percentage_resource nie może być większa niż cap_percentage_resource. Istnieją minimalne dozwolone wartości obowiązujące na poziomie usługi. Aby uzyskać więcej informacji, zobacz obowiązujące wartości.

CAP_PERCENTAGE_RESOURCE = wartość
Określa maksymalne wykorzystanie zasobów dla wszystkich żądań w grupie obciążeń. Zarówno zasoby procesora CPU, jak i pamięci są ograniczone przez ten parametr. Dozwolony zakres liczb całkowitych dla wartości wynosi od 1 do 100. Wartość cap_percentage_resource musi być większa niż min_percentage_resource. Efektywną wartość cap_percentage_resource można zmniejszyć, jeśli min_percentage_resource jest skonfigurowana większa niż zero w innych grupach obciążeń.

REQUEST_MIN_RESOURCE_GRANT_PERCENT = wartość
Ustawia minimalną ilość zasobów przydzielonych na żądanie. Pamięć jest jedynym zasobem zarządzanym przez ten parametr. wartość jest wymaganym parametrem z zakresem dziesiętnym z zakresu od 0,75 do 100,00. Wartość request_min_resource_grant_percent musi być wielokrotną 0,25, musi być czynnikiem min_percentage_resource i być mniejsza niż cap_percentage_resource. Istnieją minimalne dozwolone wartości obowiązujące na poziomie usługi. Aby uzyskać więcej informacji, zobacz obowiązujące wartości.

Na przykład:

CREATE WORKLOAD GROUP wgSample 
WITH
  ( MIN_PERCENTAGE_RESOURCE = 26                -- integer value
    , REQUEST_MIN_RESOURCE_GRANT_PERCENT = 3.25 -- factor of 26 (guaranteed a minimum of 8 concurrency)
    , CAP_PERCENTAGE_RESOURCE = 100 )

Rozważ wartości używane dla klas zasobów jako wskazówki dotyczące request_min_resource_grant_percent. Poniższa tabela zawiera alokacje zasobów dla generacji 2.

Klasa zasobów Procent zasobów
Smallrc 3%
Mediumrc 10%
Większy rozmiar 22%
Xlargerc 70%

REQUEST_MAX_RESOURCE_GRANT_PERCENT =
wartości
Ustawia maksymalną ilość zasobów przydzielonych na żądanie. Pamięć jest jedynym zasobem zarządzanym przez ten parametr. wartość jest opcjonalnym parametrem dziesiętnym z wartością domyślną równą request_min_resource_grant_percent. wartość musi być większa lub równa request_min_resource_grant_percent. Gdy wartość request_max_resource_grant_percent jest większa niż request_min_resource_grant_percent, a zasoby systemowe są dostępne, dodatkowe zasoby są przydzielane do żądania.

WAŻNOŚĆ = { NISKA | BELOW_NORMAL | NORMALNY | ABOVE_NORMAL | WYSOKA }

Określa domyślną ważność żądania dla grupy obciążeń. Ważność jest jedną z następujących wartości, a wartość normalna jest wartością domyślną:

  • NISKI
  • BELOW_NORMAL
  • NORMALNY (ustawienie domyślne)
  • ABOVE_NORMAL
  • WYSOKI

Ważność ustawiona w grupie obciążeń jest domyślną ważnością dla wszystkich żądań w grupie obciążeń. Użytkownik może również ustawić ważność na poziomie klasyfikatora, który może zastąpić ustawienie ważności grupy obciążeń. Pozwala to na szybsze rozróżnianie znaczenia żądań w grupie obciążeń w celu uzyskania dostępu do zasobów innych niż zarezerwowane. Gdy suma min_percentage_resource w grupach obciążeń jest mniejsza niż 100, istnieją zasoby nieobsądzone zarezerwowane, które są przypisywane na podstawie ważności.

QUERY_EXECUTION_TIMEOUT_SEC =
wartości
Określa maksymalny czas (w sekundach), który może zostać wykonany przez zapytanie przed jego anulowaniem. wartość musi być 0 lub dodatnią liczbą całkowitą. Ustawieniem domyślnym wartości jest wartość 0, której zapytanie nigdy nie powoduje limitu czasu. QUERY_EXECUTION_TIMEOUT_SEC liczone po uruchomieniu zapytania, a nie w przypadku kolejki zapytania.

Uwagi

Grupy obciążeń odpowiadające klasom zasobów są tworzone automatycznie w celu zapewnienia zgodności z poprzednimi wersjami. Nie można usunąć tych grup obciążeń zdefiniowanych przez system. Można utworzyć dodatkowe 8 grup obciążeń zdefiniowanych przez użytkownika.

Jeśli grupa obciążeń zostanie utworzona przy użyciu min_percentage_resource większej niż zero, instrukcja CREATE WORKLOAD GROUP będzie kolejkować do momentu utworzenia grupy obciążeń wystarczającej ilości zasobów.

Obowiązujące wartości

Parametry min_percentage_resource, cap_percentage_resource, request_min_resource_grant_percent i request_max_resource_grant_percent mają obowiązujące wartości dostosowane w kontekście bieżącego poziomu usługi i konfiguracji innych grup obciążeń.

Parametr request_min_resource_grant_percent ma efektywną wartość, ponieważ w zależności od poziomu usługi wymagane są minimalne zasoby na zapytanie. Na przykład na najniższym poziomie usługi DW100c wymagany jest co najmniej 25% zasobów na żądanie. Jeśli grupa obciążeń jest skonfigurowana z 3% request_min_resource_grant_percent i request_max_resource_grant_percent, obowiązujące wartości obu parametrów są dostosowywane do 25% po uruchomieniu wystąpienia. Jeśli wystąpienie jest skalowane w górę do DW1000c skonfigurowanych i skutecznych wartości dla obu parametrów wynosi 3%, ponieważ 3% jest minimalną obsługiwaną wartością na tym poziomie usługi. Jeśli wystąpienie jest skalowane wyżej niż DW1000c, skonfigurowane i obowiązujące wartości dla obu parametrów pozostaną na poziomie 3%. Zapoznaj się z poniższą tabelą, aby uzyskać więcej szczegółowych informacji na temat obowiązujących wartości na różnych poziomach usług.

Poziom usług Najniższa efektywna wartość dla REQUEST_MIN_RESOURCE_GRANT_PERCENT Maksymalna liczba współbieżnych zapytań
DW100c 25% 4
DW200c 12.5% 8
DW300c 8% 12
DW400c 6.25% 16
DW500c 5% 20
DW1000c 3% 32
DW1500c 3% 32
DW2000c 2% 48
DW2500c 2% 48
DW3000c 1.5% 64
DW5000c 1.5% 64
DW6000c 0,75% 128
DW7500c 0,75% 128
DW10000c 0,75% 128
DW15000c 0,75% 128
DW30000c 0,75% 128

Parametr min_percentage_resource musi być większy lub równy skutecznemu request_min_resource_grant_percent. Grupa obciążeń z min_percentage_resource skonfigurowana mniej niż efektywna min_percentage_resource ma wartość dostosowaną do zera w czasie wykonywania. W takim przypadku zasoby skonfigurowane dla min_percentage_resource są dostępne we wszystkich grupach obciążeń. Na przykład grupa obciążeń wgAdHoc z min_percentage_resource z 10% uruchomionych w dw1000c będzie miała efektywną min_percentage_resource 10% (3% jest minimalną obsługiwaną wartością na DW1000c). wgAdhoc w dw100c miałby skuteczny min_percentage_resource 0%. 10% skonfigurowanych dla wgAdhoc będzie współużytkowanych we wszystkich grupach obciążeń.

Parametr cap_percentage_resource ma również efektywną wartość. Jeśli grupa obciążeń wgAdhoc jest skonfigurowana przy użyciu cap_percentage_resource z 100% i zostanie utworzona inna grupa obciążeń wgDashboards z 25% min_percentage_resource, efektywna cap_percentage_resource dla wgAdhoc stanie się 75%.

Najprostszym sposobem zrozumienia wartości czasu wykonywania dla grup obciążeń jest wykonywanie zapytań względem widoku systemu sys.dm_workload_management_workload_groups_stats.

Uprawnienia

Wymaga uprawnień CONTROL DATABASE

Zobacz też