sql server 2008新特性:资源调控器
来源:csdn:http://blog.csdn.net/xiaoxu0123/archive/2011/02/10/6177265.aspx
资源调控器是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联机文档):
BEGINTRAN
USEmaster;
--创建并配置一个资源调控器资源池,发生 CPU 争用时,
--该资源池将限制分配给资源池中的请求的最大平均 CPU 带宽 10%
CREATERESOURCE POOL pMAX_CPU_PERCENT_10
WITH
(MAX_CPU_PERCENT =10);
GO
--创建并配置一个使用该池的资源调控器工作负荷组。
CREATEWORKLOAD GROUPgMAX_CPU_PERCENT_10
USING pMAX_CPU_PERCENT_10;
GO
--创建一个“分类器函数”,它是一个用户定义函数 (UDF),
--其返回值供资源调控器用来对会话进行分类,以便将它们路由到适当的工作负荷组
--本例是限制用户为:USER_READONLY所使用的cpu资源不超过10%
CREATEFUNCTIONdbo.rgclassifier_MAX_CPU() RETURNSsysname
WITHSCHEMABINDING
AS
BEGIN
DECLARE@workload_group_nameASsysname
IF(SUSER_NAME() ='USER_READONLY')
SET@workload_group_name='gMAX_CPU_PERCENT_10'
RETURN@workload_group_name
END;
GO
--将分类器函数rgclassifier_MAX_CPU注册到资源调控器
ALTERRESOURCE GOVERNOR WITH(CLASSIFIER_FUNCTION=dbo.rgclassifier_MAX_CPU);
COMMITTRAN;
GO
--将更改应用于资源调控器内存中配置ALTERRESOURCE GOVERNOR RECONFIGURE;
GO
--包含资源调控器的当前内存中配置状态的行
select * from sys.dm_resource_governor_configuration
--当前资源池状态、资源池的当前配置以及资源池统计信息的相关信息
select * from sys.dm_resource_governor_resource_pools
--工作负荷组统计信息和工作负荷组当前在内存中的配置
这样,资源资源调控器配置完成,下面进行一下测试
创建一个public帐号:
CREATELOGIN USER_READONLY WITHPASSWORD ='Nzperfect'
GO
我们用这个USER_READONLY帐号登陆sql server,
然后测试一下,执行下面的T-sql循环脚本
WHILE1=1
BEGIN
SELECT@CNT=COUNT(*) FROMsys.tables
END
打开性能监视器,并添加资源调器资源池cpu使用计数器,如下多图:
在以USER_READONLY登陆执行T-sql脚本后,pMAX_CPU_PERCENT_10资源池占用cpu为50%如下图:
然后,我们以sa帐号登陆sql server ,同时也执行上面的T-sql循环脚本,再看性能监视器计数,如图:
由上图可以看到,gMAX_CPU_PERCENT_10所占用的cpu立即下降到5%左右,说明我们配置的配置资源调控器已生效。
这时,如果取消sa执行的T-sql循环,则结果如下:
由上面的测试说明,当系统资源够用时,USER_READONLY像正常情况一下,sql server不会限制其使用的cpu资源,但当存在资源竞争时,资源调控器将跟据配置的资源池及组信息自动调节,限制USER_READONLY使用的资源,以确保其它进程拥用更多的资源。
--测试结束,删除测试
GO
DROPWORKLOAD GROUPgMAX_CPU_PERCENT_10
GO
ALTERRESOURCE GOVERNOR RECONFIGURE;
GO
DROPRESOURCE POOL pMAX_CPU_PERCENT_10
GO
ALTERRESOURCE GOVERNOR RECONFIGURE;
GO
ALTERRESOURCE GOVERNOR WITH(CLASSIFIER_FUNCTION=null);
GO
ALTERRESOURCE GOVERNOR RECONFIGURE;
GO
DROPFUNCTION[dbo].[rgclassifier_MAX_CPU]
GO
转载于:https://www.cnblogs.com/Amaranthus/archive/2011/04/21/2023401.html
sql server 2008新特性:资源调控器相关推荐
- 一. SQL Server 2008 新特性概述
前几天一直再学习ASP.NET MVC框架.这几天在研究EMC存储和F5交换机都是奢侈品啊,虽然在工作中大多是ORCLE,看到SQL SERVER 2K8有许多新特性决定学习学习,增加自己的市场竞争力 ...
- 译:SQL Server 2008 新特性(3/3)
注:冉冉毅马译(原文),英文内容来源于微软网站. SQL Server 2008 新特性 (3/3) 3.智能 SQL Server 2008提供一个能满足你用户智能化需求的综合平台. 3.1.集成任 ...
- SQL Server 2008新特性之压缩备份(backup compression)
背景 当我们升级.迁移或者重建数据库时,你是否为将一个大数据库文件(动不动上100GB)的传输而烦劳呢?当你在配置数据库镜像的时候,你是否也曾因为超大备份文件的移动而抓耳挠腮呢?当你需要跨地域传输数据 ...
- SQL Server 2008新特性——SSMS增强
SQL Server 2008已经发布很多天了,今天来总结一下我们最常用的工具SSMS在SQL 2008中的一些改进: 1.在注册的服务器组中一次SQL查询可以针对多个服务器执行. 首先是要在&quo ...
- SQL Server 2014新特性:其他
SQL Server 2014新特性:其他 AlwaysOn 增强功能 SQL Server 2014 包含针对 AlwaysOn 故障转移群集实例和 AlwaysOn 可用性组的以下增强功能: &q ...
- 云世界,一切如梦幻,数据也玩虚拟化。 SQL Server 2019 新特性系列一:数据虚拟化
SQL Server 2019 新特性系列一:数据虚拟化 最新更新 SQL Server已经到了CTP2.2版本,主要更新了如下功能: 大数据集群:在大数据群集上使用 azure 数据工作室中的 sp ...
- SQL Server 2019 新特性之 SQL Server大数据群集 介绍(一)
SQL Server 2019 新特性之 SQL Server大数据群集 介绍(一) 从开始SQL Server 2019 预览,SQL Server 大数据群集允许你部署的 Kubernetes 上 ...
- 新年新气象,从SQL Server 2019新特性开始!
SQL Server 2019新特性开篇概述 2019年了,新年伊始,SQL Server 2019已经到CTP 2.1 ,一直没有认真的学习SQL Server 2019 ,既然是新年新气象,就从新 ...
- SQL Server 2008的外围应用配置器到哪里去了
在SQL Server 外围应用配置器中启用 OpenRowSet 和 OpenDataSource函数 执行SQL语句:SELECT * INTO SQL SERVER中的新表 FROM OPENR ...
最新文章
- 点分治问题 ----------- HDU6881 Tree Cutting or 2020杭电多校第10场 [点分治+思维]
- 提高开发效率之安卓模板(上面有四种模板的教程,我之前会两种,看完之后还是只会两种2333)
- 使用IntelliJ IDEA 14和Maven创建java web项目
- 分区表理论解析(上):SQL Server 2k52k8系列(一)
- ad怎么批量改元器件封装_AD6.8的原理图中如何批量修改封装?
- 浅谈ButterKnife对Android性能的影响
- pyqt5信号与槽连接的生命周期与对象引用的生命周期
- 3 年大厂工作经验面试竟然要我手写 atoi 函数
- C# Win32API
- 提升效率Mysql函数(function)|存储过程(procedure)
- Virtualbox 修改硬盘的序列号等信息 例
- angular获取当前路由信息
- 短视频矩阵/短视频SEO矩阵系统源码/系统搭建
- Python画玫瑰花,七夕礼物。
- 智能秤方案设计——蓝牙体脂秤PCBA方案
- 基于S32K的MBD开发环境搭建
- Error 1053: The service did not respond to the start or control request in a timely fashion.问题排查
- 双向数据绑定原理(三种实现方式)
- 【116】Python 保留字(关键字)、标识符
- Android 电量显示Widgets插件实现
热门文章
- python变量的作用域及生命周期_Python——变量的作用域
- mobilenet cpu 加速_(300223)半导体+芯片概念,净利润增长408%!加速上涨!
- 程序分身:根据不同程序名执行不同函数
- Linux管道函数使用
- 《转》IN 查询时出现ORA-01795:列表中的最大表达式数为1000
- 【Elasticsearch】Failed to process cluster event (put-mapping) within 30s
- 【Elastischearch】Elastischearch bulk 请求源码
- 95-150-020-源码-Sink-PrintSinkFunction
- Spring :Sprin体系
- scala学习-scala中:: , +:, :+, :::, +++的区别