Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Ü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ı
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ı.
Ö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.
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ı
- 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
vedefault
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. 0
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. 0
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 tempdb
sı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 tempdb
GROUP_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 tempdb
sı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 USING
iç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ı, default
gibi 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
, Default
ve 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
MAXDOP
Belirli bir sorgu için geçerli MAXDOP
aşağıdaki gibi belirlenir:
- sorgu ipucu olarak
MAXDOP
, iş yükü grubuMAX_DOP
ayarını aşmadığı sürece kabul edilir. - Sorgu ipucu olarak
MAXDOP
her zamanmax degree of parallelism
sunucu yapılandırmasını geçersiz kılar. Daha fazla bilgi için bkz. Sunucu yapılandırması: en yüksek paralellik derecesi. - İş yükü grubu
MAX_DOP
max degree of parallelism
sunucu yapılandırmasını veMAXDOP
veritabanı kapsamlı yapılandırmageçersiz kılar.
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 MAXDOP
sı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];
İlgili içerik
- Öğreticisi: Kaynak yöneticisi yapılandırma örnekleri ve en iyi yöntemler
- resource governor
- resource governor iş yükü grubu
- İş yükü grubu oluşturma
- ALTER İŞ YÜKÜ GRUBUNU (Transact-SQL)
- DROP İŞ YÜKÜ GRUBU (Transact-SQL)
- CREATE RESOURCE POOL (Transact-SQL)
- ALTER KAYNAK HAVUZUNU (Transact-SQL)
- DROP RESOURCE POOL (Transact-SQL)
- ALTER RESOURCE GOVERNOR (Transact-SQL)
- sistem.kaynak_yöneticisi_iş_yükü_grupları
- sys.dm_kaynak_yöneticisi_iş_yükü_grupları
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ı
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ı.
Ö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.
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ı
- 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
vedefault
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. 0
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. 0
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 tempdb
sı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 tempdb
GROUP_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 tempdb
sı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 USING
iç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ı, default
gibi 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
, Default
ve 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
MAXDOP
Belirli bir sorgu için geçerli MAXDOP
aşağıdaki gibi belirlenir:
- sorgu ipucu olarak
MAXDOP
, iş yükü grubuMAX_DOP
ayarını aşmadığı sürece kabul edilir. - Sorgu ipucu olarak
MAXDOP
her zamanmax degree of parallelism
sunucu yapılandırmasını geçersiz kılar. Daha fazla bilgi için bkz. Sunucu yapılandırması: en yüksek paralellik derecesi. - İş yükü grubu
MAX_DOP
max degree of parallelism
sunucu yapılandırmasını veMAXDOP
veritabanı kapsamlı yapılandırmageçersiz kılar.
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 MAXDOP
sı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];
İlgili içerik
- Öğreticisi: Kaynak yöneticisi yapılandırma örnekleri ve en iyi yöntemler
- resource governor
- resource governor iş yükü grubu
- İş yükü grubu oluşturma
- ALTER İŞ YÜKÜ GRUBUNU (Transact-SQL)
- DROP İŞ YÜKÜ GRUBU (Transact-SQL)
- CREATE RESOURCE POOL (Transact-SQL)
- ALTER KAYNAK HAVUZUNU (Transact-SQL)
- DROP RESOURCE POOL (Transact-SQL)
- ALTER RESOURCE GOVERNOR (Transact-SQL)
- sistem.kaynak_yöneticisi_iş_yükü_grupları
- sys.dm_kaynak_yöneticisi_iş_yükü_grupları
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_percent
ile 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_percent
değ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% wgDashboards
ile 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.
- DROP İŞ YÜKÜ GRUBU (Transact-SQL)
- ALTER İŞ YÜKÜ GRUBUNU (Transact-SQL)
- sys.workload_management_workload_groups
- sys.dm_workload_management_workload_groups_stats
- Hızlı Başlangıç: T-SQL kullanarak iş yükü yalıtımını yapılandırma