Udostępnij za pośrednictwem


ALTER RESOURCE GOVERNOR (Transact-SQL)

Dotyczy:programu SQL ServerAzure SQL Managed Instance

To stwierdzenie wykonuje następujące działania zarządcy zasobów:

  • Włączanie lub wyłączanie zarządcy zasobów.
  • Zastosuj zmiany konfiguracji określone podczas wykonywania instrukcji CREATE | ALTER | DROP WORKLOAD GROUP lub CREATE | ALTER | DROP RESOURCE POOL lub CREATE | ALTER | DROP EXTERNAL RESOURCE POOL.
  • Konfigurowanie klasyfikacji dla sesji przychodzących.
  • Zresetuj grupę obciążeń i statystyki puli zasobów.
  • Ustaw maksymalną liczbę operacji we/wy w kolejce na wolumin dysku.

Transact-SQL konwencje składni

Składnia

ALTER RESOURCE GOVERNOR
    { RECONFIGURE
          [ WITH
                ( [ CLASSIFIER_FUNCTION = { schema_name.function_name | NULL } ]
                  [ [ , ] MAX_OUTSTANDING_IO_PER_VOLUME = value ]
                )
          ]
      | DISABLE
      | RESET STATISTICS
    }
[ ; ]

Argumenty

ZMIENIĆ KONFIGURACJĘ

Jeśli zarządca zasobów nie jest włączony, RECONFIGURE umożliwia zarządcę zasobów. Włączenie zarządcy zasobów ma następujące wyniki:

  • Funkcja klasyfikatora, jeśli istnieje, jest wykonywana dla nowych sesji, przypisując je do grup obciążeń.
  • Rezerwacje zasobów i limity określone w konfiguracji zarządcy zasobów są honorowane i wymuszane.
  • Żądania, które istniały przed włączeniem zarządcy zasobów, mogą mieć wpływ na wszelkie zmiany konfiguracji wprowadzone po włączeniu zarządcy zasobów.

Gdy zarządca zasobów jest włączony, RECONFIGURE stosuje wszelkie zmiany konfiguracji wprowadzone przez CREATE | ALTER | DROP WORKLOAD GROUP lub CREATE | ALTER | DROP RESOURCE POOL lub instrukcje CREATE | ALTER | DROP EXTERNAL RESOURCE POOL po poprzednim użyciu RECONFIGURE lub po ostatnim ponownym uruchomieniu aparatu bazy danych.

Ważny

ALTER RESOURCE GOVERNOR RECONFIGURE należy wykonać, aby zmiany konfiguracji zarządcy zasobów zaczęły obowiązywać.

CLASSIFIER_FUNCTION = { schema_name.function_name | NULL }

Rejestruje funkcję klasyfikacji określoną przez schema_name.function_name. Ta funkcja klasyfikuje każdą nową sesję i przypisuje sesję do grupy obciążeń. Gdy NULL jest używana, nowe sesje są automatycznie przypisywane do grupy obciążeń default.

MAX_OUTSTANDING_IO_PER_VOLUME = wartości

Dotyczy: SQL Server 2014 (12.x) i nowszych.

Ustawia maksymalną liczbę operacji we/wy w kolejce na wolumin dysku. Te operacje we/wy mogą być odczytywane lub zapisywane w dowolnym rozmiarze. Maksymalna wartość MAX_OUTSTANDING_IO_PER_VOLUME wynosi 100. Wartość nie jest wartością procentową. To ustawienie zostało zaprojektowane w celu dostosowania ładu zasobów we/wy do właściwości we/wy woluminu dysku. Zapewnia kontrolę bezpieczeństwa na poziomie systemu, która umożliwia aparatowi bazy danych spełnienie ustawienia MIN_IOPS_PER_VOLUME określonego dla pul zasobów, nawet jeśli inne pule mają ustawienie MAX_IOPS_PER_VOLUME ustawione na nieograniczoną. Aby uzyskać więcej informacji, zobacz CREATE RESOURCE POOL.

WYŁĄCZAĆ

Wyłącza zarządcę zasobów. Wyłączenie zarządcy zasobów ma następujące wyniki:

  • Funkcja klasyfikatora nie jest wykonywana.
  • Wszystkie nowe sesje użytkowników są automatycznie klasyfikowane w grupie obciążeń default.
  • Sesje systemowe są klasyfikowane w grupie obciążeń internal.
  • Wszystkie istniejące ustawienia grupy obciążeń i puli zasobów są resetowane do ich wartości domyślnych. Po osiągnięciu limitów nie są wyzwalane żadne zdarzenia.
  • Nie ma to wpływu na normalne monitorowanie systemu.
  • Zmiany konfiguracji zarządcy zasobów można wprowadzić, ale zmiany nie zostaną wprowadzone do momentu włączenia zarządcy zasobów.
  • Po ponownym uruchomieniu aparatu bazy danych zarządca zasobów nie ładuje konfiguracji, ale używa tylko default i internal grup obciążeń i pul zasobów.

RESETOWANIE STATYSTYK

Resetuje statystyki dotyczące wszystkich grup obciążeń i pul zasobów uwidocznionych w sys.dm_resource_governor_workload_groups i sys.dm_resource_governor_resource_pools.

Uwagi

ALTER RESOURCE GOVERNOR nie można używać wewnątrz transakcji użytkownika.

Parametr RECONFIGURE jest częścią składni zarządcy zasobów. Nie należy jej mylić z RECONFIGURE, która jest oddzielną instrukcją DDL.

Aby uzyskać więcej informacji, zobacz Zarządca zasobów.

Uprawnienia

Wymaga uprawnienia CONTROL SERVER.

Przykłady

Włączanie zarządcy zasobów

Po zainstalowaniu programu SQL Server zarządca zasobów jest wyłączony. Poniższy przykład umożliwia zarządcę zasobów. Po wykonaniu instrukcji zarządca zasobów jest włączony i używa wbudowanych grup obciążeń i pul zasobów.

ALTER RESOURCE GOVERNOR RECONFIGURE;

Przypisywanie nowych sesji do grupy domyślnej

W poniższym przykładzie wszystkie nowe sesje są przypisywane do grupy obciążeń default przez usunięcie dowolnej istniejącej funkcji klasyfikatora z konfiguracji zarządcy zasobów. Jeśli żadna funkcja nie jest wyznaczona jako funkcja klasyfikatora, wszystkie nowe sesje użytkownika są przypisywane do grupy obciążeń default. Ta zmiana dotyczy tylko nowych sesji. Nie ma to wpływu na istniejące sesje.

ALTER RESOURCE GOVERNOR WITH (CLASSIFIER_FUNCTION = NULL);
ALTER RESOURCE GOVERNOR RECONFIGURE;

Tworzenie i rejestrowanie funkcji klasyfikatora

Poniższy przykład tworzy funkcję klasyfikatora o nazwie dbo.rg_classifier w bazie danych master. Funkcja klasyfikuje każdą nową sesję na podstawie nazwy użytkownika lub nazwy aplikacji i przypisuje żądania sesji i zapytania do określonej grupy obciążeń. Sesje, które nie są mapowane na określone nazwy użytkowników lub aplikacji, są przypisywane do domyślnej grupy obciążeń. Funkcja klasyfikatora jest następnie zarejestrowana, a zmiana konfiguracji jest stosowana.

USE master;
GO

CREATE FUNCTION dbo.rg_classifier()
RETURNS sysname
WITH SCHEMABINDING
AS
BEGIN

-- Declare the variable for the function return value.
DECLARE @grp_name AS sysname;

-- If the login name is 'sa', classify the session into the groupAdmin workload group
IF (SUSER_NAME() = 'sa')
  SET @grp_name = 'groupAdmin';

-- Classify SSMS sessions into the groupAdhoc workload group
ELSE IF UPPER(APP_NAME()) LIKE '%MANAGEMENT STUDIO%'
  SET @grp_name = 'groupAdhoc';

-- Classify SSRS sessions into groupReports workload group
ELSE IF UPPER(APP_NAME()) LIKE '%REPORT SERVER%'
  SET @grp_name = 'groupReports';

-- Otherwise, classify the session into the default workload group
ELSE
  SET @grp_name = 'default';

-- Return the name of the workload group
RETURN @grp_name;

END;
GO

-- Register the classifier function and update resource governor configuration
ALTER RESOURCE GOVERNOR WITH (CLASSIFIER_FUNCTION = dbo.rg_classifier);
ALTER RESOURCE GOVERNOR RECONFIGURE;

Resetowanie statystyk zarządcy zasobów

Poniższy przykład resetuje wszystkie statystyki grupy obciążeń i puli zasobów.

ALTER RESOURCE GOVERNOR RESET STATISTICS;

Konfigurowanie ustawienia MAX_OUTSTANDING_IO_PER_VOLUME

W poniższym przykładzie ustawiono ustawienie MAX_OUTSTANDING_IO_PER_VOLUME na 20 we/wy.

ALTER RESOURCE GOVERNOR WITH (MAX_OUTSTANDING_IO_PER_VOLUME = 20);