Aracılığıyla paylaş


ALTER RESOURCE GOVERNOR (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL Yönetilen Örneği

Bu deyim aşağıdaki kaynak yöneticisi eylemlerini gerçekleştirir:

  • Kaynak yöneticisini etkinleştirin veya devre dışı bırakın.
  • CREATE | ALTER | DROP WORKLOAD GROUP, CREATE | ALTER | DROP RESOURCE POOL veya CREATE | ALTER | DROP EXTERNAL RESOURCE POOL deyimleri yürütülürken belirtilen yapılandırma değişikliklerini uygulayın.
  • Gelen oturumlar için sınıflandırmayı yapılandırın.
  • İş yükü grubu ve kaynak havuzu istatistiklerini sıfırlayın.
  • Disk birimi başına en fazla kuyruğa alınmış G/Ç işlemini ayarlayın.

Transact-SQL söz dizimi kuralları

Sözdizimi

ALTER RESOURCE GOVERNOR
    { RECONFIGURE
          [ WITH
                ( [ CLASSIFIER_FUNCTION = { schema_name.function_name | NULL } ]
                  [ [ , ] MAX_OUTSTANDING_IO_PER_VOLUME = value ]
                )
          ]
      | DISABLE
      | RESET STATISTICS
    }
[ ; ]

Bağımsız değişken

YENİ -DEN YAPILANDIRIN

Kaynak yöneticisi etkinleştirilmediğinde RECONFIGURE kaynak yöneticisini etkinleştirir. Resource Governor'ın etkinleştirilmesi aşağıdaki sonuçlara sahiptir:

  • Varsa sınıflandırıcı işlevi yeni oturumlar için yürütülür ve bunları iş yükü gruplarına atar.
  • Kaynak yöneticisi yapılandırmasında belirtilen kaynak rezervasyonları ve sınırları kabul edilir ve uygulanır.
  • Kaynak yöneticisi etkinleştirilmeden önce var olan istekler, kaynak yöneticisi etkinleştirildiğinde yapılan tüm yapılandırma değişikliklerinden etkilenebilir.

Resource Governor etkinleştirildiğinde, RECONFIGURECREATE | ALTER | DROP WORKLOAD GROUP, CREATE | ALTER | DROP RESOURCE POOL veya CREATE | ALTER | DROP EXTERNAL RESOURCE POOL deyimleri tarafından önceki RECONFIGURE kullanımından sonra veya Veritabanı Altyapısı'nın son yeniden başlatılmasından sonra yapılan yapılandırma değişikliklerini uygular.

Önemli

ALTER RESOURCE GOVERNOR RECONFIGURE, tüm kaynak yöneticisi yapılandırma değişikliklerinin geçerli olması için yürütülmelidir.

CLASSIFIER_FUNCTION = { schema_name.function_name | NULL }

schema_name.function_nametarafından belirtilen sınıflandırma işlevini kaydeder. Bu işlev her yeni oturumu sınıflandırır ve oturumu bir iş yükü grubuna atar. NULL kullanıldığında, yeni oturumlar otomatik olarak default iş yükü grubuna atanır.

MAX_OUTSTANDING_IO_PER_VOLUME = değer

için geçerlidir: SQL Server 2014 (12.x) ve üzeri.

Disk birimi başına en fazla kuyruğa alınmış G/Ç işlemini ayarlar. Bu G/Ç işlemleri herhangi bir boyutta okuma veya yazma işlemleri olabilir. MAX_OUTSTANDING_IO_PER_VOLUME için en yüksek değer 100'dür. Değer bir yüzde değildir. Bu ayar, GÇ kaynağı idaresini bir disk biriminin GÇ özelliklerine göre ayarlamak için tasarlanmıştır. Veritabanı Altyapısı'nın, diğer havuzlarda MAX_IOPS_PER_VOLUME ayarı sınırsız olarak ayarlanmış olsa bile kaynak havuzları için belirtilen MIN_IOPS_PER_VOLUME ayarını karşılamasını sağlayan sistem düzeyinde bir güvenlik denetimi sağlar. Daha fazla bilgi için bkz. create RESOURCE POOL.

DEVRE DIŞI BIRAKMAK

Kaynak yöneticisini devre dışı bırakır. Resource Governor'ın devre dışı bırakılması aşağıdaki sonuçlara sahiptir:

  • Sınıflandırıcı işlevi yürütülemez.
  • Tüm yeni kullanıcı oturumları otomatik olarak default iş yükü grubunda sınıflandırılır.
  • Sistem oturumları internal iş yükü grubunda sınıflandırılır.
  • Tüm mevcut iş yükü grubu ve kaynak havuzu ayarları varsayılan değerlerine sıfırlanır. Sınırlara ulaşıldığında hiçbir olay tetiklenmez.
  • Normal sistem izleme etkilenmez.
  • Kaynak yöneticisi yapılandırma değişiklikleri yapılabilir, ancak kaynak yöneticisi etkinleştirilene kadar değişiklikler geçerli olmaz.
  • Veritabanı Altyapısı yeniden başlatıldıktan sonra resource governor yapılandırmasını yüklemez, bunun yerine yalnızca default ve internal iş yükü gruplarını ve kaynak havuzlarını kullanır.

İSTATISTIĞI SıFıRLA

sys.dm_resource_governor_workload_groups ve sys.dm_resource_governor_resource_pools'de kullanıma sunulan tüm iş yükü grupları ve kaynak havuzlarıyla ilgili istatistikleri sıfırlar.

Açıklamalar

ALTER RESOURCE GOVERNOR bir kullanıcı işlemi içinde kullanılamaz.

RECONFIGURE parametresi, kaynak yöneticisi söz diziminin bir parçasıdır. Ayrı bir DDL deyimi olan RECONFIGUREile karıştırılmamalıdır.

Daha fazla bilgi için bkz. resource governor.

İzinler

CONTROL SERVER izni gerektirir.

Örnekler

Kaynak yöneticisini etkinleştirme

SQL Server yüklendiğinde, kaynak yöneticisi devre dışı bırakılır. Aşağıdaki örnek kaynak yöneticisini etkinleştirir. Deyimi yürüttükten sonra resource governor etkinleştirilir ve yerleşik iş yükü gruplarını ve kaynak havuzlarını kullanır.

ALTER RESOURCE GOVERNOR RECONFIGURE;

Varsayılan gruba yeni oturumlar atama

Aşağıdaki örnek, resource governor yapılandırmasından mevcut sınıflandırıcı işlevlerini kaldırarak tüm yeni oturumları default iş yükü grubuna atar. Sınıflandırıcı işlevi olarak hiçbir işlev atanmadığında, tüm yeni kullanıcı oturumları default iş yükü grubuna atanır. Bu değişiklik yalnızca yeni oturumlar için geçerlidir. Mevcut oturumlar etkilenmez.

ALTER RESOURCE GOVERNOR WITH (CLASSIFIER_FUNCTION = NULL);
ALTER RESOURCE GOVERNOR RECONFIGURE;

Sınıflandırıcı işlevi oluşturma ve kaydetme

Aşağıdaki örnek, master veritabanında dbo.rg_classifier adlı bir sınıflandırıcı işlevi oluşturur. İşlev, her yeni oturumu kullanıcı adına veya uygulama adına göre sınıflandırır ve oturum isteklerini ve sorgularını belirli bir iş yükü grubuna atar. Belirtilen kullanıcı veya uygulama adlarıyla eşleşmeyen oturumlar varsayılan iş yükü grubuna atanır. Sınıflandırıcı işlevi daha sonra kaydedilir ve yapılandırma değişikliği uygulanır.

USE master;
GO

CREATE FUNCTION dbo.rg_classifier()
RETURNS sysname
WITH SCHEMABINDING
AS
BEGIN

-- Declare the variable for the function return value.
DECLARE @grp_name AS sysname;

-- If the login name is 'sa', classify the session into the groupAdmin workload group
IF (SUSER_NAME() = 'sa')
  SET @grp_name = 'groupAdmin';

-- Classify SSMS sessions into the groupAdhoc workload group
ELSE IF UPPER(APP_NAME()) LIKE '%MANAGEMENT STUDIO%'
  SET @grp_name = 'groupAdhoc';

-- Classify SSRS sessions into groupReports workload group
ELSE IF UPPER(APP_NAME()) LIKE '%REPORT SERVER%'
  SET @grp_name = 'groupReports';

-- Otherwise, classify the session into the default workload group
ELSE
  SET @grp_name = 'default';

-- Return the name of the workload group
RETURN @grp_name;

END;
GO

-- Register the classifier function and update resource governor configuration
ALTER RESOURCE GOVERNOR WITH (CLASSIFIER_FUNCTION = dbo.rg_classifier);
ALTER RESOURCE GOVERNOR RECONFIGURE;

Kaynak yöneticisi istatistiklerini sıfırlama

Aşağıdaki örnek tüm iş yükü grubu ve kaynak havuzu istatistiklerini sıfırlar.

ALTER RESOURCE GOVERNOR RESET STATISTICS;

MAX_OUTSTANDING_IO_PER_VOLUME ayarını yapılandırma

Aşağıdaki örnek, MAX_OUTSTANDING_IO_PER_VOLUME ayarını 20 IOS olarak ayarlar.

ALTER RESOURCE GOVERNOR WITH (MAX_OUTSTANDING_IO_PER_VOLUME = 20);