web-dev-qa-db-ja.com

リソースガバナー/分類機能のトラブルシューティング

SQL Server2014インスタンスでリソースガバナーを構成/トラブルシューティングしようとしています。デフォルトのリソースプール以外には何もできません。私はこのトラブルシューティングガイドに従っています: http://technet.Microsoft.com/en-us/library/cc627395(v = sql.105).aspx

もともと条件付きだった私の分類関数は、何かを実行しようとして、すべての場合にリソースプール名を返すだけです。

USE [master]
GO
/****** Object:  UserDefinedFunction [dbo].[RGClassifier]    Script Date: 7/25/2014 7:26:51 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER FUNCTION [dbo].[RGClassifier] ()
RETURNS sysname
WITH SCHEMABINDING
AS
BEGIN

DECLARE @GroupName SYSNAME
SET @GroupName = N'in-memory'

RETURN @GroupName

END

いくつかのトラブルシューティングの結果は次のとおりです。

USE master
SELECT 
  object_schema_name(classifier_function_id) AS [schema_name],
  object_name(classifier_function_id) AS [function_name]
FROM sys.dm_resource_governor_configuration

戻り値:

schema_name function_name
dbo RGClassifier

Sys.dm_resource_governor_configurationおよびsys.resource_governor_configurationのクエリは、それが有効であり、保留中の再構成がないことを示しています。

この時点で多かれ少なかれ泥の中に閉じ込められています。いくつかのポインタが必要になる前に、誰かがリソースガバナーを正常に構成した場合。

1
user41207

返されたグループ名が実際のワークロードグループ名と(同じように)一致することを確認してください。場合によっては、再構成する必要があるとは言われていなくても、再構成すると役立つことがあります。

use master
GO

-- Create a test DB which our CF will be based on
CREATE DATABASE RGDB;
GO

-- enable RG
ALTER RESOURCE GOVERNOR RECONFIGURE
GO

CREATE FUNCTION dbo.RGClassifier()
RETURNS sysname
WITH SCHEMABINDING
AS
BEGIN
    IF (ORIGINAL_DB_NAME() = 'RGDB')
        RETURN N'OriginalDBWG'

    RETURN N'Default'
END
GO

-- Create a new Pool
CREATE RESOURCE POOL OriginalDBPool
WITH (
MAX_CPU_PERCENT = 10
)
GO

--Create a new WG
CREATE WORKLOAD GROUP OriginalDBWG USING OriginalDBPool
GO

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

ALTER RESOURCE GOVERNOR RECONFIGURE
GO

これを実行した後、新しいクエリウィンドウを開き、次を実行してプール名を確認します。

SELECT wg.name FROM sys.dm_exec_sessions s inner join sys.dm_resource_governor_workload_groups wg on s.group_id = wg.group_id where s.session_id = @@SPID

次に、接続を変更し、追加のパラメーターを追加します

database=RGDB;

次に、クエリを再度実行します。ワークロードグループ名の変更が表示されます。

1
Sean Gallardy