SQL Server 2008 Resource Governor
一、问题引出:
当某一台SQL Server实例上创建有多个数据库的时候,如果某一个数据库过度占有系统资源,往往会导致其它数据库性能受到严重影响,甚至大大降低整个数据库的性能。
这种情况下,如果有一种技术或者方法可以限制数据库资源的占有量,给与一个峰值,从而给与其它的数据库足够的资源。那么这个问题就可以有效地避免。
在SQL Server 2008中就存在这种技术叫:Resource Governor
Resource Governor是 SQL Server 2008 中的一项新技术,使用该技术可以通过指定传入请求的资源消耗限制管理 SQL Server 工作负荷和资源。
二、Resource Governor中三个重要的组件
Resource Pool。 当安装 SQL Server 2008 时,会创建两个资源池(内部资源池和默认资源池)。Resource Governor还支持用户定义的资源池。
Workload Group。 当安装 SQL Server 2008 时,会创建两个工作负荷组(内部工作负荷组和默认工作负荷组)并将其映射到对应的资源池。Resource Governor还支持用户定义的工作负荷组。
Classifier Function。 存在用于对传入请求进行分类并将它们路由到工作负荷组的内部规则。Resource Governor还支持用于实现分类规则的分类器用户定义的函数。
三、Resource Governor组件之间的关系
四、Resource Governor实践
1. Checking
--step 1:Resource governor confg checking
USE Master
GO
SET NOCOUNT ON
SELECT *
from sys.dm_resource_governor_configuration WITH (NOLOCK)
/*--------==Result===========
classifier_function_id is_reconfiguration_pending
---------------------- --------------------------
0 0
*/
2. Resource Pools Creating
--step2:Resource pools creating
USE master;
GO
CREATE RESOURCE POOL ResPl_Test1
WITH(MAX_CPU_PERCENT = 10);
GO
CREATE RESOURCE POOL ResPl_Test2
WITH(MAX_CPU_PERCENT = 90);
GO
--Checking
USE Master
GO
SET NOCOUNT ON
SELECT name,max_cpu_percent
from sys.dm_resource_governor_resource_pools WITH (NOLOCK)
/*------
相关文档:
虽然这是我找到最详细的配置描述,但是尝试还是没有成功。
1.下载Oracle Client Package
.
从
http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/winsoft.html
下载
Instant
Client Package – Basic
包
(
标注
:All files
required to run OCI, OCCI, and JDBC-OC ......
NO.1
alter table pdt modify("PDTNAME",varchar2(100))
NO.2
字段不用“”
alter table pdt modify(PDTNAME,varchar2(100)) &n ......
说明:创建一个影碟租赁管理系统,这里主要抽象了四张表:
tb_user(用户信息),tb_movie_type(影片类型),tb_movie(影片信息),tb_retal(租赁记录)
use master--系统表,所有创建的数据库均在此被记录
go
--检测是否已经存在RetaDB这个数据库,有的话,不能重名,可以进行删除
if exists (select * from sysdatabas ......
Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM
Select CONVERT(varchar(100), GETDATE(), 1): 05/16/06
Select CONVERT(varchar(100), GETDATE(), 2): 06.05.16
Select CONVERT(varchar(100), GETDATE(), 3): 16/05/06
Select CONVERT(varchar(100), GETDATE(), 4): 16.05.06
Select CONVERT(varch ......
新建表:
create table [表名]
(
[自动编号字段] int IDENTITY (1,1) PRIMARY KEY ,
[字段1] nVarChar(50) default '默认值' null ,
[字段2] ntext null ,
[字段3] datetime,
[字段4] money null ,
[字段5] int default 0,
[字段6] Decimal (12,4) default 0,
[字段7] image null ,
)
删除表:
Drop table [表 ......