Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Pilih produk
Di baris berikut, pilih nama produk yang Anda minati, dan hanya informasi produk yang ditampilkan.
* SQL Server *
Azure Synapse
Analitik
SQL Server dan SQL Managed Instance
Mengubah konfigurasi grup beban kerja gubernur sumber daya yang ada, dan secara opsional menetapkannya ke kumpulan sumber daya gubernur sumber daya yang berbeda.
Nota
Untuk mengubah konfigurasi gubernur sumber daya di Azure SQL Managed Instance, Anda harus berada dalam konteks master database pada replika utama.
Transact-SQL konvensi sintaksis.
Sintaksis
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] } ]
[ ; ]
Argumen
group_name | [bawaan]
Nama grup beban kerja yang ditentukan pengguna atau grup beban kerja default bawaan gubernur sumber daya.
default harus dalam tanda kurung siku ([]) atau tanda kutip ("") ketika digunakan dengan ALTER WORKLOAD GROUP untuk menghindari konflik dengan DEFAULT, yang merupakan kata khusus sistem. Untuk informasi selengkapnya, lihat pengidentifikasi database .
Kumpulan sumber daya bawaan dan grup beban kerja menggunakan semua nama huruf kecil, seperti default. Gunakan default huruf kecil pada server yang menggunakan kolatasi peka huruf besar/kecil. Server dengan kolase tidak sensitif huruf besar/kecil memperlakukan default, Default, dan DEFAULT sebagai nilai yang sama.
KEPENTINGAN = { RENDAH | SEDANG | TINGGI }
Menentukan kepentingan relatif permintaan dalam grup beban kerja. Nilai defaultnya adalah MEDIUM.
IMPORTANCE bersifat lokal untuk kumpulan sumber daya yang berisi grup beban kerja. Grup beban kerja dengan kepentingan yang berbeda di dalam kumpulan sumber daya yang sama saling memengaruhi, tetapi tidak memengaruhi grup beban kerja di kumpulan sumber daya lain.
REQUEST_MAX_MEMORY_GRANT_PERCENT = nilai
Menentukan jumlah maksimum memori ruang kerja kueri yang dapat diambil satu permintaan dari kumpulan.
nilai adalah persentase ukuran kumpulan sumber daya yang ditentukan oleh MAX_MEMORY_PERCENT. Nilai defaultnya adalah 25.
Di SQL Server 2017 (14.x) dan yang lebih lama, nilai adalah bilangan bulat dan rentang yang diizinkan adalah dari 1 hingga 100.
Dimulai dengan SQL Server 2019 (15.x), nilainya bisa pecahan menggunakan jenis data float. Rentang yang diizinkan adalah dari 0 hingga 100.
Penting
Jumlah yang ditentukan hanya mengacu pada memori ruang kerja kueri yang diperoleh melalui pemberian memori kueri.
Tidak disarankan untuk mengatur nilai terlalu besar (misalnya, lebih besar dari 70) karena server mungkin tidak dapat menyisihkan memori bebas yang cukup untuk kueri bersamaan lainnya. Ini dapat menyebabkan waktu pemberian memori habis kesalahan 8645.
Mengatur nilai ke 0 atau nilai kecil mungkin mencegah kueri dengan operator yang memerlukan memori ruang kerja, seperti sort dan hash, agar tidak berjalan dalam grup beban kerja yang ditentukan pengguna. Jika persyaratan memori kueri melebihi batas yang ditentukan oleh parameter ini, perilaku berikut terjadi:
- Untuk grup beban kerja yang ditentukan pengguna, server mencoba mengurangi tingkat paralelisme (DOP) permintaan (kueri) hingga persyaratan memori berada di bawah batas, atau sampai DOP sama dengan 1. Jika persyaratan memori kueri masih lebih besar dari batas, kesalahan 8657 terjadi dan kueri gagal.
- Untuk grup beban kerja
internaldandefault, server mengizinkan kueri untuk mendapatkan memori yang diperlukan.
Dalam kedua kasus, kesalahan 8645 mungkin terjadi jika server memiliki memori fisik yang tidak mencukup.
REQUEST_MAX_CPU_TIME_SEC = nilai
Menentukan jumlah maksimum waktu CPU, dalam detik, yang dapat digunakan permintaan batch. nilai harus 0 atau bilangan bulat positif. Pengaturan default untuk nilai adalah 0, yang berarti tidak terbatas.
Ketika waktu CPU maksimum terlampaui, peristiwa cpu_threshold_exceeded diperluas dan peristiwa pelacakan dihasilkan. Untuk informasi selengkapnya, lihat Ambang batas CPU melebihi kelas peristiwa.
Di Azure SQL Managed Instance, ketika waktu CPU maksimum terlampaui, gubernur sumber daya membatalkan permintaan dengan kesalahan 10961.
Di SQL Server, gubernur sumber daya tidak membatalkan permintaan secara default. Namun, dimulai dengan SQL Server 2016 (13.x) SP2 dan SQL Server 2017 (14.x) CU3, gubernur sumber daya membatalkan permintaan dengan kesalahan 10961 ketika bendera pelacakan 2422 diaktifkan dan waktu CPU maksimum terlampaui.
REQUEST_MEMORY_GRANT_TIMEOUT_SEC = nilai
Menentukan waktu maksimum, dalam detik, bahwa kueri dapat menunggu peruntukan memori dari memori ruang kerja kueri tersedia. nilai harus 0 atau bilangan bulat positif. Pengaturan default untuk nilai , 0, menggunakan perhitungan internal berdasarkan biaya kueri untuk menentukan waktu maksimum.
Kueri tidak selalu gagal saat waktu pemberian memori habis tercapai. Kueri hanya gagal jika ada terlalu banyak kueri bersamaan yang berjalan. Jika tidak, kueri mungkin hanya mendapatkan peruntukan memori minimum, yang mengakibatkan berkurangnya performa kueri.
MAX_DOP = nilai
Menentukan tingkat paralelisme maksimum (MAXDOP) untuk eksekusi kueri paralel. Rentang yang diizinkan untuk nilai adalah dari 0 hingga 64. Pengaturan default untuk nilai , 0, menggunakan pengaturan global.
Untuk informasi selengkapnya, lihat MAXDOP.
GROUP_MAX_REQUESTS = nilai
Menentukan jumlah maksimum permintaan simultan yang diizinkan untuk dijalankan dalam grup beban kerja. nilai harus 0 atau bilangan bulat positif. Pengaturan default untuk nilai adalah 0, dan memungkinkan permintaan tak terbatas. Ketika permintaan bersamaan maksimum tercapai, sesi dalam grup tersebut dapat dibuat, tetapi ditempatkan dalam status tunggu hingga jumlah permintaan bersamaan turun di bawah nilai yang ditentukan.
GROUP_MAX_TEMPDB_DATA_MB = nilai
Menentukan jumlah maksimum ruang yang dapat dikonsumsi grup beban kerja dalam tempdb file data, dalam megabyte.
nilai harus 0, bilangan positif, atau NULL. Nilai pecahan diperbolehkan.
Ketika nilainya adalah 0, tempdb alokasi ruang menurut sesi dalam grup beban kerja tidak diizinkan. Saat nilai tidak ditetapkan, gubernur sumber daya tidak membatasi tempdb konsumsi ruang oleh grup beban kerja.
Batasnya adalah untuk total ruang yang digunakan tempdb oleh semua sesi dalam grup beban kerja.
Ketika permintaan yang berjalan dalam grup beban kerja mencoba meningkatkan tempdb konsumsi ruang data oleh grup beban kerja di atas batas yang ditetapkan oleh GROUP_MAX_TEMPDB_DATA_MB, gubernur sumber daya membatalkan permintaan dengan kesalahan 1138. Untuk informasi selengkapnya, lihat Tata kelola sumber daya ruang Tempdb.
GROUP_MAX_TEMPDB_DATA_PERCENT = nilai
Menentukan jumlah maksimum ruang yang dapat dikonsumsi grup beban kerja dalam tempdb file data, dalam persentase ukuran maksimum tempdb . Untuk definisi ukuran maksimum tempdb , lihat Konfigurasi batas persen.
harus berada dalam kisaran dari 0 hingga 100, atau NULL. Nilai pecahan diperbolehkan.
Ketika nilainya adalah 0, tempdb alokasi ruang menurut sesi dalam grup beban kerja tidak diizinkan. Saat nilai tidak ditetapkan, gubernur sumber daya tidak membatasi tempdb konsumsi ruang oleh grup beban kerja. Ketika GROUP_MAX_TEMPDB_DATA_MB diatur, atau ketika tempdb ukuran maksimum tidak ditentukan, GROUP_MAX_TEMPDB_DATA_PERCENT tidak berpengaruh.
Batasnya adalah untuk total ruang yang digunakan tempdb oleh semua sesi dalam grup beban kerja.
Ketika permintaan yang berjalan dalam grup beban kerja mencoba meningkatkan tempdb konsumsi ruang data oleh grup beban kerja di atas batas yang ditetapkan oleh GROUP_MAX_TEMPDB_DATA_PERCENT, gubernur sumber daya membatalkan permintaan dengan kesalahan 1138. Untuk informasi selengkapnya, lihat Tata kelola sumber daya ruang Tempdb.
MENGGUNAKAN { pool_name | [ default ] }
Mengaitkan grup beban kerja dengan kumpulan sumber daya yang ditentukan pengguna yang diidentifikasi oleh pool_name, atau dengan kumpulan sumber daya default. Jika pool_name tidak disediakan, atau jika argumen USING tidak ditentukan, grup beban kerja dikaitkan dengan kumpulan default bawaan.
default adalah kata yang dipesan dan ketika ditentukan dalam USING, harus diapit dalam tanda kurung ([]) atau tanda kutip ("").
Kumpulan sumber daya bawaan dan grup beban kerja menggunakan semua nama huruf kecil, seperti default. Gunakan default huruf kecil pada server yang menggunakan kolatasi peka huruf besar/kecil. Server dengan kolase tidak sensitif huruf besar/kecil memperlakukan default, Default, dan DEFAULT sebagai nilai yang sama.
Komentar
ALTER WORKLOAD GROUP diizinkan pada grup beban kerja default, tetapi tidak pada grup internal.
Perubahan pada konfigurasi grup beban kerja tidak berlaku sampai setelah ALTER RESOURCE GOVERNOR RECONFIGURE dijalankan.
Untuk informasi selengkapnya, lihat gubernur sumber daya
MAXDOP
Untuk kueri tertentu, MAXDOP efektif ditentukan sebagai berikut:
-
MAXDOPsebagai petunjuk kueri dihormati selama tidak melebihi pengaturanMAX_DOPgrup beban kerja. -
MAXDOPsebagai petunjuk kueri selalu mengambil alih konfigurasi servermax degree of parallelism. Untuk informasi selengkapnya, lihat konfigurasi server : tingkat paralelisme maksimum. - Grup beban kerja
MAX_DOPmengambil alih konfigurasi servermax degree of parallelismdan konfigurasi terlingkup databaseMAXDOP.
Batas MAXDOP diatur per tugas . Ini bukan permintaan per
Saat kueri ditandai sebagai serial pada waktu kompilasi (MAXDOP = 1), kueri tidak dapat dijalankan dengan paralelisme pada waktu proses terlepas dari grup beban kerja atau pengaturan konfigurasi server. Setelah MAXDOP ditentukan untuk kueri, kueri hanya dapat diturunkan karena tekanan memori. Konfigurasi ulang grup beban kerja tidak memengaruhi kueri yang menunggu dalam antrean peruntukan memori.
Paket yang di-cache
Saat Anda mengubah rencana yang memengaruhi pengaturan seperti MAX_DOP, pengaturan baru berlaku dalam rencana yang di-cache sebelumnya hanya setelah menjalankan DBCC FREEPROCCACHE (<pool_name>), di mana <pool_name> adalah nama kumpulan sumber daya gubernur sumber daya yang digunakan oleh grup beban kerja saat ini.
- Jika mengubah
MAX_DOPke 1, menjalankanDBCC FREEPROCCACHEtidak diperlukan karena paket paralel dapat berjalan dalam mode serial. Namun, rencana seperti itu mungkin kurang efisien daripada rencana yang dikompilasi sebagai rencana serial. - Jika mengubah
MAX_DOPdari 1 ke 0 atau nilai yang lebih besar dari 1, menjalankanDBCC FREEPROCCACHEtidak diperlukan. Namun, rencana serial tidak dapat berjalan secara paralel, jadi menghapus cache masing-masing memungkinkan rencana baru berpotensi dikompilasi menggunakan paralelisme.
Peringatan
Menghapus paket cache dari kumpulan sumber daya yang terkait dengan lebih dari satu grup beban kerja memengaruhi semua grup beban kerja menggunakan kumpulan sumber daya yang ditentukan pengguna yang diidentifikasi oleh <pool_name>.
Pembuatan indeks
Untuk alasan performa, pembuatan indeks diizinkan untuk menggunakan lebih banyak ruang kerja memori daripada yang awalnya diberikan. Gubernur sumber daya mendukung penanganan khusus ini. Namun, pemberian awal dan pemberian memori tambahan dibatasi oleh grup beban kerja dan pengaturan kumpulan sumber daya.
Memori yang digunakan untuk membuat indeks nonaligned pada tabel yang dipartisi sebanding dengan jumlah partisi yang terlibat. Jika total memori yang diperlukan melebihi batas per kueri yang diberlakukan oleh pengaturan grup beban kerja REQUEST_MAX_MEMORY_GRANT_PERCENT, pembuatan indeks mungkin gagal. Karena grup beban kerja default memungkinkan kueri melebihi batas per kueri dengan memori minimum yang diperlukan untuk memulai kompatibilitas mundur, Anda mungkin dapat membuat indeks yang sama menggunakan grup beban kerja default jika kumpulan sumber daya default memiliki memori total yang cukup.
Izin
Memerlukan izin CONTROL SERVER.
Contoh
Contoh berikut menunjukkan cara mengubah pentingnya permintaan dalam grup default dari MEDIUM ke LOW.
ALTER WORKLOAD GROUP [default]
WITH (IMPORTANCE = LOW);
ALTER RESOURCE GOVERNOR RECONFIGURE;
Contoh berikut menunjukkan cara memindahkan grup beban kerja dari kumpulan yang saat ini masuk ke kumpulan default.
ALTER WORKLOAD GROUP adHoc
USING [default];
ALTER RESOURCE GOVERNOR RECONFIGURE;
Konten terkait
- Gubernur sumber daya
- grup beban kerja gubernur sumber daya
- Membuat grup beban kerja
- Memindahkan grup beban kerja
- MEMBUAT GRUP BEBAN KERJA (Transact-SQL)
- DROP WORKLOAD GROUP (Transact-SQL)
- BUAT KUMPULAN SUMBER DAYA (Transact-SQL)
- UBAH KUMPULAN SUMBER DAYA (Transact-SQL)
- DROP RESOURCE POOL (Transact-SQL)
- UBAH PENGELOLA SUMBER DAYA (Transact-SQL)
- grup beban kerja sys.resource governor
- sys.dm_resource_governor_workload_groups
* Instans Terkelola SQL *
Azure Synapse
Analitik
SQL Server dan SQL Managed Instance
Mengubah konfigurasi grup beban kerja gubernur sumber daya yang ada, dan secara opsional menetapkannya ke kumpulan sumber daya gubernur sumber daya yang berbeda.
Nota
Untuk mengubah konfigurasi gubernur sumber daya di Azure SQL Managed Instance, Anda harus berada dalam konteks master database pada replika utama.
Transact-SQL konvensi sintaksis.
Sintaksis
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] } ]
[ ; ]
Argumen
group_name | [bawaan]
Nama grup beban kerja yang ditentukan pengguna atau grup beban kerja default bawaan gubernur sumber daya.
default harus dalam tanda kurung siku ([]) atau tanda kutip ("") ketika digunakan dengan ALTER WORKLOAD GROUP untuk menghindari konflik dengan DEFAULT, yang merupakan kata khusus sistem. Untuk informasi selengkapnya, lihat pengidentifikasi database .
Kumpulan sumber daya bawaan dan grup beban kerja menggunakan semua nama huruf kecil, seperti default. Gunakan default huruf kecil pada server yang menggunakan kolatasi peka huruf besar/kecil. Server dengan kolase tidak sensitif huruf besar/kecil memperlakukan default, Default, dan DEFAULT sebagai nilai yang sama.
KEPENTINGAN = { RENDAH | SEDANG | TINGGI }
Menentukan kepentingan relatif permintaan dalam grup beban kerja. Nilai defaultnya adalah MEDIUM.
IMPORTANCE bersifat lokal untuk kumpulan sumber daya yang berisi grup beban kerja. Grup beban kerja dengan kepentingan yang berbeda di dalam kumpulan sumber daya yang sama saling memengaruhi, tetapi tidak memengaruhi grup beban kerja di kumpulan sumber daya lain.
REQUEST_MAX_MEMORY_GRANT_PERCENT = nilai
Menentukan jumlah maksimum memori ruang kerja kueri yang dapat diambil satu permintaan dari kumpulan.
nilai adalah persentase ukuran kumpulan sumber daya yang ditentukan oleh MAX_MEMORY_PERCENT. Nilai defaultnya adalah 25.
Di SQL Server 2017 (14.x) dan yang lebih lama, nilai adalah bilangan bulat dan rentang yang diizinkan adalah dari 1 hingga 100.
Dimulai dengan SQL Server 2019 (15.x), nilainya bisa pecahan menggunakan jenis data float. Rentang yang diizinkan adalah dari 0 hingga 100.
Penting
Jumlah yang ditentukan hanya mengacu pada memori ruang kerja kueri yang diperoleh melalui pemberian memori kueri.
Tidak disarankan untuk mengatur nilai terlalu besar (misalnya, lebih besar dari 70) karena server mungkin tidak dapat menyisihkan memori bebas yang cukup untuk kueri bersamaan lainnya. Ini dapat menyebabkan waktu pemberian memori habis kesalahan 8645.
Mengatur nilai ke 0 atau nilai kecil mungkin mencegah kueri dengan operator yang memerlukan memori ruang kerja, seperti sort dan hash, agar tidak berjalan dalam grup beban kerja yang ditentukan pengguna. Jika persyaratan memori kueri melebihi batas yang ditentukan oleh parameter ini, perilaku berikut terjadi:
- Untuk grup beban kerja yang ditentukan pengguna, server mencoba mengurangi tingkat paralelisme (DOP) permintaan (kueri) hingga persyaratan memori berada di bawah batas, atau sampai DOP sama dengan 1. Jika persyaratan memori kueri masih lebih besar dari batas, kesalahan 8657 terjadi dan kueri gagal.
- Untuk grup beban kerja
internaldandefault, server mengizinkan kueri untuk mendapatkan memori yang diperlukan.
Dalam kedua kasus, kesalahan 8645 mungkin terjadi jika server memiliki memori fisik yang tidak mencukup.
REQUEST_MAX_CPU_TIME_SEC = nilai
Menentukan jumlah maksimum waktu CPU, dalam detik, yang dapat digunakan permintaan batch. nilai harus 0 atau bilangan bulat positif. Pengaturan default untuk nilai adalah 0, yang berarti tidak terbatas.
Ketika waktu CPU maksimum terlampaui, peristiwa cpu_threshold_exceeded diperluas dan peristiwa pelacakan dihasilkan. Untuk informasi selengkapnya, lihat Ambang batas CPU melebihi kelas peristiwa.
Di Azure SQL Managed Instance, ketika waktu CPU maksimum terlampaui, gubernur sumber daya membatalkan permintaan dengan kesalahan 10961.
Di SQL Server, gubernur sumber daya tidak membatalkan permintaan secara default. Namun, dimulai dengan SQL Server 2016 (13.x) SP2 dan SQL Server 2017 (14.x) CU3, gubernur sumber daya membatalkan permintaan dengan kesalahan 10961 ketika bendera pelacakan 2422 diaktifkan dan waktu CPU maksimum terlampaui.
REQUEST_MEMORY_GRANT_TIMEOUT_SEC = nilai
Menentukan waktu maksimum, dalam detik, bahwa kueri dapat menunggu peruntukan memori dari memori ruang kerja kueri tersedia. nilai harus 0 atau bilangan bulat positif. Pengaturan default untuk nilai , 0, menggunakan perhitungan internal berdasarkan biaya kueri untuk menentukan waktu maksimum.
Kueri tidak selalu gagal saat waktu pemberian memori habis tercapai. Kueri hanya gagal jika ada terlalu banyak kueri bersamaan yang berjalan. Jika tidak, kueri mungkin hanya mendapatkan peruntukan memori minimum, yang mengakibatkan berkurangnya performa kueri.
MAX_DOP = nilai
Menentukan tingkat paralelisme maksimum (MAXDOP) untuk eksekusi kueri paralel. Rentang yang diizinkan untuk nilai adalah dari 0 hingga 64. Pengaturan default untuk nilai , 0, menggunakan pengaturan global.
Untuk informasi selengkapnya, lihat MAXDOP.
GROUP_MAX_REQUESTS = nilai
Menentukan jumlah maksimum permintaan simultan yang diizinkan untuk dijalankan dalam grup beban kerja. nilai harus 0 atau bilangan bulat positif. Pengaturan default untuk nilai adalah 0, dan memungkinkan permintaan tak terbatas. Ketika permintaan bersamaan maksimum tercapai, sesi dalam grup tersebut dapat dibuat, tetapi ditempatkan dalam status tunggu hingga jumlah permintaan bersamaan turun di bawah nilai yang ditentukan.
GROUP_MAX_TEMPDB_DATA_MB = nilai
Menentukan jumlah maksimum ruang yang dapat dikonsumsi grup beban kerja dalam tempdb file data, dalam megabyte.
nilai harus 0, bilangan positif, atau NULL. Nilai pecahan diperbolehkan.
Ketika nilainya adalah 0, tempdb alokasi ruang menurut sesi dalam grup beban kerja tidak diizinkan. Saat nilai tidak ditetapkan, gubernur sumber daya tidak membatasi tempdb konsumsi ruang oleh grup beban kerja.
Batasnya adalah untuk total ruang yang digunakan tempdb oleh semua sesi dalam grup beban kerja.
Ketika permintaan yang berjalan dalam grup beban kerja mencoba meningkatkan tempdb konsumsi ruang data oleh grup beban kerja di atas batas yang ditetapkan oleh GROUP_MAX_TEMPDB_DATA_MB, gubernur sumber daya membatalkan permintaan dengan kesalahan 1138. Untuk informasi selengkapnya, lihat Tata kelola sumber daya ruang Tempdb.
GROUP_MAX_TEMPDB_DATA_PERCENT = nilai
Menentukan jumlah maksimum ruang yang dapat dikonsumsi grup beban kerja dalam tempdb file data, dalam persentase ukuran maksimum tempdb . Untuk definisi ukuran maksimum tempdb , lihat Konfigurasi batas persen.
harus berada dalam kisaran dari 0 hingga 100, atau NULL. Nilai pecahan diperbolehkan.
Ketika nilainya adalah 0, tempdb alokasi ruang menurut sesi dalam grup beban kerja tidak diizinkan. Saat nilai tidak ditetapkan, gubernur sumber daya tidak membatasi tempdb konsumsi ruang oleh grup beban kerja. Ketika GROUP_MAX_TEMPDB_DATA_MB diatur, atau ketika tempdb ukuran maksimum tidak ditentukan, GROUP_MAX_TEMPDB_DATA_PERCENT tidak berpengaruh.
Batasnya adalah untuk total ruang yang digunakan tempdb oleh semua sesi dalam grup beban kerja.
Ketika permintaan yang berjalan dalam grup beban kerja mencoba meningkatkan tempdb konsumsi ruang data oleh grup beban kerja di atas batas yang ditetapkan oleh GROUP_MAX_TEMPDB_DATA_PERCENT, gubernur sumber daya membatalkan permintaan dengan kesalahan 1138. Untuk informasi selengkapnya, lihat Tata kelola sumber daya ruang Tempdb.
MENGGUNAKAN { pool_name | [ default ] }
Mengaitkan grup beban kerja dengan kumpulan sumber daya yang ditentukan pengguna yang diidentifikasi oleh pool_name, atau dengan kumpulan sumber daya default. Jika pool_name tidak disediakan, atau jika argumen USING tidak ditentukan, grup beban kerja dikaitkan dengan kumpulan default bawaan.
default adalah kata yang dipesan dan ketika ditentukan dalam USING, harus diapit dalam tanda kurung ([]) atau tanda kutip ("").
Kumpulan sumber daya bawaan dan grup beban kerja menggunakan semua nama huruf kecil, seperti default. Gunakan default huruf kecil pada server yang menggunakan kolatasi peka huruf besar/kecil. Server dengan kolase tidak sensitif huruf besar/kecil memperlakukan default, Default, dan DEFAULT sebagai nilai yang sama.
Komentar
ALTER WORKLOAD GROUP diizinkan pada grup beban kerja default, tetapi tidak pada grup internal.
Perubahan pada konfigurasi grup beban kerja tidak berlaku sampai setelah ALTER RESOURCE GOVERNOR RECONFIGURE dijalankan.
Untuk informasi selengkapnya, lihat gubernur sumber daya
MAXDOP
Untuk kueri tertentu, MAXDOP efektif ditentukan sebagai berikut:
-
MAXDOPsebagai petunjuk kueri dihormati selama tidak melebihi pengaturanMAX_DOPgrup beban kerja. -
MAXDOPsebagai petunjuk kueri selalu mengambil alih konfigurasi servermax degree of parallelism. Untuk informasi selengkapnya, lihat konfigurasi server : tingkat paralelisme maksimum. - Grup beban kerja
MAX_DOPmengambil alih konfigurasi servermax degree of parallelismdan konfigurasi terlingkup databaseMAXDOP.
Batas MAXDOP diatur per tugas . Ini bukan permintaan per
Saat kueri ditandai sebagai serial pada waktu kompilasi (MAXDOP = 1), kueri tidak dapat dijalankan dengan paralelisme pada waktu proses terlepas dari grup beban kerja atau pengaturan konfigurasi server. Setelah MAXDOP ditentukan untuk kueri, kueri hanya dapat diturunkan karena tekanan memori. Konfigurasi ulang grup beban kerja tidak memengaruhi kueri yang menunggu dalam antrean peruntukan memori.
Paket yang di-cache
Saat Anda mengubah rencana yang memengaruhi pengaturan seperti MAX_DOP, pengaturan baru berlaku dalam rencana yang di-cache sebelumnya hanya setelah menjalankan DBCC FREEPROCCACHE (<pool_name>), di mana <pool_name> adalah nama kumpulan sumber daya gubernur sumber daya yang digunakan oleh grup beban kerja saat ini.
- Jika mengubah
MAX_DOPke 1, menjalankanDBCC FREEPROCCACHEtidak diperlukan karena paket paralel dapat berjalan dalam mode serial. Namun, rencana seperti itu mungkin kurang efisien daripada rencana yang dikompilasi sebagai rencana serial. - Jika mengubah
MAX_DOPdari 1 ke 0 atau nilai yang lebih besar dari 1, menjalankanDBCC FREEPROCCACHEtidak diperlukan. Namun, rencana serial tidak dapat berjalan secara paralel, jadi menghapus cache masing-masing memungkinkan rencana baru berpotensi dikompilasi menggunakan paralelisme.
Peringatan
Menghapus paket cache dari kumpulan sumber daya yang terkait dengan lebih dari satu grup beban kerja memengaruhi semua grup beban kerja menggunakan kumpulan sumber daya yang ditentukan pengguna yang diidentifikasi oleh <pool_name>.
Pembuatan indeks
Untuk alasan performa, pembuatan indeks diizinkan untuk menggunakan lebih banyak ruang kerja memori daripada yang awalnya diberikan. Gubernur sumber daya mendukung penanganan khusus ini. Namun, pemberian awal dan pemberian memori tambahan dibatasi oleh grup beban kerja dan pengaturan kumpulan sumber daya.
Memori yang digunakan untuk membuat indeks nonaligned pada tabel yang dipartisi sebanding dengan jumlah partisi yang terlibat. Jika total memori yang diperlukan melebihi batas per kueri yang diberlakukan oleh pengaturan grup beban kerja REQUEST_MAX_MEMORY_GRANT_PERCENT, pembuatan indeks mungkin gagal. Karena grup beban kerja default memungkinkan kueri melebihi batas per kueri dengan memori minimum yang diperlukan untuk memulai kompatibilitas mundur, Anda mungkin dapat membuat indeks yang sama menggunakan grup beban kerja default jika kumpulan sumber daya default memiliki memori total yang cukup.
Izin
Memerlukan izin CONTROL SERVER.
Contoh
Contoh berikut menunjukkan cara mengubah pentingnya permintaan dalam grup default dari MEDIUM ke LOW.
ALTER WORKLOAD GROUP [default]
WITH (IMPORTANCE = LOW);
ALTER RESOURCE GOVERNOR RECONFIGURE;
Contoh berikut menunjukkan cara memindahkan grup beban kerja dari kumpulan yang saat ini masuk ke kumpulan default.
ALTER WORKLOAD GROUP adHoc
USING [default];
ALTER RESOURCE GOVERNOR RECONFIGURE;
Konten terkait
- Gubernur sumber daya
- grup beban kerja gubernur sumber daya
- Membuat grup beban kerja
- Memindahkan grup beban kerja
- MEMBUAT GRUP BEBAN KERJA (Transact-SQL)
- DROP WORKLOAD GROUP (Transact-SQL)
- BUAT KUMPULAN SUMBER DAYA (Transact-SQL)
- UBAH KUMPULAN SUMBER DAYA (Transact-SQL)
- DROP RESOURCE POOL (Transact-SQL)
- UBAH PENGELOLA SUMBER DAYA (Transact-SQL)
- grup beban kerja sys.resource governor
- sys.dm_resource_governor_workload_groups
* Azure Synapse
Analitik *
Azure Synapse Analytics
Mengubah grup beban kerja yang ada.
Lihat bagian perilaku ALTER WORKLOAD GROUP di bawah ini untuk detail lebih lanjut tentang bagaimana ALTER WORKLOAD GROUP berperilaku pada sistem dengan permintaan yang berjalan dan diantrekan.
Pembatasan yang berlaku untuk
Sintaksis
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 ] )
[ ; ]
Argumen
group_name
Adalah nama grup beban kerja yang ditentukan pengguna yang sudah ada yang diubah. group_name tidak dapat diubah.
MIN_PERCENTAGE_RESOURCE = nilai
nilai
CAP_PERCENTAGE_RESOURCE = nilai
nilai adalah rentang bilangan bulat dari 1 hingga 100. Nilai untuk CAP_PERCENTAGE_RESOURCE harus lebih besar dari MIN_PERCENTAGE_RESOURCE. Mengubah CAP_PERCENTAGE_RESOURCE mengharuskan semua kueri yang berjalan selesai dalam grup beban kerja sebelum perintah selesai. Untuk informasi selengkapnya, lihat bagian perilaku
REQUEST_MIN_RESOURCE_GRANT_PERCENT = nilai
nilai adalah desimal dengan rentang antara 0,75 hingga 100,00. Nilai untuk REQUEST_MIN_RESOURCE_GRANT_PERCENT harus menjadi faktor MIN_PERCENTAGE_RESOURCE dan kurang dari CAP_PERCENTAGE_RESOURCE.
REQUEST_MAX_RESOURCE_GRANT_PERCENT = nilai
nilai adalah desimal dan harus lebih besar dari REQUEST_MIN_RESOURCE_GRANT_PERCENT.
KEPENTINGAN = { RENDAH | BELOW_NORMAL | NORMAL | ABOVE_NORMAL | TINGGI }
Mengubah kepentingan default permintaan untuk grup beban kerja.
QUERY_EXECUTION_TIMEOUT_SEC = nilai
Mengubah waktu maksimum, dalam detik, yang dapat dijalankan kueri sebelum dibatalkan. Nilai harus 0 atau bilangan bulat positif. Pengaturan default untuk nilai adalah 0, yang berarti tidak terbatas.
Izin
Memerlukan izin
Contoh
Contoh di bawah ini memeriksa nilai dalam tampilan katalog untuk grup beban kerja bernama wgDataLoads, dan mengubah nilai.
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 )
MENGUBAH perilaku GRUP BEBAN KERJA
Kapan saja ada tiga jenis permintaan dalam sistem:
- Permintaan yang belum diklasifikasikan.
- Permintaan yang diklasifikasikan, dan menunggu, untuk kunci objek atau sumber daya sistem.
- Permintaan yang diklasifikasikan, dan berjalan.
Berdasarkan properti grup beban kerja yang diubah, waktu kapan pengaturan berlaku akan berbeda.
Kepentingan atau query_execution_timeout
Untuk properti penting dan query_execution_timeout, permintaan yang tidak diklasifikasikan mengambil nilai konfigurasi baru. Permintaan menunggu dan berjalan dijalankan dengan konfigurasi lama. Permintaan ALTER WORKLOAD GROUP segera dijalankan terlepas dari apakah ada kueri yang berjalan di grup beban kerja.
REQUEST_MIN_RESOURCE_GRANT_PERCENT atau REQUEST_MAX_RESOURCE_GRANT_PERCENT
Untuk REQUEST_MIN_RESOURCE_GRANT_PERCENT dan REQUEST_MAX_RESOURCE_GRANT_PERCENT, menjalankan permintaan dijalankan dengan konfigurasi lama. Permintaan menunggu dan permintaan yang tidak diklasifikasikan mengambil nilai konfigurasi baru. Permintaan ALTER WORKLOAD GROUP segera dijalankan terlepas dari apakah ada kueri yang berjalan di grup beban kerja.
MIN_PERCENTAGE_RESOURCE atau CAP_PERCENTAGE_RESOURCE
Untuk MIN_PERCENTAGE_RESOURCE dan CAP_PERCENTAGE_RESOURCE, menjalankan permintaan dijalankan dengan konfigurasi lama. Permintaan menunggu dan permintaan yang tidak diklasifikasikan mengambil nilai konfigurasi baru.
Mengubah MIN_PERCENTAGE_RESOURCE dan CAP_PERCENTAGE_RESOURCE memerlukan pengurasan permintaan yang berjalan dalam grup beban kerja yang sedang diubah. Saat mengurangi MIN_PERCENTAGE_RESOURCE, sumber daya yang dibeberkan dikembalikan ke kumpulan berbagi yang memungkinkan permintaan dari grup beban kerja lain kemampuan untuk digunakan. Sebaliknya, meningkatkan MIN_PERCENTAGE_RESOURCE akan menunggu sampai permintaan hanya menggunakan sumber daya yang diperlukan dari kumpulan bersama untuk diselesaikan. Operasi ALTER WORKLOAD GROUP akan memprioritaskan akses ke sumber daya bersama melalui permintaan lain yang menunggu untuk dijalankan pada kumpulan bersama. Jika jumlah MIN_PERCENTAGE_RESOURCE melebihi 100%, permintaan ALTER WORKLOAD GROUP akan segera gagal.
Perilaku penguncian
Mengubah grup beban kerja memerlukan kunci global di semua grup beban kerja. Permintaan untuk mengubah grup beban kerja akan mengantre di belakang permintaan grup buat atau hilangkan beban kerja yang sudah dikirimkan. Jika batch pernyataan perubahan dikirimkan sekaligus, pernyataan tersebut diproses dalam urutan pengirimannya.