SQL Server2008 新特点 Resource Governor[MSSQL防范]
本文“SQL Server2008 新特点 Resource Governor[MSSQL防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
sql server2008 新特点 Resource Governor
Sql Server2008 推出了已经有一段时间了,这里给大家介绍一下 Sql Server2008 的一个很不错的新特点,Resource Governor.
相信大家都碰到过,一个服务器上面运行多个数据库的情形,假如1个数据库占用资源过量,极大概直接招致别的一个数据库无法处理,直到超时的情形.过去这种情形基本无法处理(当然不解除利用三方程序处理的办法).嘿嘿,在新的Sql Server 2008 中,便可以完善的办理这个问题了.答案就是Resource Governor.
Resource Governor 可以通过成立资源池(Resource Pool)的方法,对差别资源池辨别分配服务器资源(CPU,内存),这里设置的是,资源池最繁忙期间的分配值.简单的说,目前我有两个数据库,DataBaseA和DataBaseB,那么我们可以成立两个资源池PoolA和PoolB,给PoolA分配10%的CPU和内存,PoolB分配90%的CPU和内存.那么当DataBaseA和DataBaseB都繁忙的时刻,系统会辨别分配呼应的资源给他们,让他们都可以完成自己的工作(当然,性能大概有所下降,毕竟只利用10%的资源),从而避免了高并发性时,资源独占的情形.很好吧,下面我们就通过一个实例来给大家演示一下.
1. 首先可以查看一下当前资源池的配置情形
USE master;
GO
SELECT * FROM sys.dm_resource_governor_configuration;
GO
假如如上图所示,那么阐明目前没有成立任何资源池.(成立资源池的时刻需求绑定一个classifier的函数,假如绑定了,会显示函数的ObjectID)
2. 成立2个资源池MarketingPool和DevelopmentPool,
CREATE RESOURCE POOL MarketingPool
WITH (MAX_CPU_PERCENT = 10);
GO
CREATE RESOURCE POOL DevelopmentPool
WITH (MAX_CPU_PERCENT = 90);
GO
MarketingPool分配了10%CPU资源,DevelopmentPool分配了90%CPU资源.(当然你也可以加上内存的分配,不过个人感受普通CPU对比重要,内存这东西不好说)
3. 可以先看一下当前Resource Governor的配置情形
SELECT * FROM sys.dm_resource_governor_resource_pools;
GO
你会发现,如上所示后果,只有两个资源池,并且不是我们成立的.
internal和default资源池是系统默许的资源池,假如没有手动设置Resource Governor的话,成立的数据库会被默许放到default资源池当中.(背面你还会看到对应的 WORKLOAD GROUP)
为什么我们成立的资源池没有看到呢?其实是我们的配置还没有设定上去,Sql Server08的设置改正后,需求手动 RECONFIGURE 来重置配置信息.
以上是“SQL Server2008 新特点 Resource Governor[MSSQL防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |