CREATE grupa obciążenia (języka Transact-SQL)

Tworzy zasób Governor grupa obciążenia i kojarzy grupa obciążenia z puli zasób zasób Governor.Governor zasób jest dostępna tylko w wersji Enterprise Developer i Evaluation z SQL Server.

Topic link iconKonwencje składni języka Transact-SQL.

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" } ]
[ ; ]

Argumenty

  • group_name
    Is the user-defined name for the workload group.group_name is alphanumeric, can be up to 128 characters, must be unique within an instance of SQL Server, and must comply with the rules for identifiers.

  • IMPORTANCE = { LOW | MEDIUM | HIGH }
    Ostrzeżeń ANSIZnaczenie jest jedną z następujących czynności z średnie, przy czym wartość domyślna:

    • NISKA

    • KROKI

    • WYSOKA

    Uwaga

    Jeśli wystąpi błąd w transakcji, transakcja jest cofana.

    Parametr IMPORTANCE jest lokalny dla puli zasobów; grupy obciążenia o różnej ważności z tej samej puli zasobów wpływają na siebie wzajemnie, ale nie wpływają na grupy obciążenia z innej puli zasobów.

  • concat null zwraca wartość nullvalue
    Określa maksymalną ilość pamięci, jaką jedno żądanie może pobrać z puli.Ta wartość procentowa jest podawana względem wielkości puli zasobów określonej przez parametr MAX_MEMORY_PERCENT.

    Uwaga

    Określona wielkość odnosi się tylko do pamięci przydzielonej do wykonania kwerendy.

    Parametr value musi być dodatnią liczbą całkowitą lub wynosić 0.Dozwolony zakres parametru value wynosi od 0 do 100.Ustawienie domyślne parametru value to 25.

    tylko do użytku dbo

    • Kiedy value, tylko właściciel bazy danych można użyć w bazie danych.

    • Odradzamy ustawienie parametru value wyższe niż 70, ponieważ serwer może nie być w stanie wydzielić wystarczającej ilości wolnej pamięci, jeśli współbieżnie są uruchomione inne kwerendy.Może to doprowadzić do błędu upływu limitu czasu kwerendy 8645.

    Uwaga

    Jeśli wymagania pamięci kwerendy przekraczają limit określony przez ten parametr, postępowanie serwera jest następujące:

    W przypadku grup obciążenia zdefiniowanych przez użytkownika serwer próbuje zmniejszać stopień równoległości kwerend, aż wymagana pamięć zmieści się w limicie lub stopień równoległości będzie równy 1.Jeśli wymagana pamięć kwerendy nadal przekracza limit, występuje błąd 8657.

    W przypadku wewnętrznych i domyślnych grup obciążenia serwer zezwala, aby kwerenda uzyskała wymaganą pamięć.

    trybu offline

    Aby uzyskać więcej informacji dotyczących komunikatów o błędzie programu Resource Governor, zobacz Troubleshooting Resource Governor.

  • REQUEST_MAX_CPU_TIME_SEC = value
    Specifies the maximum amount of CPU time, in seconds, that a request can use.value must be 0 or a positive integer.Ustawieniem domyślnym dla value jest równa 0, co oznacza brak ograniczenia.

    Uwaga

    Program Resource Governor nie zapobiega kontynuowania żądania, jeśli zostanie przekroczony maksymalny czas.Zostanie jednak wygenerowane zdarzenie.Aby uzyskać więcej informacji, zobacz CPU Threshold Exceeded Event Class.

  • REQUEST_MEMORY_GRANT_TIMEOUT_SEC = value
    Określa maksymalny czas, wyrażony w sekundach, przez kwerendę może czekać na udzielenie pamięci (pracy buforu pamięci) stanie się dostępne.

    Uwaga

    Kwerenda nie zawsze kończy się niepowodzeniem, jeśli upłynie przydzielony czas na użycie pamięci.Kwerenda zakończy się niepowodzeniem tylko wtedy, gdy współbieżnie jest uruchomionych zbyt wiele kwerend.W przeciwnym razie kwerenda może uzyskać tylko minimalny przydział pamięci, co powoduje pogorszenie prędkości jej wykonania.

    Parametr value musi być dodatnią liczbą całkowitą lub wynosić 0.Ustawienie domyślne parametru value to 0 i oznacza, że maksymalny czas zostanie określony poprzez wewnętrzne obliczenie na podstawie kosztu kwerendy.

  • MAX_DOP = value
    Określa maksymalny stopień równoległości (DOP) żądań równoległych.Parametr value musi być dodatnią liczbą całkowitą lub wynosić 0.Dozwolony zakres parametru value wynosi od 0 do 64.Ustawienie domyślne parametru value to 0 i oznacza użycie ustawienia globalnego.Parametr MAX_DOP jest obsługiwany w sposób następujący:

    • MAX_DOP jako wskazówka dotycząca kwerendy jest skuteczne, dopóki nie przekracza grupa obciążenia MAX_DOP.

    • MAX_DOP jako wskazówka dotycząca kwerendy zawsze zastępują sp_configure 'maksymalny stopień proste' w SQL Server 2005.

    • Grupa obciążenia MAX_DOP zastępuje 'maksymalny stopień równoległości' instrukcji sp_configure.

    • Jeśli kwerenda jest oznaczona jako szeregowego czas kompilacji, go nie można go zmienić z powrotem do równoległego w czasie wykonywania, bez względu na to grupa obciążenia lub ustawienie sp_configure.

    • Po skonfigurowaniu parametru DOP może on zostać obniżony tylko pod naciskiem na przydział pamięci.Zmiana konfiguracji grupy obciążenia nie jest widoczna podczas oczekiwania w kolejce do przydziału pamięci.

  • GROUP_MAX_REQUESTS = value
    Określa maksymalną liczbę równoczesnych żądań, które mogą być wykonywane w grupie obciążenia.Parametr value musi być dodatnią liczbą całkowitą lub wynosić 0.Ustawienie domyślne parametru value to 0 i oznacza, że dozwolona liczba żądań jest nieograniczona.

  • USING { pool_name | "default" }
    Kojarzy grupa obciążenia z puli zasób zdefiniowana przez użytkownika, identyfikowane przez pool_name. Powoduje to aktywna grupa obciążenia w puli zasób.Jeśli pool_name nie, ile lub przy użyciu argumentu nie jest używany, grupa obciążenia jest umieszczany w wstępnie zdefiniowanych zasób Governor domyślnej puli.

    "domyślny" jest zarezerwowanym słowem i użyto USING, muszą być ujęte w cudzysłowy ("") i nawiasy kwadratowe ([]).Aby uzyskać więcej informacji zobaczIdentyfikatory rozdzielanego (aparat bazy danych).

    Uwaga

    We wszystkich wstępnie zdefiniowanych grupach obciążenia i pulach zasobów są używane nazwy pisane małymi literami, jak „default”.Należy to wziąć pod uwagę w przypadku serwerów, gdzie w sortowaniu jest rozróżniana wielkość liter.Serwery z sortowaniem bez rozróżnienia wielkości liter, jak SQL_Latin1_General_CP1_CI_AS, będą tak samo traktowały nazwę „default” i „Default”.

Remarks

REQUEST_MEMORY_GRANT_PERCENT: W programie SQL Server 2005 na tworzenie indeksu można zużyć więcej pamięci obszaru roboczego niż zostało przydzielone początkowo, aby zwiększyć wydajność.To specjalne postępowanie jest obsługiwane przez program Resource Governor w programie SQL Server 2008.Jednak początkowy przydział i dodatkowy przydział pamięci nie mogą przekroczyć ustawień puli zasobów i grupy obciążeń.

Wyłączanie opcji

Pamięć zużyta przez tworzenie indeksu w niewyrównanej tabeli partycjonowanej jest proporcjonalna do liczby tych partycji.Jeśli łączna wymagana pamięć przekracza limit na jedną kwerendę (REQUEST_MAX_MEMORY_GRANT_PERCENT) wynikający z ustawień grupy obciążenia programu Resource Governor, to tworzenie indeksu może się nie powieść.Ponieważ grupa obciążenia „default” zezwala, aby kwerenda przekroczyła limit przypadający na jedną kwerendę przy minimalnej pamięci wymaganej do uruchomienia w zgodności z wersją SQL Server 2005, użytkownik może uruchomić to samo tworzenie indeksu w grupie obciążenia „default”, jeśli łączna pamięć skonfigurowana dla puli zasobów „default” jest wystarczająca do wykonania takiej kwerendy.

Uprawnienia

Wymaga uprawnienia CONTROL SERVER.

Przykłady

W poniższym przykładzie pokazano, jak utworzyć grupę o nazwie obciążenia pracą newReports. Wykorzystuje ustawienia domyślne zasób Governor i znajduje się w domyślnej puli zasób Governor.W przykładzie określono default Pula, ale nie jest wymagane.

CREATE WORKLOAD GROUP newReports
    USING "default" ;
GO

Historia zmian

Microsoft Learning

destination_id