Aracılığıyla paylaş


CREATE 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

Bir resource governor iş yükü grubu oluşturur ve iş yükü grubunu bir resource governor kaynak havuzuyla ilişkilendirir.

Resource Governor, SQL Server'ın her sürümünde kullanılamaz. SQL Server sürümleri tarafından desteklenen özelliklerin listesi için bkz. Sürümleri ve SQL Server 2022'nin desteklenen özellikleri.

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

CREATE WORKLOAD GROUP group_name
[ 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] ]
    [ [ , ] EXTERNAL external_pool_name | [ default ] ]
    } ]
[ ; ]

Bağımsız değişken

group_name

İş yükü grubunun kullanıcı tanımlı adı. group_name alfasayısaldır, en çok 128 karakter olabilir, Veritabanı Altyapısı örneğinde benzersiz olmalıdır veveritabanı tanımlayıcıları kurallarına uymalıdı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.

Not

CPU süresi kullanımı için algılama aralığı beş saniyedir. Sorgu belirtilen sınırı en az beş saniye aştığında bir olay oluşturulur. Ancak, bir sorgu belirtilen eşiği beş saniyeden az aşıyorsa, sorgunun zamanlamasına ve son algılama süpürme zamanına bağlı olarak algılaması kaçırılabilir.

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ğeri 0 veya pozitif bir sayı 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ğeri 0 ile 100 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 | [default] }

İş 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.

EXTERNAL external_pool_name | [ varsayılan ]

için geçerlidir: SQL Server 2016 (13.x) ve üzeri.

İş yükü grubu bir dış kaynak havuzu belirtebilir. bir iş yükü grubu tanımlayabilir ve bunu iki havuzla ilişkilendirebilirsiniz:

  • Veritabanı Altyapısı iş yükleri için bir kaynak havuzu.
  • Dış işlemler için bir dış kaynak havuzu. Daha fazla bilgi için bkz. sp_execute_external_script.

Açıklamalar

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.

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

newReports kaynak havuzunda default adlı bir iş yükü grubu oluşturur ve en fazla bellek atamasını, istek için en fazla CPU süresini ve MAXDOPsınırlar.

CREATE WORKLOAD GROUP newReports
WITH (
     REQUEST_MAX_MEMORY_GRANT_PERCENT = 2.5,
     REQUEST_MAX_CPU_TIME_SEC = 100,
     MAX_DOP = 4
     )
USING [default];

SQL Server

* SQL Yönetilen Örneği *  

Azure Synapse'i
Analiz

 

SQL Server ve SQL Yönetilen Örneği

Bir resource governor iş yükü grubu oluşturur ve iş yükü grubunu bir resource governor kaynak havuzuyla ilişkilendirir.

Resource Governor, SQL Server'ın her sürümünde kullanılamaz. SQL Server sürümleri tarafından desteklenen özelliklerin listesi için bkz. Sürümleri ve SQL Server 2022'nin desteklenen özellikleri.

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

CREATE WORKLOAD GROUP group_name
[ 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] ]
    [ [ , ] EXTERNAL external_pool_name | [ default ] ]
    } ]
[ ; ]

Bağımsız değişken

group_name

İş yükü grubunun kullanıcı tanımlı adı. group_name alfasayısaldır, en çok 128 karakter olabilir, Veritabanı Altyapısı örneğinde benzersiz olmalıdır veveritabanı tanımlayıcıları kurallarına uymalıdı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.

Not

CPU süresi kullanımı için algılama aralığı beş saniyedir. Sorgu belirtilen sınırı en az beş saniye aştığında bir olay oluşturulur. Ancak, bir sorgu belirtilen eşiği beş saniyeden az aşıyorsa, sorgunun zamanlamasına ve son algılama süpürme zamanına bağlı olarak algılaması kaçırılabilir.

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ğeri 0 veya pozitif bir sayı 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ğeri 0 ile 100 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 | [default] }

İş 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.

EXTERNAL external_pool_name | [ varsayılan ]

için geçerlidir: SQL Server 2016 (13.x) ve üzeri.

İş yükü grubu bir dış kaynak havuzu belirtebilir. bir iş yükü grubu tanımlayabilir ve bunu iki havuzla ilişkilendirebilirsiniz:

  • Veritabanı Altyapısı iş yükleri için bir kaynak havuzu.
  • Dış işlemler için bir dış kaynak havuzu. Daha fazla bilgi için bkz. sp_execute_external_script.

Açıklamalar

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.

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

newReports kaynak havuzunda default adlı bir iş yükü grubu oluşturur ve en fazla bellek atamasını, istek için en fazla CPU süresini ve MAXDOPsınırlar.

CREATE WORKLOAD GROUP newReports
WITH (
     REQUEST_MAX_MEMORY_GRANT_PERCENT = 2.5,
     REQUEST_MAX_CPU_TIME_SEC = 100,
     MAX_DOP = 4
     )
USING [default];

SQL Server

SQL Yönetilen Örneği

* Azure Synapse
Analiz *
 

 

Azure Synapse Analytics

bir iş yükü grubu oluşturur. İş yükü grupları, bir dizi isteğin kapsayıcılarıdır ve iş yükü yönetiminin bir sistemde nasıl yapılandırıldığının temelini oluşturur. İş yükü grupları, iş yükü yalıtımı için kaynak ayırma, kaynak içerme, istek başına kaynak tanımlama ve yürütme kurallarına uyma olanağı sağlar. Deyim tamamlandıktan sonra ayarlar etkinleşir.

Transact-SQL söz dizimi kuralları

CREATE 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 ] )
  [ ; ]

group_name
İş yükü grubunun tanımlandığı adı belirtir. group_name bir sysname'dir. En fazla 128 karakter uzunluğunda olabilir ve örnekte benzersiz olmalıdır.

MIN_PERCENTAGE_RESOURCE = değer
Bu iş yükü grubu için diğer iş yükü gruplarıyla paylaşılmayan garantili bir minimum kaynak ayırma belirtir. Bellek, bu parametre tarafından yönetilen tek kaynaktır. değer 0 ile 100 arasında bir tamsayı aralığıdır. Tüm iş yükü gruplarında min_percentage_resource toplamı 100'ü aşamaz. min_percentage_resource değeri cap_percentage_resource'den büyük olamaz. Hizmet düzeyi başına izin verilen en düşük etkin değerler vardır. Daha fazla bilgi için bkz. Geçerli Değerler.

CAP_PERCENTAGE_RESOURCE = değer
bir iş yükü grubundaki tüm istekler için en fazla kaynak kullanımını belirtir. Hem CPU hem de bellek kaynakları bu parametreyle eşlenir. Değer için izin verilen tamsayı aralığı 1 ile 100 arasındadır. cap_percentage_resource değeri min_percentage_resource büyük olmalıdır. min_percentage_resource diğer iş yükü gruplarında sıfırdan büyük yapılandırılırsa cap_percentage_resource için geçerli değer azaltılabilir.

REQUEST_MIN_RESOURCE_GRANT_PERCENT = değer
İstek başına ayrılan en düşük kaynak miktarını ayarlar. Bellek, bu parametre tarafından yönetilen tek kaynaktır. değer, ondalık aralığı 0,75 ile 100,00 arasında olan gerekli bir parametredir. request_min_resource_grant_percent değeri 0,25'in katı olmalı, min_percentage_resource faktörü olmalı ve cap_percentage_resource'den küçük olmalıdır. Hizmet düzeyi başına izin verilen en düşük etkin değerler vardır. Daha fazla bilgi için bkz. Geçerli Değerler.

Mesela:

CREATE WORKLOAD GROUP wgSample 
WITH
  ( MIN_PERCENTAGE_RESOURCE = 26                -- integer value
    , REQUEST_MIN_RESOURCE_GRANT_PERCENT = 3.25 -- factor of 26 (guaranteed a minimum of 8 concurrency)
    , CAP_PERCENTAGE_RESOURCE = 100 )

Kaynak sınıfları için kullanılan değerleri request_min_resource_grant_percent için bir kılavuz olarak düşünün. Aşağıdaki tabloda 2. Nesil için kaynak ayırmaları yer almaktadır.

Kaynak Sınıfı Kaynak Yüzdesi
Smallrc %3
Orta Düzey %10
Daha Büyük %22
Xlargerc %70

REQUEST_MAX_RESOURCE_GRANT_PERCENT = değer

İstek başına ayrılan en fazla kaynak miktarını ayarlar. Bellek, bu parametre tarafından yönetilen tek kaynaktır. değer, varsayılan değeri request_min_resource_grant_percent eşit olan isteğe bağlı bir ondalık parametredir. değer request_min_resource_grant_percent'den büyük veya buna eşit olmalıdır. request_max_resource_grant_percent değeri request_min_resource_grant_percent'den büyük olduğunda ve sistem kaynakları kullanılabilir olduğunda, isteğe ek kaynaklar ayrılır.

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

bir isteğin iş yükü grubu için varsayılan önemini belirtir. Önem derecesi aşağıdakilerden biridir ve NORMAL varsayılan değerdir:

  • ALÇAK
  • BELOW_NORMAL
  • NORMAL (varsayılan)
  • ABOVE_NORMAL
  • YÜKSEK

İş yükü grubunda ayarlanan önem, iş yükü grubundaki tüm istekler için varsayılan önemdir. Kullanıcı ayrıca sınıflandırıcı düzeyinde önem ayarlayabilir ve bu da iş yükü grubu önem ayarını geçersiz kılabilir. Bu, ayrılmış olmayan kaynaklara daha hızlı erişim elde etmek için bir iş yükü grubu içindeki istekler için önem derecesinin farklılaşmasını sağlar. İş yükü grupları arasında min_percentage_resource toplamı 100'den az olduğunda, önem temelinde atanmış ayrılmış olmayan kaynaklar vardır.

QUERY_EXECUTION_TIMEOUT_SEC = değer

Sorgunun iptal edilmeden önce yürütülebileceği en uzun süreyi saniye cinsinden belirtir. değer 0 veya pozitif bir tamsayı olmalıdır. Değerin varsayılan ayarı 0'dır ve sorgu asla zaman aşımına olmaz. QUERY_EXECUTION_TIMEOUT_SEC sorgu kuyruğa alınırken değil çalışır durumda olduğunda sayar.

Açıklamalar

Geriye dönük uyumluluk için kaynak sınıflarına karşılık gelen iş yükü grupları otomatik olarak oluşturulur. Bu sistem tanımlı iş yükü grupları bırakılamaz. Ek 8 kullanıcı tanımlı iş yükü grubu oluşturulabilir.

min_percentage_resource sıfırdan büyük bir iş yükü grubu oluşturulursa, iş yükü grubunu oluşturmak için yeterli kaynak olana kadar CREATE WORKLOAD GROUP deyimi kuyruğa alır.

Geçerli Değerler

min_percentage_resource, cap_percentage_resource, request_min_resource_grant_percent ve request_max_resource_grant_percent parametreleri geçerli hizmet düzeyi ve diğer iş yükü gruplarının yapılandırması bağlamında ayarlanmış etkin değerlere sahiptir.

hizmet düzeyine bağlı olarak sorgu başına gereken en düşük kaynaklar olduğundan request_min_resource_grant_percent parametresinin etkin bir değeri vardır. Örneğin, en düşük hizmet düzeyi olan DW100c'de istek başına en az 25% kaynağı gerekir. İş yükü grubu 3% request_min_resource_grant_percent ve request_max_resource_grant_percentile yapılandırıldıysa, örnek başlatıldığında her iki parametre için de geçerli değerler 25% ayarlanır. Örnek DW1000c'ye kadar ölçeklendirilirse, her iki parametre için de yapılandırılan ve geçerli değerler 3% olur çünkü 3% bu hizmet düzeyinde desteklenen en düşük değerdir. Örnek DW1000c'den daha yüksek ölçeklendirilirse, her iki parametre için de yapılandırılan ve geçerli değerler 3%kalır. Farklı hizmet düzeylerindeki etkin değerler hakkında daha fazla bilgi için aşağıdaki tabloya bakın.

Hizmet Düzeyi REQUEST_MIN_RESOURCE_GRANT_PERCENT için en düşük etkin değer En fazla eşzamanlı sorgu sayısı
DW100c 25% 4
DW200c 12,5% 8
DW300c %8 12
DW400c 6,25% 16
DW500c %5 20
DW1000c %3 32
DW1500c %3 32
DW2000c %2 48
DW2500c %2 48
DW3000c 1,5% 64
DW5000c 1,5% 64
DW6000c 0,75% 128
DW7500c 0,75% 128
DW10000c 0,75% 128
DW15000c 0,75% 128
DW30000c 0,75% 128

min_percentage_resource parametresi, geçerli request_min_resource_grant_percentdeğerinden büyük veya buna eşit olmalıdır. min_percentage_resource daha az etkili min_percentage_resource yapılandırılmış bir iş yükü grubu, çalışma zamanında değeri sıfıra ayarlanmıştır. Bu durumda, min_percentage_resource için yapılandırılan kaynaklar tüm iş yükü grupları arasında paylaşılabilir. Örneğin, DW1000c'de çalışan 10% wgAdHoc olan iş yükü grubu min_percentage_resource 10% etkili bir min_percentage_resource (3% DW1000c'de desteklenen en düşük değerdir). DW100c'deki wgAdhoc 0%etkili bir min_percentage_resource olacaktır. wgAdhoc için yapılandırılan 10% tüm iş yükü gruplarında paylaşılır.

cap_percentage_resource parametresi de etkin bir değere sahiptir. bir iş yükü grubu wgAdhoc 100% cap_percentage_resource yapılandırılırsa ve 25% wgDashboardsile başka bir iş yükü grubu min_percentage_resource oluşturulursa, cap_percentage_resource için geçerli wgAdhoc 75%olur.

İş yükü gruplarınız için çalışma zamanı değerlerini anlamanın en kolay yolu, sys.dm_workload_management_workload_groups_statssistem görünümünü sorgulamaktır.

İzinler

CONTROL DATABASE izni gerektirir

Ayrıca bkz.