Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy: Azure Synapse Analytics
Tworzy obiekt klasyfikujący do zarządzania obciążeniem. Klasyfikator przypisuje przychodzące żądania do grupy obciążeń na podstawie parametrów określonych w definicji instrukcji klasyfikatora. Klasyfikatory są oceniane przy każdym złożonym żądaniu. Jeśli żądanie nie zostanie dopasowane do klasyfikatora, jest przypisane do domyślnej grupy obciążeń. Domyślną grupą obciążenia jest klasa smallrc zasobu.
Uwaga / Notatka
Zachowanie klasyfikacji zarządzanych tożsamości (MI) różni się między dedykowaną pulą SQL w przestrzeniach roboczych Azure Synapse a samodzielną dedykowaną pulą SQL (dawniej SQL DW). Podczas gdy samodzielna dedykowana pula SQL MI zachowuje przypisaną tożsamość, przestrzenie robocze Azure Synapse dodają MI do roli dbo. Nie można tego zmienić. Rola dbo jest domyślnie sklasyfikowana do .smallrc Utworzenie klasyfikatora dla roli dbo pozwala przypisać żądania do grupy obciążeń innej niż smallrc. Jeśli samo dbo jest zbyt ogólne do klasyfikacji i ma szerszy wpływ, rozważ użycie klasyfikacji na podstawie etykiet, sesji lub czasu w połączeniu z klasyfikacją roli DBO .
Transact-SQL konwencje składni
Syntax
CREATE WORKLOAD CLASSIFIER classifier_name
WITH
( WORKLOAD_GROUP = 'name'
, MEMBERNAME = 'security_account'
[ [ , ] WLM_LABEL = 'label' ]
[ [ , ] WLM_CONTEXT = 'context' ]
[ [ , ] START_TIME = 'HH:MM' ]
[ [ , ] END_TIME = 'HH:MM' ]
[ [ , ] IMPORTANCE = { LOW | BELOW_NORMAL | NORMAL | ABOVE_NORMAL | HIGH } ] )
[ ; ]
Uwaga / Notatka
Ta składnia nie jest obsługiwana przez bezserwerową pulę SQL w usłudze Azure Synapse Analytics.
Arguments
classifier_name
Określa nazwę, pod którą identyfikowany jest klasyfikator obciążenia. classifier_name to sysname. Ten parametr może mieć do 128 znaków długości i musi być unikalny w obrębie instancji.
WORKLOAD_GROUP = 'imię'
Gdy warunki zostaną spełnione przez reguły klasyfikatora, przypisuje się żądaniu nazwę do grupy obciążeń. Nazywamsię sysname. Ten parametr może mieć do 128 znaków i musi być ważną nazwą grupy obciążenia w momencie tworzenia klasyfikatora.
Dostępne grupy obciążeń można znaleźć w sys.workload_management_workload_groups widoku katalogu.
IMIĘ CZŁONKÓW = 'security_account'
Konto zabezpieczające używane do klasyfikacji. security_account to nazwa sysname, bez domyślnego ustawienia. security_account może być użytkownikiem bazy danych, rolą bazy danych, Microsoft Entra logowaniem lub grupą Microsoft Entra.
Uwaga / Notatka
Użyj user_name() tej funkcji, gdy jest podłączona do systemu, aby zweryfikować, czy MEMBERNAME proces klasyfikacji będzie ją używał do klasyfikacji żądania. Weryfikacja za MEMBERNAME pomocą user_name() funkcji może pomóc w rozwiązywaniu problemów z Microsoft Entra ID lub klasyfikacją zasad usług. Jeśli user_name() zwróci dbo, możesz użyć dbo jako narzędzia MEMBERNAME do klasyfikacji żądań. Wszyscy członkowie roli dbo będą klasyfikowani. Dodatkowe parametry klasyfikacji, takie jak WLM_LABEL lub mogą WLM_CONTEXT być również używane do specyficznej klasyfikacji żądań z wielu kont Microsoft Entra przypisujących się roli dbo.
WLM_LABEL
Określa wartość etykiety, według której żądanie może być klasyfikowane. Etykieta jest opcjonalnym parametrem typu nvarchar(255). Użyj OPTION (ETYKIETA) w żądaniu, aby dopasować konfigurację klasyfikatora.
Przykład:
CREATE WORKLOAD CLASSIFIER wcELTLoads
WITH (
WORKLOAD_GROUP = 'wgDataLoad',
MEMBERNAME = 'ELTRole',
WLM_LABEL = 'dimension_loads'
);
SELECT COUNT(*) FROM DimCustomer
OPTION (LABEL = 'dimension_loads');
WLM_CONTEXT
Określa wartość kontekstu sesji, do której żądanie może być klasyfikowane.
WLM_CONTEXTjest opcjonalnym parametrem typu nvarchar(255). Użyj sys.sp_set_session_context z nazwą zmiennej równą przed wlm_context złożeniem żądania, aby ustawić kontekst sesji.
Przykład:
CREATE WORKLOAD CLASSIFIER wcDataLoad
WITH (
WORKLOAD_GROUP = 'wgDataLoad',
MEMBERNAME = 'ELTRole',
WLM_CONTEXT = 'dim_load'
);
--set session context
EXEC sys.sp_set_session_context @key = 'wlm_context', @value = 'dim_load';
--run multiple statements using the wlm_context setting
SELECT COUNT(*) FROM stg.daily_customer_load;
SELECT COUNT(*) FROM stg.daily_sales_load;
--turn off the wlm_context session setting
EXEC sys.sp_set_session_context @key = 'wlm_context', @value = NULL;
START_TIME i END_TIME
Określa czas rozpoczęcia i zakończenie, według którego żądanie może być klasyfikowane. Oba START_TIME i END_TIME mają format obowiązujący HH:mm w strefie czasowej UTC.
START_TIME i END_TIME muszą być określone razem.
Przykład:
CREATE WORKLOAD CLASSIFIER wcELTLoads
WITH (
WORKLOAD_GROUP = 'wgDataLoads',
MEMBERNAME = 'ELTRole',
START_TIME = '22:00',
END_TIME = '02:00'
);
WAŻNOŚĆ = { NISKA | BELOW_NORMAL | NORMALNY | ABOVE_NORMAL | WYSOKI }
Określa względne znaczenie żądania.
IMPORTANCE jest jedną z następujących opcji:
LOWBELOW_NORMAL-
NORMAL(ustawienie domyślne) ABOVE_NORMALHIGH
Jeśli IMPORTANCE nie jest to określone, używa się ustawienia ważności grupy obciążenia. Domyślna waga grupy obciążeń to NORMAL. Znaczenie wpływa na kolejność harmonogramowania żądań, co daje pierwszy dostęp do zasobów i zamków.
Remarks
Maksymalna liczba klasyfikatorów definiowanych przez użytkownika to 100. Dodatkowe konfiguracje wykraczające poza ten limit nie są obsługiwane. Zaleca się grupowanie klasyfikatorów we wspólną kategorię, aby efektywnie stosować jedno ustawienie do wielu zadań lub użytkowników.
Ważenie parametrów klasyfikacji
Żądanie może dopasować się do wielu klasyfikatorów. Parametry klasyfikatora mają swoje ważenie. Klasyfikator dopasowania o wyższej wadze służy do przypisania grupy obciążenia i ważności. Waga jest następująca:
| Parametr klasyfikatora | Weight |
|---|---|
USER |
64 |
ROLE |
32 |
WLM_LABEL |
16 |
WLM_CONTEXT |
8 |
START_TIME/END_TIME |
4 |
Rozważmy następujące konfiguracje klasyfikatorów.
CREATE WORKLOAD CLASSIFIER classifierA
WITH (
WORKLOAD_GROUP = 'wgDashboards',
MEMBERNAME = 'userloginA',
IMPORTANCE = HIGH,
WLM_LABEL = 'salereport'
);
CREATE WORKLOAD CLASSIFIER classifierB
WITH (
WORKLOAD_GROUP = 'wgUserQueries',
MEMBERNAME = 'userloginA',
IMPORTANCE = LOW,
START_TIME = '18:00',
END_TIME = '07:00'
);
Użytkownik userloginA jest skonfigurowany dla obu klasyfikatorów. Jeśli userloginA wykonuje zapytanie z etykietą równą salesreport między 18:00 a 7:00 UTC, żądanie jest klasyfikowane do wgDashboards grupy obciążeń o HIGH znaczeniu. Oczekiwanie może polegać na klasyfikowaniu żądania do z istotą dla raportowania poza godzinami pracy, ale waga jest WLM_LABEL wyższa niż START_TIMEEND_TIME/.LOWwgUserQueries Waga wynosi classifierA ( 8064 dla użytkownika, plus 16 dla WLM_LABEL). Waga to classifierB ( dla użytkownika, 4 dlaEND_TIME/START_TIME ).6468 W takim przypadku można dodać WLM_LABEL do classifierB.
Więcej informacji można znaleźć w artykule wagowanie obciążenia pracą.
Permissions
Wymaga CONTROL DATABASE uprawnienia.
Examples
Poniższy przykład pokazuje, jak stworzyć klasyfikator obciążenia o nazwie wgcELTRole. Wykorzystuje grupę staticrc20 obciążeń, użytkownika ELTRole, i ustawia WAŻNOŚĆ na .ABOVE_NORMAL
CREATE WORKLOAD CLASSIFIER wgcELTRole
WITH (
WORKLOAD_GROUP = 'staticrc20',
MEMBERNAME = 'ELTRole',
IMPORTANCE = ABOVE_NORMAL
);