Aracılığıyla paylaş


ALTER WORKLOAD GROUP (Transact-SQL)

Ürün seçin

Aşağıdaki satırda, ilgilendiğiniz ürün adını seçin ve yalnızca bu ürünün bilgileri görüntülenir.

* SQL Server *  

SQL Yönetilen Örneği

Azure Synapse'i
Analiz

 

SQL Server ve SQL Yönetilen Örneği

Mevcut bir resource governor iş yükü grubu yapılandırmasını değiştirir ve isteğe bağlı olarak farklı bir resource governor kaynak havuzuna atar.

Not

Azure SQL Yönetilen Örneği'nde kaynak yöneticisi yapılandırmasını değiştirmek için birincil çoğaltmada yer alan master veritabanının bağlamında olmanız gerekir.

söz dizimi kurallarını Transact-SQL.

Sözdizimi

ALTER WORKLOAD GROUP { group_name | [ default ] }
[ WITH
    ( [ IMPORTANCE = { LOW | MEDIUM | HIGH } ]
      [ [ , ] REQUEST_MAX_MEMORY_GRANT_PERCENT = value ]
      [ [ , ] REQUEST_MAX_CPU_TIME_SEC = value ]
      [ [ , ] REQUEST_MEMORY_GRANT_TIMEOUT_SEC = value ]
      [ [ , ] MAX_DOP = value ]
      [ [ , ] GROUP_MAX_REQUESTS = value ]
      [ [ , ] GROUP_MAX_TEMPDB_DATA_MB = value ]
      [ [ , ] GROUP_MAX_TEMPDB_DATA_PERCENT = value ] )
]
[ USING { pool_name | [default] } ]
[ ; ]

Bağımsız değişken

group_name | [varsayılan]

Mevcut kullanıcı tanımlı iş yükü grubunun veya resource governor yerleşik default iş yükü grubunun adı.

default, sistem tarafından ayrılmış bir sözcük olan []çakışmasını önlemek için "" kullanıldığında köşeli ayraç (ALTER WORKLOAD GROUP) veya tırnak işareti (DEFAULT) olmalıdır. Daha fazla bilgi için bkz.Veritabanı tanımlayıcıları.

Yerleşik kaynak havuzları ve iş yükü grupları, defaultgibi tüm küçük harf adlarını kullanır. Büyük/küçük harfe duyarlı harmanlama kullanan sunucularda küçük harf default kullanın. Büyük/küçük harfe duyarlı olmayan harmanlama içeren sunucular, default, Defaultve DEFAULT aynı değer olarak davranır.

ÖNEM DERECESI = { DÜŞÜK | ORTA | HIGH }

bir isteğin iş yükü grubundaki göreli önemini belirtir. Varsayılan değer MEDIUM.

IMPORTANCE, iş yükü grubunu içeren kaynak havuzu için yereldir. Aynı kaynak havuzu içinde farklı öneme sahip iş yükü grupları birbirini etkiler, ancak diğer kaynak havuzlarındaki iş yükü gruplarını etkilemez.

REQUEST_MAX_MEMORY_GRANT_PERCENT = değer

Tek bir isteğin havuzdan alabileceği en fazla sorgu çalışma alanı belleği miktarını belirtir. değeri, tarafından tanımlanan kaynak havuzu boyutunun yüzdesidir. Varsayılan değer 25'tir.

SQL Server 2017 (14.x) ve daha eski sürümlerinde değer bir tamsayıdır ve izin verilen aralık 1 ile 100 arasındadır.

SQL Server 2019 (15.x) ile başlayarak, değer float veri türü kullanılarak kesirli olabilir. İzin verilen aralık 0 ile 100 arasındadır.

Önemli

Belirtilen miktar yalnızca sorgu belleği vermeleri yoluyla elde edilen sorgu çalışma alanı belleğine başvuruyor.

Sunucu diğer eşzamanlı sorgular için yeterli boş bellek ayarlayamadığından, değerin çok büyük (örneğin, 70'ten büyük) ayarlanması önerilmez. Bu,8645 hatası bellek verme zaman aşımına neden olabilir.

değeri 0 veya küçük bir değer olarak ayarlamak, ve gibi çalışma alanı belleği gerektiren işleçlere sahip sorguların kullanıcı tanımlı iş yükü gruplarında çalışmasını engelleyebilir. Sorgu belleği gereksinimleri bu parametre tarafından tanımlanan sınırı aşarsa aşağıdaki davranış oluşur:

  • Kullanıcı tanımlı iş yükü grupları için sunucu, bellek gereksinimi sınırın altına düşene kadar veya DOP 1'e eşit olana kadar isteğin paralellik (DOP) derecesini azaltmaya çalışır. Sorgu belleği gereksinimi hala sınırdan büyükse 8657 hatası oluşur ve sorgu başarısız olur.
  • internal ve default iş yükü grupları için sunucu sorgunun gerekli belleği almasına izin verir.

Her iki durumda da sunucunun fiziksel belleği yetersizse hata 8645 oluşabilir.

REQUEST_MAX_CPU_TIME_SEC = değer

Bir toplu iş isteğinin kullanabileceği en fazla CPU süresini saniye cinsinden belirtir. değer 0 veya pozitif bir tamsayı olmalıdır. değeri için varsayılan ayar 0'dır ve bu da sınırsız anlamına gelir.

En fazla CPU süresi aşıldığında, genişletilmiş cpu_threshold_exceeded olayı ve izleme olayı oluşturulur. Daha fazla bilgi için bkz. CPU eşiği olay sınıfını aştı.

Azure SQL Yönetilen Örneği'nde, maksimum CPU süresi aşıldığında resource governor isteği 10961 hatasıyla durdurur.

SQL Server'da resource governor varsayılan olarak isteği durdurmaz. Ancak, SQL Server 2016 (13.x) SP2 ve SQL Server 2017 (14.x) CU3'ten başlayarak, izleme bayrağı 2422 etkinleştirildiğinde ve maksimum CPU süresi aşıldığında kaynak yöneticisi 10961 hatasıyla bir isteği durdurur.

REQUEST_MEMORY_GRANT_TIMEOUT_SEC = değer

Sorgunun, sorgu çalışma alanı belleğinden bellek verilmesini bekleyebileceği en uzun süreyi saniye cinsinden belirtir. değer 0 veya pozitif bir tamsayı olmalıdır. 0değeri için varsayılan ayar, maksimum süreyi belirlemek için sorgu maliyetini temel alan bir iç hesaplama kullanır.

Bellek verme zaman aşımına ulaşıldığında sorgu her zaman başarısız olmaz. Sorgu yalnızca çok fazla eşzamanlı sorgu çalıştırıldığında başarısız olur. Aksi takdirde, sorgu yalnızca en düşük bellek iznini alabilir ve bu da sorgu performansının düşmesine neden olabilir.

MAX_DOP = değer

Paralel sorgu yürütme için en yüksek paralellik derecesini (MAXDOP) belirtir. değer için izin verilen aralık 0 ile 64 arasındadır. 0değeri için varsayılan ayar genel ayarı kullanır.

Daha fazla bilgi için bkz. maxdop.

GROUP_MAX_REQUESTS = değer

İş yükü grubunda yürütülmesine izin verilen en fazla eşzamanlı istek sayısını belirtir. değer 0 veya pozitif bir tamsayı olmalıdır. değeri için varsayılan ayar 0'dır ve sınırsız isteklere izin verir. En fazla eşzamanlı istek sayısına ulaşıldığında, bu grupta bir oturum oluşturulabilir, ancak eşzamanlı istek sayısı belirtilen değerin altına düşene kadar bekleme durumuna alınır.

GROUP_MAX_TEMPDB_DATA_MB = değer

Bir iş yükü grubunun veri dosyalarında tempdb megabayt cinsinden kullanabileceği maksimum alan miktarını belirtir. değer 0, pozitif sayı veya NULL olmalıdır. Kesirli değerlere izin verilir.

Değer 0 olduğunda, tempdb iş yükü grubundaki oturumlara göre alan ayırmalarına izin verilmez. Bir değer ayarlı olmadığında, kaynak yöneticisi iş yükü grubu tarafından alan tüketimini sınırlamaz tempdb .

Sınır, bir iş yükü grubundaki tempdb tüm oturumlar tarafından içinde tüketilen toplam alan içindir.

bir iş yükü grubunda çalışan bir istek, tarafından ayarlanan tempdbsınırın üzerinde iş yükü grubu tarafından veri alanı tüketimini artırmaya GROUP_MAX_TEMPDB_DATA_MB çalıştığında resource governor isteği 1138 hatasıyla durdurur. Daha fazla bilgi için bkz . Tempdb alan kaynağı idaresi.

GROUP_MAX_TEMPDB_DATA_PERCENT = değer

Bir iş yükü grubunun veri dosyalarında tempdb kullanabileceği maksimum alan miktarını, en tempdb büyük boyutun yüzdesinde belirtir. En büyük tempdb boyutun tanımı için bkz . Yüzde sınırı yapılandırması. değer 0 ile 100 arasında ya da NULL arasında olmalıdır. Kesirli değerlere izin verilir.

Değer 0 olduğunda, tempdb iş yükü grubundaki oturumlara göre alan ayırmalarına izin verilmez. Bir değer ayarlı olmadığında, kaynak yöneticisi iş yükü grubu tarafından alan tüketimini sınırlamaz tempdb . Ayarlandığında GROUP_MAX_TEMPDB_DATA_MB veya boyut üst sınırı tanımlanmadığında tempdbGROUP_MAX_TEMPDB_DATA_PERCENT hiçbir etkisi olmaz.

Sınır, bir iş yükü grubundaki tempdb tüm oturumlar tarafından içinde tüketilen toplam alan içindir.

bir iş yükü grubunda çalışan bir istek, tarafından ayarlanan tempdbsınırın üzerinde iş yükü grubu tarafından veri alanı tüketimini artırmaya GROUP_MAX_TEMPDB_DATA_PERCENT çalıştığında resource governor isteği 1138 hatasıyla durdurur. Daha fazla bilgi için bkz . Tempdb alan kaynağı idaresi.

KULLANMA { pool_name | [ varsayılan ] }

İş yükü grubunu pool_nametarafından tanımlanan kullanıcı tanımlı kaynak havuzuyla veya default kaynak havuzuyla ilişkilendirir. pool_name sağlanmazsa veya USING bağımsız değişkeni belirtilmezse, iş yükü grubu yerleşik default havuzuyla ilişkilendirilir.

default ayrılmış bir sözcükdür ve USINGiçinde belirtildiğinde köşeli ayraç ([]) veya tırnak işaretleri ("") içine alınmalıdır.

Yerleşik kaynak havuzları ve iş yükü grupları, defaultgibi tüm küçük harf adlarını kullanır. Büyük/küçük harfe duyarlı harmanlama kullanan sunucularda küçük harf default kullanın. Büyük/küçük harfe duyarlı olmayan harmanlama içeren sunucular, default, Defaultve DEFAULT aynı değer olarak davranır.

Açıklamalar

ALTER WORKLOAD GROUP default iş yükü grubunda izin verilir, ancak internal grubunda kullanılamaz.

İş yükü grubu yapılandırmasında yapılan değişiklikler, ALTER RESOURCE GOVERNOR RECONFIGURE yürütülene kadar geçerli olmaz.

Daha fazla bilgi için bkz. resource governor ve Resource governor iş yükü grubu.

MAXDOP

Belirli bir sorgu için geçerli MAXDOP aşağıdaki gibi belirlenir:

sınırı,görev başına ayarlanır. Bu, başına istek veya sorgu sınırı başına değildir. Paralel sorgunun yürütülmesi sırasında tek bir istek,bir zamanlayıcıya atanmış birden çok görev oluşturabilir. Daha fazla bilgi içinİş Parçacığı ve görev mimarisi kılavuzuna bakın.

Bir sorgu derleme zamanında seri olarak işaretlendiğinde (MAXDOP = 1), iş yükü grubu veya sunucu yapılandırma ayarından bağımsız olarak çalışma zamanında paralellikle yürütülemez. Sorgu için MAXDOP belirlendikten sonra, yalnızca bellek baskısı nedeniyle azaltılabilir. İş yükü grubu yeniden yapılandırması, bellek verme kuyruğunda bekleyen sorguları etkilemez.

Önbelleğe alınmış planlar

MAX_DOPgibi bir ayarı etkileyen bir planı değiştirdiğinizde, yeni ayar önceden önbelleğe alınmış planlarda yalnızca DBCC FREEPROCCACHE (<pool_name>)yürütüldükten sonra geçerli olur; burada <pool_name> geçerli iş yükü grubu tarafından kullanılan kaynak yöneticisi kaynak havuzunun adıdır.

  • MAX_DOP 1 olarak değiştiriliyorsa paralel planlar seri modda çalışabildiğinden DBCC FREEPROCCACHE yürütülmesi gerekmez. Ancak bu tür bir plan, seri plan olarak derlenen bir plandan daha az verimli olabilir.
  • MAX_DOP 1'den 0'a veya 1'den büyük bir değere değiştiriliyorsa, DBCC FREEPROCCACHE yürütülmesi gerekmez. Ancak seri planlar paralel olarak çalıştırılamaz, bu nedenle ilgili önbelleğin temizlenmesi yeni planların paralellik kullanılarak derlenmesine olanak tanır.

Uyarı

Birden fazla iş yükü grubuyla ilişkili bir kaynak havuzundan önbelleğe alınmış planların temizlenmesi, <pool_name>tarafından tanımlanan kullanıcı tanımlı kaynak havuzunu kullanan tüm iş yükü gruplarını etkiler.

Dizin oluşturma

Performans nedenleriyle, dizin oluşturma işleminin başlangıçta verilenden daha fazla bellek çalışma alanı kullanmasına izin verilir. Resource Governor bu özel işlemeyi destekler. Ancak, ilk verme ve ek bellek atamaları iş yükü grubu ve kaynak havuzu ayarlarıyla sınırlıdır.

Bölümlenmiş tabloda hizalanmamış dizin oluşturmak için kullanılan bellek, ilgili bölüm sayısıyla orantılıdır. Gerekli toplam bellek, REQUEST_MAX_MEMORY_GRANT_PERCENT iş yükü grubu ayarı tarafından uygulanan sorgu başına sınırı aşarsa dizin oluşturma başarısız olabilir. default iş yükü grubu bir sorgunun geriye dönük uyumluluk için başlatılması gereken en düşük bellekle sorgu başına sınırı aşmasına izin verdiğinden, default kaynak havuzu yeterli toplam belleğe sahipse default iş yükü grubunu kullanarak aynı dizini oluşturabilirsiniz.

İzinler

CONTROL SERVER izni gerektirir.

Örnekler

Aşağıdaki örnekte, varsayılan gruptaki isteklerin öneminin MEDIUM yerine LOWolarak nasıl değiştireceği gösterilmektedir.

ALTER WORKLOAD GROUP [default]
WITH (IMPORTANCE = LOW);

ALTER RESOURCE GOVERNOR RECONFIGURE;

Aşağıdaki örnekte, bir iş yükü grubunun o anda bulunduğu havuzdan default havuzuna nasıl taşınacakları gösterilmektedir.

ALTER WORKLOAD GROUP adHoc
USING [default];

ALTER RESOURCE GOVERNOR RECONFIGURE;

SQL Server

* SQL Yönetilen Örneği *  

Azure Synapse'i
Analiz

 

SQL Server ve SQL Yönetilen Örneği

Mevcut bir resource governor iş yükü grubu yapılandırmasını değiştirir ve isteğe bağlı olarak farklı bir resource governor kaynak havuzuna atar.

Not

Azure SQL Yönetilen Örneği'nde kaynak yöneticisi yapılandırmasını değiştirmek için birincil çoğaltmada yer alan master veritabanının bağlamında olmanız gerekir.

söz dizimi kurallarını Transact-SQL.

Sözdizimi

ALTER WORKLOAD GROUP { group_name | [ default ] }
[ WITH
    ( [ IMPORTANCE = { LOW | MEDIUM | HIGH } ]
      [ [ , ] REQUEST_MAX_MEMORY_GRANT_PERCENT = value ]
      [ [ , ] REQUEST_MAX_CPU_TIME_SEC = value ]
      [ [ , ] REQUEST_MEMORY_GRANT_TIMEOUT_SEC = value ]
      [ [ , ] MAX_DOP = value ]
      [ [ , ] GROUP_MAX_REQUESTS = value ]
      [ [ , ] GROUP_MAX_TEMPDB_DATA_MB = value ]
      [ [ , ] GROUP_MAX_TEMPDB_DATA_PERCENT = value ] )
]
[ USING { pool_name | [default] } ]
[ ; ]

Bağımsız değişken

group_name | [varsayılan]

Mevcut kullanıcı tanımlı iş yükü grubunun veya resource governor yerleşik default iş yükü grubunun adı.

default, sistem tarafından ayrılmış bir sözcük olan []çakışmasını önlemek için "" kullanıldığında köşeli ayraç (ALTER WORKLOAD GROUP) veya tırnak işareti (DEFAULT) olmalıdır. Daha fazla bilgi için bkz.Veritabanı tanımlayıcıları.

Yerleşik kaynak havuzları ve iş yükü grupları, defaultgibi tüm küçük harf adlarını kullanır. Büyük/küçük harfe duyarlı harmanlama kullanan sunucularda küçük harf default kullanın. Büyük/küçük harfe duyarlı olmayan harmanlama içeren sunucular, default, Defaultve DEFAULT aynı değer olarak davranır.

ÖNEM DERECESI = { DÜŞÜK | ORTA | HIGH }

bir isteğin iş yükü grubundaki göreli önemini belirtir. Varsayılan değer MEDIUM.

IMPORTANCE, iş yükü grubunu içeren kaynak havuzu için yereldir. Aynı kaynak havuzu içinde farklı öneme sahip iş yükü grupları birbirini etkiler, ancak diğer kaynak havuzlarındaki iş yükü gruplarını etkilemez.

REQUEST_MAX_MEMORY_GRANT_PERCENT = değer

Tek bir isteğin havuzdan alabileceği en fazla sorgu çalışma alanı belleği miktarını belirtir. değeri, tarafından tanımlanan kaynak havuzu boyutunun yüzdesidir. Varsayılan değer 25'tir.

SQL Server 2017 (14.x) ve daha eski sürümlerinde değer bir tamsayıdır ve izin verilen aralık 1 ile 100 arasındadır.

SQL Server 2019 (15.x) ile başlayarak, değer float veri türü kullanılarak kesirli olabilir. İzin verilen aralık 0 ile 100 arasındadır.

Önemli

Belirtilen miktar yalnızca sorgu belleği vermeleri yoluyla elde edilen sorgu çalışma alanı belleğine başvuruyor.

Sunucu diğer eşzamanlı sorgular için yeterli boş bellek ayarlayamadığından, değerin çok büyük (örneğin, 70'ten büyük) ayarlanması önerilmez. Bu,8645 hatası bellek verme zaman aşımına neden olabilir.

değeri 0 veya küçük bir değer olarak ayarlamak, ve gibi çalışma alanı belleği gerektiren işleçlere sahip sorguların kullanıcı tanımlı iş yükü gruplarında çalışmasını engelleyebilir. Sorgu belleği gereksinimleri bu parametre tarafından tanımlanan sınırı aşarsa aşağıdaki davranış oluşur:

  • Kullanıcı tanımlı iş yükü grupları için sunucu, bellek gereksinimi sınırın altına düşene kadar veya DOP 1'e eşit olana kadar isteğin paralellik (DOP) derecesini azaltmaya çalışır. Sorgu belleği gereksinimi hala sınırdan büyükse 8657 hatası oluşur ve sorgu başarısız olur.
  • internal ve default iş yükü grupları için sunucu sorgunun gerekli belleği almasına izin verir.

Her iki durumda da sunucunun fiziksel belleği yetersizse hata 8645 oluşabilir.

REQUEST_MAX_CPU_TIME_SEC = değer

Bir toplu iş isteğinin kullanabileceği en fazla CPU süresini saniye cinsinden belirtir. değer 0 veya pozitif bir tamsayı olmalıdır. değeri için varsayılan ayar 0'dır ve bu da sınırsız anlamına gelir.

En fazla CPU süresi aşıldığında, genişletilmiş cpu_threshold_exceeded olayı ve izleme olayı oluşturulur. Daha fazla bilgi için bkz. CPU eşiği olay sınıfını aştı.

Azure SQL Yönetilen Örneği'nde, maksimum CPU süresi aşıldığında resource governor isteği 10961 hatasıyla durdurur.

SQL Server'da resource governor varsayılan olarak isteği durdurmaz. Ancak, SQL Server 2016 (13.x) SP2 ve SQL Server 2017 (14.x) CU3'ten başlayarak, izleme bayrağı 2422 etkinleştirildiğinde ve maksimum CPU süresi aşıldığında kaynak yöneticisi 10961 hatasıyla bir isteği durdurur.

REQUEST_MEMORY_GRANT_TIMEOUT_SEC = değer

Sorgunun, sorgu çalışma alanı belleğinden bellek verilmesini bekleyebileceği en uzun süreyi saniye cinsinden belirtir. değer 0 veya pozitif bir tamsayı olmalıdır. 0değeri için varsayılan ayar, maksimum süreyi belirlemek için sorgu maliyetini temel alan bir iç hesaplama kullanır.

Bellek verme zaman aşımına ulaşıldığında sorgu her zaman başarısız olmaz. Sorgu yalnızca çok fazla eşzamanlı sorgu çalıştırıldığında başarısız olur. Aksi takdirde, sorgu yalnızca en düşük bellek iznini alabilir ve bu da sorgu performansının düşmesine neden olabilir.

MAX_DOP = değer

Paralel sorgu yürütme için en yüksek paralellik derecesini (MAXDOP) belirtir. değer için izin verilen aralık 0 ile 64 arasındadır. 0değeri için varsayılan ayar genel ayarı kullanır.

Daha fazla bilgi için bkz. maxdop.

GROUP_MAX_REQUESTS = değer

İş yükü grubunda yürütülmesine izin verilen en fazla eşzamanlı istek sayısını belirtir. değer 0 veya pozitif bir tamsayı olmalıdır. değeri için varsayılan ayar 0'dır ve sınırsız isteklere izin verir. En fazla eşzamanlı istek sayısına ulaşıldığında, bu grupta bir oturum oluşturulabilir, ancak eşzamanlı istek sayısı belirtilen değerin altına düşene kadar bekleme durumuna alınır.

GROUP_MAX_TEMPDB_DATA_MB = değer

Bir iş yükü grubunun veri dosyalarında tempdb megabayt cinsinden kullanabileceği maksimum alan miktarını belirtir. değer 0, pozitif sayı veya NULL olmalıdır. Kesirli değerlere izin verilir.

Değer 0 olduğunda, tempdb iş yükü grubundaki oturumlara göre alan ayırmalarına izin verilmez. Bir değer ayarlı olmadığında, kaynak yöneticisi iş yükü grubu tarafından alan tüketimini sınırlamaz tempdb .

Sınır, bir iş yükü grubundaki tempdb tüm oturumlar tarafından içinde tüketilen toplam alan içindir.

bir iş yükü grubunda çalışan bir istek, tarafından ayarlanan tempdbsınırın üzerinde iş yükü grubu tarafından veri alanı tüketimini artırmaya GROUP_MAX_TEMPDB_DATA_MB çalıştığında resource governor isteği 1138 hatasıyla durdurur. Daha fazla bilgi için bkz . Tempdb alan kaynağı idaresi.

GROUP_MAX_TEMPDB_DATA_PERCENT = değer

Bir iş yükü grubunun veri dosyalarında tempdb kullanabileceği maksimum alan miktarını, en tempdb büyük boyutun yüzdesinde belirtir. En büyük tempdb boyutun tanımı için bkz . Yüzde sınırı yapılandırması. değer 0 ile 100 arasında ya da NULL arasında olmalıdır. Kesirli değerlere izin verilir.

Değer 0 olduğunda, tempdb iş yükü grubundaki oturumlara göre alan ayırmalarına izin verilmez. Bir değer ayarlı olmadığında, kaynak yöneticisi iş yükü grubu tarafından alan tüketimini sınırlamaz tempdb . Ayarlandığında GROUP_MAX_TEMPDB_DATA_MB veya boyut üst sınırı tanımlanmadığında tempdbGROUP_MAX_TEMPDB_DATA_PERCENT hiçbir etkisi olmaz.

Sınır, bir iş yükü grubundaki tempdb tüm oturumlar tarafından içinde tüketilen toplam alan içindir.

bir iş yükü grubunda çalışan bir istek, tarafından ayarlanan tempdbsınırın üzerinde iş yükü grubu tarafından veri alanı tüketimini artırmaya GROUP_MAX_TEMPDB_DATA_PERCENT çalıştığında resource governor isteği 1138 hatasıyla durdurur. Daha fazla bilgi için bkz . Tempdb alan kaynağı idaresi.

KULLANMA { pool_name | [ varsayılan ] }

İş yükü grubunu pool_nametarafından tanımlanan kullanıcı tanımlı kaynak havuzuyla veya default kaynak havuzuyla ilişkilendirir. pool_name sağlanmazsa veya USING bağımsız değişkeni belirtilmezse, iş yükü grubu yerleşik default havuzuyla ilişkilendirilir.

default ayrılmış bir sözcükdür ve USINGiçinde belirtildiğinde köşeli ayraç ([]) veya tırnak işaretleri ("") içine alınmalıdır.

Yerleşik kaynak havuzları ve iş yükü grupları, defaultgibi tüm küçük harf adlarını kullanır. Büyük/küçük harfe duyarlı harmanlama kullanan sunucularda küçük harf default kullanın. Büyük/küçük harfe duyarlı olmayan harmanlama içeren sunucular, default, Defaultve DEFAULT aynı değer olarak davranır.

Açıklamalar

ALTER WORKLOAD GROUP default iş yükü grubunda izin verilir, ancak internal grubunda kullanılamaz.

İş yükü grubu yapılandırmasında yapılan değişiklikler, ALTER RESOURCE GOVERNOR RECONFIGURE yürütülene kadar geçerli olmaz.

Daha fazla bilgi için bkz. resource governor ve Resource governor iş yükü grubu.

MAXDOP

Belirli bir sorgu için geçerli MAXDOP aşağıdaki gibi belirlenir:

sınırı,görev başına ayarlanır. Bu, başına istek veya sorgu sınırı başına değildir. Paralel sorgunun yürütülmesi sırasında tek bir istek,bir zamanlayıcıya atanmış birden çok görev oluşturabilir. Daha fazla bilgi içinİş Parçacığı ve görev mimarisi kılavuzuna bakın.

Bir sorgu derleme zamanında seri olarak işaretlendiğinde (MAXDOP = 1), iş yükü grubu veya sunucu yapılandırma ayarından bağımsız olarak çalışma zamanında paralellikle yürütülemez. Sorgu için MAXDOP belirlendikten sonra, yalnızca bellek baskısı nedeniyle azaltılabilir. İş yükü grubu yeniden yapılandırması, bellek verme kuyruğunda bekleyen sorguları etkilemez.

Önbelleğe alınmış planlar

MAX_DOPgibi bir ayarı etkileyen bir planı değiştirdiğinizde, yeni ayar önceden önbelleğe alınmış planlarda yalnızca DBCC FREEPROCCACHE (<pool_name>)yürütüldükten sonra geçerli olur; burada <pool_name> geçerli iş yükü grubu tarafından kullanılan kaynak yöneticisi kaynak havuzunun adıdır.

  • MAX_DOP 1 olarak değiştiriliyorsa paralel planlar seri modda çalışabildiğinden DBCC FREEPROCCACHE yürütülmesi gerekmez. Ancak bu tür bir plan, seri plan olarak derlenen bir plandan daha az verimli olabilir.
  • MAX_DOP 1'den 0'a veya 1'den büyük bir değere değiştiriliyorsa, DBCC FREEPROCCACHE yürütülmesi gerekmez. Ancak seri planlar paralel olarak çalıştırılamaz, bu nedenle ilgili önbelleğin temizlenmesi yeni planların paralellik kullanılarak derlenmesine olanak tanır.

Uyarı

Birden fazla iş yükü grubuyla ilişkili bir kaynak havuzundan önbelleğe alınmış planların temizlenmesi, <pool_name>tarafından tanımlanan kullanıcı tanımlı kaynak havuzunu kullanan tüm iş yükü gruplarını etkiler.

Dizin oluşturma

Performans nedenleriyle, dizin oluşturma işleminin başlangıçta verilenden daha fazla bellek çalışma alanı kullanmasına izin verilir. Resource Governor bu özel işlemeyi destekler. Ancak, ilk verme ve ek bellek atamaları iş yükü grubu ve kaynak havuzu ayarlarıyla sınırlıdır.

Bölümlenmiş tabloda hizalanmamış dizin oluşturmak için kullanılan bellek, ilgili bölüm sayısıyla orantılıdır. Gerekli toplam bellek, REQUEST_MAX_MEMORY_GRANT_PERCENT iş yükü grubu ayarı tarafından uygulanan sorgu başına sınırı aşarsa dizin oluşturma başarısız olabilir. default iş yükü grubu bir sorgunun geriye dönük uyumluluk için başlatılması gereken en düşük bellekle sorgu başına sınırı aşmasına izin verdiğinden, default kaynak havuzu yeterli toplam belleğe sahipse default iş yükü grubunu kullanarak aynı dizini oluşturabilirsiniz.

İzinler

CONTROL SERVER izni gerektirir.

Örnekler

Aşağıdaki örnekte, varsayılan gruptaki isteklerin öneminin MEDIUM yerine LOWolarak nasıl değiştireceği gösterilmektedir.

ALTER WORKLOAD GROUP [default]
WITH (IMPORTANCE = LOW);

ALTER RESOURCE GOVERNOR RECONFIGURE;

Aşağıdaki örnekte, bir iş yükü grubunun o anda bulunduğu havuzdan default havuzuna nasıl taşınacakları gösterilmektedir.

ALTER WORKLOAD GROUP adHoc
USING [default];

ALTER RESOURCE GOVERNOR RECONFIGURE;

SQL Server

SQL Yönetilen Örneği

* Azure Synapse
Analiz *
 

 

Azure Synapse Analytics

Mevcut bir iş yükü grubunu değiştirir.

çalışan ve kuyruğa alınmış isteklerle ALTER WORKLOAD GROUP sistemde nasıl davrandığını öğrenmek için aşağıdaki ALTER WORKLOAD GROUP davranış bölümüne bakın.

CREATE WORKLOAD GROUP için uygulanan kısıtlamalar ALTER WORKLOAD GROUPiçin de geçerlidir. Parametreleri değiştirmeden önce, değerlerin kabul edilebilir aralıklar içinde olduğundan emin olmak için sorgu sys.workload_management_workload_groups.

Sözdizimi

ALTER WORKLOAD GROUP group_name
WITH
([ MIN_PERCENTAGE_RESOURCE = value ]
  [ [ , ] CAP_PERCENTAGE_RESOURCE = value ]
  [ [ , ] REQUEST_MIN_RESOURCE_GRANT_PERCENT = value ]
  [ [ , ] REQUEST_MAX_RESOURCE_GRANT_PERCENT = value ]
  [ [ , ] IMPORTANCE = { LOW | BELOW_NORMAL | NORMAL | ABOVE_NORMAL | HIGH }]
  [ [ , ] QUERY_EXECUTION_TIMEOUT_SEC = value ] )
  [ ; ]

Bağımsız değişken

group_name

Değiştirilen mevcut kullanıcı tanımlı iş yükü grubunun adıdır. group_name değiştirilemez.

MIN_PERCENTAGE_RESOURCE = değer

değer 0 ile 100 arasında bir tamsayı aralığıdır. MIN_PERCENTAGE_RESOURCE değiştirilirken tüm iş yükü gruplarında MIN_PERCENTAGE_RESOURCE toplamı 100'ü aşamaz. MIN_PERCENTAGE_RESOURCE değiştirilmesi, komut tamamlanmadan önce tüm çalışan sorguların iş yükü grubunda tamamlanmasını gerektirir. Daha fazla bilgi için bu makaledeki ALTER WORKLOAD GROUP behavior bölümüne bakın.

CAP_PERCENTAGE_RESOURCE = değer

değer 1 ile 100 arasında bir tamsayı aralığıdır. CAP_PERCENTAGE_RESOURCE değeri MIN_PERCENTAGE_RESOURCE'den büyük olmalıdır. CAP_PERCENTAGE_RESOURCE değiştirmek için, komut tamamlanmadan önce tüm çalışan sorguların iş yükü grubunda tamamlanması gerekir. Daha fazla bilgi için bu makaledeki ALTER WORKLOAD GROUP behavior bölümüne bakın.

REQUEST_MIN_RESOURCE_GRANT_PERCENT = değer

değer, 0,75 ile 100,00 arasında bir aralığı olan ondalık değerdir. REQUEST_MIN_RESOURCE_GRANT_PERCENT değerinin MIN_PERCENTAGE_RESOURCE bir faktör olması ve CAP_PERCENTAGE_RESOURCE'den küçük olması gerekir.

REQUEST_MAX_RESOURCE_GRANT_PERCENT = değer

değer ondalıktır ve REQUEST_MIN_RESOURCE_GRANT_PERCENT büyük olmalıdır.

ÖNEM DERECESI = { DÜŞÜK | BELOW_NORMAL | NORMAL | ABOVE_NORMAL | HIGH }

bir isteğin iş yükü grubu için varsayılan önemini değiştirir.

QUERY_EXECUTION_TIMEOUT_SEC = değer

Sorgunun iptal edilmeden önce yürütülebileceği en uzun süreyi saniye cinsinden değiştirir. Değer 0 veya pozitif bir tamsayı olmalıdır. Değerin varsayılan ayarı 0'dır ve bu da sınırsız anlamına gelir.

İzinler

CONTROL DATABASE izni gerektirir.

Örnek

Aşağıdaki örnek, wgDataLoadsadlı bir iş yükü grubu için katalog görünümündeki değerleri denetler ve değerleri değiştirir.

SELECT *
FROM sys.workload_management_workload_groups
WHERE [name] = 'wgDataLoads'

ALTER WORKLOAD GROUP wgDataLoads WITH
( MIN_PERCENTAGE_RESOURCE            = 40
, CAP_PERCENTAGE_RESOURCE            = 80
, REQUEST_MIN_RESOURCE_GRANT_PERCENT = 10 )

ALTER WORKLOAD GROUP davranışı

Herhangi bir zamanda sistemde üç tür istek vardır:

  • Henüz sınıflandırılmamış istekler.
  • Nesne kilitleri veya sistem kaynakları için sınıflandırılmış ve bekleyen istekler.
  • Sınıflandırılmış ve çalışan istekler.

Değiştirilen bir iş yükü grubunun özelliklerine bağlı olarak, ayarların ne zaman etkin olacağı zamanlaması farklılık gösterir.

Önem derecesi veya query_execution_timeout

Önem derecesi ve query_execution_timeout özellikleri için, sınıflandırılmamış istekler yeni yapılandırma değerlerini alır. Bekleyen ve çalışan istekler eski yapılandırmayla yürütülür. ALTER WORKLOAD GROUP isteği, iş yükü grubunda çalışan sorgular olup olmadığına bakılmaksızın hemen yürütülür.

REQUEST_MIN_RESOURCE_GRANT_PERCENT veya REQUEST_MAX_RESOURCE_GRANT_PERCENT

REQUEST_MIN_RESOURCE_GRANT_PERCENT ve REQUEST_MAX_RESOURCE_GRANT_PERCENT için, çalışan istekler eski yapılandırmayla yürütülür. Bekleyen istekler ve sınıflandırılmamış istekler yeni yapılandırma değerlerini alır. ALTER WORKLOAD GROUP isteği, iş yükü grubunda çalışan sorgular olup olmadığına bakılmaksızın hemen yürütülür.

MIN_PERCENTAGE_RESOURCE veya CAP_PERCENTAGE_RESOURCE

MIN_PERCENTAGE_RESOURCE ve CAP_PERCENTAGE_RESOURCE için, çalışan istekler eski yapılandırmayla yürütülür. Bekleyen istekler ve sınıflandırılmamış istekler yeni yapılandırma değerlerini alır.

MIN_PERCENTAGE_RESOURCE ve CAP_PERCENTAGE_RESOURCE değiştirmek, değiştirilen iş yükü grubundaki çalışan isteklerin boşaltılmasını gerektirir. MIN_PERCENTAGE_RESOURCE azalırken, serbest kalan kaynaklar paylaşım havuzuna döndürülür ve diğer iş yükü gruplarından gelen isteklerin kullanılabilmesini sağlar. Buna karşılık, MIN_PERCENTAGE_RESOURCE artırıldığında, yalnızca paylaşılan havuzdan gerekli kaynakları kullanan isteklerin tamamlanması beklenecektir. ALTER WORKLOAD GROUP işlemi, paylaşılan havuzda yürütülmeyi bekleyen diğer isteklere göre paylaşılan kaynaklara öncelikli erişime sahip olur. MIN_PERCENTAGE_RESOURCE toplamı 100%aşıyorsa, ALTER WORKLOAD GROUP isteği hemen başarısız olur.

Kilitleme davranışı

bir iş yükü grubunu değiştirmek için tüm iş yükü gruplarında genel kilit gerekir. bir iş yükü grubunu değiştirme isteği, önceden gönderilmiş olan oluşturma veya bırakma iş yükü grubu isteklerinin arkasında kuyruğa alınıyor. Bir kerede bir grup alter deyimi gönderilirse, bunlar gönderildikleri sırayla işlenir.

Ayrıca bkz.