Hi.
When I use Resource Governor, Sometime I see an error:
2019-08-28 15:19:00.38 spid151 Process ID 153 was killed by hostname SERVERNAME, host process ID 6252.
2019-08-28 15:19:00.38 spid153 Error: 10982, severity: 16, state: 1.
2019-08-28 15:19:00.38 spid153 Failed to run resource governor classifier user-defined function 'dbo.RGGroup'. Last error 3602, state 135. See previous errors in SQL Server error log from session ID 153 for details. Classifier elapsed time: 0 ms.
RG settings see below:
Function:
CREATE FUNCTION [dbo].[RGGroup]()
RETURNS SYSNAME
WITH SCHEMABINDING
AS
BEGIN
DECLARE @WorkloadGroup AS SYSNAME
SELECT TOP 1
@WorkloadGroup =
CASE
WHEN IS_SRVROLEMEMBER ('rgAdminUsers') = 1
THEN 'PoolAdminUsersGroup'
WHEN IS_SRVROLEMEMBER ('rgDWHUsers') = 1
THEN 'PoolDWHUsersGroup'
WHEN IS_SRVROLEMEMBER ('rgDNSUsers') = 1
THEN 'PoolDNSUsersGroup'
ELSE 'default'
END;
RETURN @WorkloadGroup
END
Pools:
CREATE RESOURCE POOL PoolDNSUsers
WITH (
MIN_CPU_PERCENT = 0,
MAX_CPU_PERCENT = 20,
CAP_CPU_PERCENT = 20,
MIN_MEMORY_PERCENT = 0,
MAX_MEMORY_PERCENT = 20
);
CREATE RESOURCE POOL PoolDWHUsers
WITH (
MIN_CPU_PERCENT = 0,
MAX_CPU_PERCENT = 90,
MIN_MEMORY_PERCENT = 0,
MAX_MEMORY_PERCENT = 90
);
CREATE RESOURCE POOL PoolAdminUsers
WITH (
MIN_CPU_PERCENT = 0,
MAX_CPU_PERCENT = 100,
MIN_MEMORY_PERCENT = 0,
MAX_MEMORY_PERCENT = 100
);
USE [master]
GO
/****** ******/
CREATE WORKLOAD GROUP [PoolDNSUsersGroup] WITH(group_max_requests=0,
importance=Medium,
request_max_cpu_time_sec=0,
request_max_memory_grant_percent=25,
request_memory_grant_timeout_sec=0,
max_dop=0) USING [PoolDNSUsers], EXTERNAL [default]
GO
/****** ******/
CREATE WORKLOAD GROUP [PoolDWHUsersGroup] WITH(group_max_requests=0,
importance=Medium,
request_max_cpu_time_sec=0,
request_max_memory_grant_percent=40,
request_memory_grant_timeout_sec=0,
max_dop=0) USING [PoolDWHUsers], EXTERNAL [default]
GO
/****** ******/
CREATE WORKLOAD GROUP [PoolAdminUsersGroup] WITH(group_max_requests=0,
importance=Medium,
request_max_cpu_time_sec=0,
request_max_memory_grant_percent=100,
request_memory_grant_timeout_sec=0,
max_dop=0) USING [PoolAdminUsers], EXTERNAL [default]
GO
RG:
USE [master]
GO
ALTER RESOURCE GOVERNOR WITH (CLASSIFIER_FUNCTION = [dbo].[RGGroup]);
GO
ALTER RESOURCE GOVERNOR WITH (MAX_OUTSTANDING_IO_PER_VOLUME = DEFAULT);
GO
ALTER RESOURCE GOVERNOR RECONFIGURE;
GO
Requests are killed under the account, which falls into the pool "PoolAdminUserGroup".
When Resource Governor is disabled - all fine.
What could be the problem?