Поиск…


замечания

Resource Governor в SQL Server - это функция, которая позволяет вам управлять использованием ресурсов различными приложениями и пользователями. Он запускается в реальном времени, устанавливая пределы ЦП и памяти. Это поможет предотвратить то, что один тяжелый процесс будет потреблять все системные ресурсы, в то время как к ним ждут более мелкие задачи.

Доступно только в Enterprise Editions

Чтение статистики

select *
from sys.dm_resource_governor_workload_groups

select *
from sys.dm_resource_governor_resource_pools

Создание пула для adhoc-запросов

Сначала создайте пул ресурсов, кроме стандартного

CREATE RESOURCE POOL [PoolAdhoc] WITH(min_cpu_percent=0, 
        max_cpu_percent=50, 
        min_memory_percent=0, 
        max_memory_percent=50)
GO

Создание рабочей группы для пула

CREATE WORKLOAD GROUP [AdhocMedium] WITH(importance=Medium) USING [PoolAdhoc]

Создайте функцию, которая содержит логику для регулятора ресурса и приложите его

create function [dbo].[ufn_ResourceGovernorClassifier]()
  returns sysname with schemabinding
as
begin
    return CASE
                WHEN APP_NAME() LIKE 'Microsoft Office%'                        THEN 'AdhocMedium'        -- Excel
                WHEN APP_NAME() LIKE 'Microsoft SQL Server Management Studio%'    THEN 'AdhocMedium'        -- Adhoc SQL
                WHEN SUSER_NAME() LIKE 'DOMAIN\username'                    THEN 'AdhocMedium'                -- Ssis
                ELSE 'default'
            END
end

GO

alter resource governor 
with (classifier_function = dbo.ufn_ResourceGovernorClassifier)

GO

alter resource governor reconfigure

GO


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow