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
veyaCREATE | 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, RECONFIGURE
CREATE | 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
veinternal
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);
İlgili içerik
- resource governor
- resource governor yapılandırma örneklerini ve en iyi yöntemleri
- KAYNAK HAVUZU OLUŞTURMA
- ALTER KAYNAK HAVUZU
- DROP RESOURCE POOL
- DıŞ KAYNAK HAVUZU oluşturma
- DıŞ KAYNAK HAVUZU BıRAKMA
- ALTER EXTERNAL RESOURCE POOL
- CREATE WORKLOAD GROUP
- ALTER İŞ YÜKÜ GRUBU
- DROP İŞ YÜKÜ GRUBU
- sys.dm_resource_governor_workload_groups
- sys.dm_resource_governor_resource_pools