sql server 2008资源调控器.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
sql server 2008资源调控器

sql server 2008新特性:资源调控器 资源调控器是sql server 2008新增中的功能,可以限制某些用户访问sql server所消耗的cpu、内存资源或是对某个库访问所所消耗的cpu、内存资源,可以在SQL Server 的 Enterprise Edition、Developer Edition 和 Evaluation Edition中使用。 配置资源调控器基本分为以下步骤: 1. 创建并配置一个资源调控器资源池,发生 CPU 争用时,该资源池将限制分配给资源池中的请求的最大平均 CPU 带宽。 2. 创建并配置一个使用该池的资源调控器工作负荷组。 3. 创建一个“分类器函数”,它是一个用户定义函数 (UDF),其返回值供资源调控器用来对会话进行分类,以便将它们路由到适当的工作负荷组。 4. 将分类器函数注册到资源调控器。 5. 将更改应用于资源调控器内存中配置。 本测试示例是限制某查询用户USER_READONLY限制cpu最大为10%. 示例代码(代码参考msdn联机文档): --?配置资源调控器. BEGIN?TRAN USE?master; --?创建并配置一个资源调控器资源池,发生?CPU?争用时, --?该资源池将限制分配给资源池中的请求的最大平均?CPU?带宽?10% CREATE?RESOURCE?POOL?pMAX_CPU_PERCENT_10 ???WITH ??????(MAX_CPU_PERCENT?=?10); GO --?创建并配置一个使用该池的资源调控器工作负荷组。 CREATE?WORKLOAD?GROUP?gMAX_CPU_PERCENT_10 USING?pMAX_CPU_PERCENT_10; GO --?创建一个“分类器函数”,它是一个用户定义函数?(UDF), --?其返回值供资源调控器用来对会话进行分类,以便将它们路由到适当的工作负荷组 --?本例是限制用户为:USER_READONLY所使用的cpu资源不超过10% CREATE?FUNCTION?dbo.rgclassifier_MAX_CPU()?RETURNS?sysname WITH?SCHEMABINDING AS BEGIN ???DECLARE?@workload_group_name?AS?sysname ??????IF?(SUSER_NAME()?=?USER_READONLY) ??????????SET?@workload_group_name?=?gMAX_CPU_PERCENT_10 ????RETURN?@workload_group_name END; GO --?将分类器函数rgclassifier_MAX_CPU注册到资源调控器 ALTER?RESOURCE?GOVERNOR?WITH?(CLASSIFIER_FUNCTION=?dbo.rgclassifier_MAX_CPU); COMMIT?TRAN; GO --?将更改应用于资源调控器内存中配置ALTER?RESOURCE?GOVERNOR?RECONFIGURE; GO --包含资源调控器的当前内存中配置状态的行 select?*?from?sys.dm_resource_governor_configuration --当前资源池状态、资源池的当前配置以及资源池统计信息的相关信息 select?*?from?sys.dm_resource_governor_resource_pools --工作负荷组统计信息和工作负荷组当前在内存中的配置 select?*?from?sys.dm_resource_governor_workload_groups 这样,资源资源调控器配置完成,下面进行一下测试 创建一个public帐号: USE?master CREATE?LOGIN?USER_READONLY?WITH?PASSWORD?=Nzperfect GO 我们用这个USER_READONLY帐号登陆sql server, 然后测试一下,执行下面的T-sql循环脚本 DECLARE?@CNT?INT WHILE?1=1 BEGIN ????SELECT?@CNT=COUNT(*)?FROM?sys.tables END ? 打开性能监视器,并添加资源调器资源池cpu使用计数器,如下多图: 在以USER_READONLY登陆执行T-sql脚本后,pMAX_CPU_PERCENT_10资源池占用cpu为50%如下图: ? 然后,我们以sa帐号登陆sql server ,同时也执行上面的T-sql循环脚本,再看性能监视器计数,如图: 由上图可以看到,gMAX_CPU_PERCENT_

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档