SQLSERVER中的资源调控器 转载自: 资源调控器是sql server 2008新增的功能,可以限制某些用户访问sql server所消耗的cpu、内存资源或是对某个库访问 所消耗的cpu、内存资源,可以在SQL Server 的 Enterprise Edition、Developer Edition 和 Evaluation Editi
SQLSERVER中的资源调控器
转载自:
资源调控器是sql server 2008新增的功能,可以限制某些用户访问sql server所消耗的cpu、内存资源或是对某个库访问
所消耗的cpu、内存资源,可以在SQL Server 的 Enterprise Edition、Developer Edition 和 Evaluation Edition中使用。
配置资源调控器基本分为以下步骤:
(1) 创建并配置一个资源调控器资源池,发生 CPU 争用时,,该资源池将限制分配给资源池中的请求的最大平均 CPU 带宽。
(2) 创建并配置一个使用该池的资源调控器工作负荷组。
(3) 创建一个“分类器函数”,它是一个用户定义函数 (UDF),其返回值供资源调控器用来对会话进行分类,
以便将它们路由到适当的工作负荷组。
(4)将分类器函数注册到资源调控器。
(5)将更改应用于资源调控器进行配置。
你可以使用IS_MEMBER()、APP_NAME()、SUSER_SNAME()、CONNECTIONPROPERTY()等函数在分类器函数里编写您的业务逻辑
msdn中的示例
本测试示例是限制某查询用户USER_READONLY限制cpu最大为10%.
master RESOURCE POOL pMAX_CPU_PERCENT_10 WITH (MAX_CPU_PERCENT = 10) WORKLOAD GROUP gMAX_CPU_PERCENT_10 USING pMAX_CPU_PERCENT_10; master rgclassifier_MAX_CPU ( ) 18 RETURNS SYSNAME 19 WITH SCHEMABINDING SYSNAME () ;; ; Resource Governor With(Classifier_Function=dbo.rgclassifier_MAX_CPU); RESOURCE GOVERNOR RECONFIGURE; , , , SYS. master LOGIN USER_READONLY (*) FROM sys.tables master WORKLOAD GROUP gMAX_CPU_PERCENT_10 RESOURCE GOVERNOR RECONFIGURE; RESOURCE POOL pMAX_CPU_PERCENT_10 RESOURCE GOVERNOR RECONFIGURE; RESOURCE GOVERNOR WITH (CLASSIFIER_FUNCTION= null); RESOURCE GOVERNOR RECONFIGURE; RESOURCE GOVERNOR DISABLE; .