ÄNDRA RESURSGUVERNÖR (Transact-SQL)
gäller för:SQL ServerAzure SQL Managed Instance
Den här instruktionen utför följande åtgärder för resursguvernör:
- Aktivera eller inaktivera resursguvernör.
- Tillämpa de konfigurationsändringar som anges när
CREATE | ALTER | DROP WORKLOAD GROUP
- ellerCREATE | ALTER | DROP RESOURCE POOL
- ellerCREATE | ALTER | DROP EXTERNAL RESOURCE POOL
-instruktioner körs. - Konfigurera klassificering för inkommande sessioner.
- Återställ statistik för arbetsbelastningsgrupper och resurspooler.
- Ange maximalt antal I/O-åtgärder i kö per diskvolym.
Transact-SQL syntaxkonventioner
Syntax
ALTER RESOURCE GOVERNOR
{ RECONFIGURE
[ WITH
( [ CLASSIFIER_FUNCTION = { schema_name.function_name | NULL } ]
[ [ , ] MAX_OUTSTANDING_IO_PER_VOLUME = value ]
)
]
| DISABLE
| RESET STATISTICS
}
[ ; ]
Argument
KONFIGURERA
När resursguvernören inte är aktiverad aktiverar RECONFIGURE
resursguvernören. När du aktiverar resursguvernören får du följande resultat:
- Om det finns någon klassificeringsfunktion körs den för nya sessioner och tilldelar dem till arbetsbelastningsgrupper.
- Resursreservationer och begränsningar som anges i konfigurationen av resursguvernören respekteras och framtvingas.
- Begäranden som fanns innan resursguvernören aktiverades kan påverkas av eventuella konfigurationsändringar som görs när resursguvernören är aktiverad.
När resursguvernören är aktiverad tillämpar RECONFIGURE
eventuella konfigurationsändringar som gjorts av CREATE | ALTER | DROP WORKLOAD GROUP
- eller CREATE | ALTER | DROP RESOURCE POOL
- eller CREATE | ALTER | DROP EXTERNAL RESOURCE POOL
-instruktioner efter den tidigare användningen av RECONFIGURE
eller efter den senaste omstarten av databasmotorn.
Viktig
ALTER RESOURCE GOVERNOR RECONFIGURE
måste köras för att eventuella konfigurationsändringar för resursguvernören ska börja gälla.
CLASSIFIER_FUNCTION = { schema_name.function_name | NULL }
Registrerar klassificeringsfunktionen som anges av schema_name.function_name. Den här funktionen klassificerar varje ny session och tilldelar sessionen till en arbetsbelastningsgrupp. När NULL
används tilldelas nya sessioner automatiskt till default
arbetsbelastningsgrupp.
MAX_OUTSTANDING_IO_PER_VOLUME = värde
gäller för: SQL Server 2014 (12.x) och senare.
Anger maximalt antal I/O-åtgärder i kö per diskvolym. Dessa I/O-åtgärder kan vara läsningar eller skrivningar av valfri storlek. Det maximala värdet för MAX_OUTSTANDING_IO_PER_VOLUME
är 100. Värdet är inte en procentandel. Den här inställningen är utformad för att justera I/O-resursstyrning till I/O-egenskaperna för en diskvolym. Det ger en säkerhetskontroll på systemnivå som gör att databasmotorn kan uppfylla den MIN_IOPS_PER_VOLUME
inställning som angetts för resurspooler även om andra pooler har inställningen MAX_IOPS_PER_VOLUME
inställd på obegränsad. Mer information finns i CREATE RESOURCE POOL.
INAKTIVERA
Inaktiverar resursguvernör. Om du inaktiverar resursguvernören får du följande resultat:
- Klassificerarfunktionen körs inte.
- Alla nya användarsessioner klassificeras automatiskt i
default
arbetsbelastningsgrupp. - Systemsessioner klassificeras i arbetsbelastningsgruppen
internal
. - Alla befintliga inställningar för arbetsbelastningsgrupper och resurspooler återställs till standardvärdena. Inga händelser utlöses när gränserna nås.
- Normal systemövervakning påverkas inte.
- Konfigurationsändringar för resursguvernören kan göras, men ändringarna börjar inte gälla förrän resursguvernören har aktiverats.
- När du har startat om databasmotorn läser resursguvernören inte in konfigurationen, utan använder i stället bara
default
ochinternal
arbetsbelastningsgrupper och resurspooler.
ÅTERSTÄLL STATISTIK
Återställer statistik för alla arbetsbelastningsgrupper och resurspooler som exponeras i sys.dm_resource_governor_workload_groups och sys.dm_resource_governor_resource_pools.
Anmärkningar
ALTER RESOURCE GOVERNOR
kan inte användas i en användartransaktion.
Parametern RECONFIGURE
är en del av syntaxen för resursguvernören. Det bör inte förväxlas med RECONFIGURE, som är en separat DDL-instruktion.
Mer information finns i Resource Governor.
Behörigheter
Kräver behörigheten CONTROL SERVER
.
Exempel
Aktivera resursguvernör
När SQL Server har installerats inaktiveras resursguvernören. I följande exempel aktiveras resursguvernören. När instruktionen har körts aktiveras resursguvernören och använder inbyggda arbetsbelastningsgrupper och resurspooler.
ALTER RESOURCE GOVERNOR RECONFIGURE;
Tilldela nya sessioner till standardgruppen
I följande exempel tilldelas alla nya sessioner till den default
arbetsbelastningsgruppen genom att ta bort alla befintliga klassificerare från konfigurationen av resursguvernören. När ingen funktion har angetts som en klassificerare tilldelas alla nya användarsessioner till default
arbetsbelastningsgrupp. Den här ändringen gäller endast för nya sessioner. Befintliga sessioner påverkas inte.
ALTER RESOURCE GOVERNOR WITH (CLASSIFIER_FUNCTION = NULL);
ALTER RESOURCE GOVERNOR RECONFIGURE;
Skapa och registrera en klassificerarfunktion
I följande exempel skapas en klassificerarfunktion med namnet dbo.rg_classifier
i master
-databasen. Funktionen klassificerar varje ny session baserat på användarnamnet eller programnamnet och tilldelar sessionsbegäranden och frågor till en specifik arbetsbelastningsgrupp. Sessioner som inte mappas till de angivna användar- eller programnamnen tilldelas till standardarbetsbelastningsgruppen. Klassificerarfunktionen registreras sedan och konfigurationsändringen tillämpas.
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;
Återställa statistik för resursguvernör
I följande exempel återställs all statistik för arbetsbelastningsgrupper och resurspooler.
ALTER RESOURCE GOVERNOR RESET STATISTICS;
Konfigurera inställningen MAX_OUTSTANDING_IO_PER_VOLUME
I följande exempel anges inställningen MAX_OUTSTANDING_IO_PER_VOLUME
till 20 IO:er.
ALTER RESOURCE GOVERNOR WITH (MAX_OUTSTANDING_IO_PER_VOLUME = 20);
Relaterat innehåll
- Resursguvernör
- Exempel på resursguvernörskonfiguration och metodtips
- SKAPA
- ÄNDRA RESURSPOOL
- TA BORT RESURSPOOL
- SKAPA EN EXTERN RESURSPOOL
- TA BORT EXTERN RESURSPOOL
- ÄNDRA EXTERN RESURSPOOL
- SKAPA ARBETSBELASTNINGSGRUPP
- ÄNDRA ARBETSBELASTNINGSGRUPP
- TA BORT ARBETSBELASTNINGSGRUPP
- sys.dm_resource_governor_workload_groups
- sys.dm_resource_governor_resource_pools