第十九章——使用资源调控器管理资源(2)——使用T-SQL配置资源调控器

原文:第十九章——使用资源调控器管理资源(2)——使用T-SQL配置资源调控器

前言:

在前一章已经演示了如何使用SSMS来配置资源调控器。但是作为DBA,总有需要写脚本的时候,因为它可以重用及扩展。并且可以在不同服务器快速部署。

下面来演示如何实现:

步骤:

1、  打开ssms,连到SQLServer。确保登录账号有CONTROLSERVER的权限。

2、  运行下面脚本,删除前面创建过的资源调控器对象:

USE master
GO
DROP WORKLOAD GROUP rg_WebApp
DROP RESOURCE POOL  rp_WebApp
DROP WORKLOAD GROUP rg_ReportApp
DROP RESOURCE POOL  rp_ReportApp
GO

3、  现在执行语句来创建下面对象,此处的分类函数参考上一章:

USE master
GO

CREATE RESOURCE POOL [rp_WebApp]
WITH
(
MIN_CPU_PERCENT=50,
MAX_CPU_PERCENT =100,
MIN_MEMORY_PERCENT =50,
MAX_MEMORY_PERCENT =100
)
GO

CREATE WORKLOAD GROUP [rg_WebApp]
WITH
(
GROUP_MAX_REQUESTS=0,
IMPORTANCE=MEDIUM,
REQUEST_MAX_CPU_TIME_SEC=300,
REQUEST_MAX_MEMORY_GRANT_PERCENT=25,
REQUEST_MEMORY_GRANT_TIMEOUT_SEC=0,
MAX_DOP=0
)USING [rp_WebApp]
GO

CREATE RESOURCE POOL [rp_ReportApp]
WITH
(
MIN_CPU_PERCENT=25,
MAX_CPU_PERCENT =100,
MIN_MEMORY_PERCENT =25,
MAX_MEMORY_PERCENT =100
)
GO

CREATE WORKLOAD GROUP [rg_ReportApp]
WITH
(
GROUP_MAX_REQUESTS=0,
IMPORTANCE=MEDIUM,
REQUEST_MAX_CPU_TIME_SEC=300,
REQUEST_MAX_MEMORY_GRANT_PERCENT=25,
REQUEST_MEMORY_GRANT_TIMEOUT_SEC=0,
MAX_DOP=0
)USING [rp_ReportApp]
GO 

ALTER RESOURCE GOVERNOR
WITH (CLASSIFIER_FUNCTION=[dbo].[RGClassifier]
);
GO

ALTER RESOURCE GOVERNOR RECONFIGURE
GO 

4、  为了检查是否创建成功,可以通过DMV查询,这里用到下面两个DMV来查询:sys.dm_resource_governor_resource_pools 、sys.dm_resource_governor_workload_groups

SELECT  pool_id ,
        name
FROM    sys.dm_resource_governor_resource_pools

SELECT  group_id ,
        name ,
        pool_id
FROM    sys.dm_resource_governor_workload_groups

5、  从截图上可以看出已经创建成功: 

 

上面的步骤可以通过ssms操作时,界面中上部的【脚本】按钮生成,但是由于ssms生成的T-SQL有些不是最优化的,所以如果你不是不懂,那就自己写吧。

 

扩充知识:

下面几个配置选项在本文中用到,简要说明一下:

1、  IMPORTANCE:定义工作负荷组中对请求处理的重要性,其值为LOW/MEDIUM/HIGH。

2、  GROUP_MAX_REQUESTS:定义在一个工作负荷组中最大并行执行的请求数量。

3、  MAX_DOP:在一个工作负荷组中并行请求的最大并行度。

4、  REQUEST_MAX_MEMORY_GRANT_PERCENT:对于一个工作负荷组中,一个单独的请求能用的最大内存数。

5、  REQUEST_MAX_CPU_TIME_SEC: 对于一个工作负荷组中,一个单独的请求可以使用的最大秒数。

6、  REQUEST_MEMORY_GRANT_TIMEOUT_SEC: 指定查询等待内存授予(工作缓冲区内存)变为可用的最长时间(以秒为单位)。

 

时间: 2024-09-16 16:16:41

第十九章——使用资源调控器管理资源(2)——使用T-SQL配置资源调控器的相关文章

第十九章——使用资源调控器管理资源(1)——使用SQLServer Management Studio 配置资源调控器

原文:第十九章--使用资源调控器管理资源(1)--使用SQLServer Management Studio 配置资源调控器 本系列包含: 1. 使用SQLServer Management Studio 配置资源调控器 2. 使用T-SQL配置资源调控器 3. 监控资源调控器   前言:       在前面的章节,提到过可以通过多种配置数据库服务器的方式来提高性能.如索引.统计信息.hints.物理设计和服务器配置等.       当你完成上面那些配置后,还依旧有少量存储过程.查询运行得很慢时

第十九章——使用资源调控器管理资源(3)——监控资源调控器

原文:第十九章--使用资源调控器管理资源(3)--监控资源调控器 前言:       在对每个应用程序配置了资源调控器之后,需要监控资源调控器.可能需要监控资源池的使用和多少个请求被分配到特定的资源池.也可能希望监控internal和default池的活动情况.        本文中,演示使用不同登录账号(AW_WebAppUser和AW_ReportAppUser),并监控CPU和内存资源的使用情况.   准备工作: 本文使用的部分脚本在本系列的第一篇中已经写出.这里不累赘.文中将通过不同账号

python 教程 第十九章、 图形界面编程

第十九章. 图形界面编程 import Tkinter top = Tkinter.Tk() hello = Tkinter.Label(top, text='Hello World!') hello.pack() quit = Tkinter.Button(top, text='QUIT',command=top.quit) quit.pack(fill=Tkinter.X, expand=1) Tkinter.mainloop()

WF从入门到精通(第十九章):把工作流发布为Web服务

学习完本章,你将掌握: 1.了解要把你的工作流暴露为XML Web服务来使用的话,各个工作流活动该怎样进行设计 2.了解在ASP.NET中宿主工作流需要些什么 3.看看在基于XML Web服务的工作流中如何进行错误(fault)处理 4.针对各种情况对你的基于XML Web服务的工作流进行配置 在前一章"在你的工作流中调用Web服务"中,你看到了如何从你客户端一侧的工作流中使用WF所提供的InvokeWebService活动来调用XML Web服务.但是,在那章的应用程序范例中的XML

第十九章-Delphi自定义部件开发(一)(1)

Delphi除了支持使用可视化部件所见即所得地建立应用程序外,还支持为开发应用而设计自己的部件. 在本章中将阐述如何为Delphi应用程序编写部件.这一章将达到两个目的: ● 教你如何自定义部件 ● 使你的部件成为Delphi环境的有机组合部分 19.1 Delphi部件原理 19.1.1 什么是部件 部件是Delphi应用程序的程序构件.尽管大多数部件代表用户界面的可见元素,但部件也可以是程序中的不可见元素,如数据库部件.为弄清什么是部件可以从三个方面来考察它:功能定义.技术定义和经验定义.

Flash基础理论课 第十九章 实用技巧 Ⅲ

返回"Flash基础理论课 - 目录" 实用公式 统领全书,我们已经有了各种运动和效果的公式.我已经提取出了最实用和最常用的公式.方程.以及代码的摘录,并将它们列在本章的最后.我认为将它们放到同一个地方应该对大家非常有帮助,因此我将这些我认为最需要的内容放到一起作为整体的一个参考资料.我将会在这一页夹上书签. 第三章 基础三角函数的计算: 角的正弦值 = 对边 / 斜边 角的余弦值 = 邻边 / 斜边 角的正切值 = 对边 / 邻边 弧度转换为角度以及角度转换为弧度: 弧度 = 角度

Flash基础理论课 第十九章 实用技巧 Ⅱ

返回"Flash基础理论课 - 目录" 基于计时器与时间的动画 到目前为止本书的所有例子都是通过把运动代码放到onEnterFrame 方法中并将它赋给一个enterFrame 事件的处理函数来实现的.我一直认为这是最简单的一种方式,因为帧的概念在 Flash 中根深蒂固,它就是给我们准备的:我猜我们大多都习以为常了. 然而,对于那些从非 Flash 编程环境转来的朋友,对于这种模式可能并不习惯.对于他们来说,时序动画模型(使用Interval 或 Timer)似乎可以更加精准地控制动

Flash基础理论课 第十九章 实用技巧 Ⅰ

返回"Flash基础理论课 - 目录" 现在您已经来到了最后一章.我将所有想要介绍的一些小东西都放在了这一章,它们不太合适放在其它地方,或者说与前面章节的主线有些脱离. 本章,我还重组了前面每章课后列出的公式,因此可以当作这些公式的一个参考点. 由于这些课题都是比较零碎的概念,所以我没有办法将这些许许多多的内容组织起来.因此每一节都是一个独立的单元.好了,不多说了,让我们开始吧. 布朗(随机)运动 先讲讲历史.一天,一个名叫罗伯特-布朗(Robert Brown)的植物学家正在观察一滴

第十九章-Delphi自定义部件开发(三)(3)

编译过的Help文件和关键词文件应当与库单元在同一目录. ① 建立Help文件 你可以使用任何的工具创建Windows Help文件.Delphi的多文件搜索引擎,可以包含任何数目的Help文件的要素.在编译的Help文件之外,你应当拥有RTF源文件,这样才能生成关键词文件. 为使自定义部件的Help同库中其它部件一起工作,要遵循下列约定: ● 每个部件有占一页的帮助 部件帮助页应当给出部件目的的简单描述,然后列出最终用户可用的属性.事件和方法的描述.应用开发者通过在窗体上选择部件并按F1访问这