Recherche…


Remarques

Le gouverneur de ressources dans SQL Server est une fonctionnalité qui vous permet de gérer l'utilisation des ressources par différentes applications et utilisateurs. Il démarre en temps réel en définissant les limites de CPU et de mémoire. Cela évitera qu'un processus lourd consomme toutes les ressources du système alors que, par exemple, des tâches plus petites les attendent.

Disponible uniquement dans les éditions Enterprise

Lecture des statistiques

select *
from sys.dm_resource_governor_workload_groups

select *
from sys.dm_resource_governor_resource_pools

Créer un pool pour les requêtes ad hoc

Créez d'abord un pool de ressources en plus de celui par défaut

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

Créez le groupe de charge pour le pool

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

Créez la fonction qui contient la logique du gouverneur de ressources et attachez-la

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
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow