SQL Server Check

Resource Governor

This is one of many SQL Server checks performed by our free sp_Check tools.

Learn More About Our sp_check Tools

Checks Performed

ID
Check
731
resource governor enabled

What’s the issue?

Resource Governor is a SQL Server feature that allows administrators to manage the consumption of CPU, memory, and physical I/O resources by classifying incoming requests into workload groups and applying resource limits to those groups. It is primarily used to prevent runaway queries from monopolizing the instance, to provide predictable performance for critical workloads, and to enforce service level differentiation between tenants on a shared instance.

This finding identifies instances where Resource Governor is currently enabled. It is not necessarily a problem, but it is worth noting in case the team is unaware that Resource Governor is active, or unaware of the operational considerations that come with it.

Why is this a problem?

Resource Governor introduces an additional layer of configuration that affects how queries execute, and its presence can produce performance behavior that is difficult to diagnose without knowing it is in play. Queries that appear to run slowly or hit memory grant timeouts may be subject to limits imposed by their workload group, not by overall server pressure, and troubleshooting from wait statistics alone may not reveal the cause.

The classifier function, which assigns each new connection to a workload group, runs on every login. A poorly written or slow classifier function can add measurable latency to connection establishment and, in extreme cases, prevent logins entirely if it errors out, including blocking administrators. Enabling the dedicated administrator connection (DAC) is particularly important on instances using Resource Governor for this reason.

Additionally, Resource Governor configuration is stored in the master database and depends on the classifier function continuing to exist and behave correctly. Restores, migrations, and version upgrades all require careful handling so that workload groups, resource pools, and the classifier function are preserved or recreated correctly in the new environment.

What should you do about this?

No remediation is required if Resource Governor is being used intentionally and the team is aware of it. Confirm the current configuration by querying sys.resource_governor_configuration, sys.resource_governor_resource_pools, and sys.resource_governor_workload_groups, and review the classifier function with SELECT OBJECT_DEFINITION(classifier_function_id) FROM sys.dm_resource_governor_configuration;.

Document the purpose of each resource pool and workload group, the logic of the classifier function, and the business justification for the limits in place. Without clear documentation, future administrators may not understand why certain workloads behave differently and may make changes that disrupt intentional service levels.

Verify that the dedicated administrator connection is enabled and that remote DAC is configured, so administrators can connect even if the classifier function fails. Test the failure path periodically by reviewing what happens to connections when the classifier returns NULL or errors, and have a rollback plan to disable Resource Governor quickly if needed using ALTER RESOURCE GOVERNOR DISABLE;.

Read more…

Resource Governor – SQL Server | Microsoft Learn

Type

Performance

Importance

Medium

sp_Checks