的 Management Data Warehouse 内
效能信息搜集
- 搭配 Management Data Warehouse 的功能,在多台机器搜集 SQL Server 与先定义好的效能信息,如硬盘使用、查询统计、系统性能计数器
- 可以 T-SQL 客制化定义搜集的数据
- 提供制式的分析报表
- 因为 Management Data Warehouse 的定义是公开的,所以也可以客制化分析方式
Resource Governor
- 仅企业版支持,以实例为单位
- 设定 pool/group 规范可用的 CPU 和 Memory 的比例
--定义两个 resource pools, 一个最多使用 10% CPU , 另一个可以用到 90%
CREATE RESOURCE POOL MarketingPool
WITH (MAX_CPU_PERCENT = 10);
GO
CREATE RESOURCE POOL DevelopmentPool
WITH (MAX_CPU_PERCENT = 90);
GO
ALTER RESOURCE GOVERNOR RECONFIGURE;
-- 加入两个负载群组
CREATE WORKLOAD GROUP MarketingGroup
USING MarketingPool;
GO
CREATE WORKLOAD GROUP DevelopmentGroup
USING DevelopmentPool;
GO
ALTER RESOURCE GOVERNOR RECONFIGURE;
GO
- 以 T-SQL 定义的函数,回传所属群组的名称,函数内可以利用 Host_Name、App_Name、SUSER_Name、Is_Member、ConnectionProperty 等函数来定义商业逻辑,例如哪个应用程序建立的连接,就可使用高/低比例的资源
CREATE FUNCTION dbo.MyClassifier ()
RETURNS SYSNAME WITH SCHEMABINDING
AS
BEGIN
DECLARE @GroupName SYSNAME;
IF ORIGINAL_DB_NAME () = ''MarketingDB''
SET @GroupName = ''MarketingGroup'';
ELSE IF ORIGINAL_DB_NAME () = ''DevelopmentDB''
SET @GroupName = ''DevelopmentGroup'';
ELSE SET @GroupName = ''Default'';
RETURN @GroupName;
END; - 将登入的连接(connection)赋予到与先定义好的 workload group,不是以特定的查询语法为单位
-- 定义辨别所属资源群组的函数
ALTER RESOURCE GOVERNOR WITH (CLASSIFIER_FUNCTION = dbo.MyClassifier);
GO
ALTER RESOURCE GOVERNOR RECONFIGURE; - 可动态改变上述设定
- 如果没有其他连接在第二个群组,则单一群组虽设定上不允许使用 100% 资源,但因为没有其他比例分配的群组抢资源,则仍可以使用全部资源
- 并没有为服务用量计价的机制
延伸的事件(Extended Events)
- 提供负担较低的架构,支持事件撷取、过滤和反应的机制