UBAH GRUP BEBAN KERJA (Transact-SQL)
Pilih produk
Di baris berikut, pilih nama produk yang Anda minati, dan hanya informasi produk yang ditampilkan.
* SQL Server *
SQL Server dan SQL Managed Instance
Mengubah konfigurasi grup beban kerja Resource Governor yang ada, dan secara opsional menetapkannya ke kumpulan sumber daya Resource Governor.
Catatan
Untuk Azure SQL Managed Instance, Anda harus berada dalam konteks master
database untuk mengubah konfigurasi Resource Governor.
Konvensi sintaks transact-SQL.
Sintaks
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 ] )
]
[ USING { pool_name | "default" } ]
[ ; ]
Argumen
group_name | "default"
Nama grup beban kerja yang ditentukan pengguna atau grup beban kerja default Resource Governor yang ada. Resource Governor membuat grup "default" dan internal saat SQL Server diinstal.
Opsi "default" harus diapit oleh tanda kutip (""
) atau tanda kurung ([]
) ketika digunakan dengan ALTER WORKLOAD GROUP
untuk menghindari konflik dengan DEFAULT, yang merupakan kata yang dicadangkan sistem. Untuk informasi selengkapnya, lihat Pengidentifikasi Database.
Grup beban kerja dan kumpulan sumber daya yang telah ditentukan sebelumnya semuanya menggunakan nama huruf kecil, seperti "default". Ini harus diperhitungkan untuk server yang menggunakan kolase peka huruf besar/kecil. Server dengan kolase yang tidak peka huruf besar/kecil, seperti SQL_Latin1_General_CP1_CI_AS
, akan memperlakukan "default"
dan "Default"
sebagai hal yang sama.
KEPENTINGAN = { RENDAH | SEDANG | TINGGI }
Menentukan kepentingan relatif permintaan dalam grup beban kerja. Kepentingan adalah salah satu hal berikut:
- Rendah
- SEDANG (default)
- TINGGI
Secara internal, setiap pengaturan kepentingan disimpan sebagai angka yang digunakan untuk perhitungan.
KEPENTINGAN bersifat lokal untuk kumpulan sumber daya; 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 yang dapat diambil satu permintaan dari kumpulan. nilai adalah persentase relatif terhadap ukuran kumpulan sumber daya yang ditentukan oleh MAX_MEMORY_PERCENT. Nilai defaultnya adalah 25. Jumlah yang ditentukan hanya mengacu pada memori pemberian eksekusi kueri.
nilai adalah int hingga SQL Server 2017 (14.x) dan rentang yang diizinkan adalah dari 1 hingga 100. Dimulai dengan SQL Server 2019 (15.x), nilainya adalah jenis data float dan rentang yang diizinkan adalah dari 0 hingga 100.
Penting
Mengatur nilai ke 0 mencegah kueri dengan operasi SORT dan HASH JOIN dalam grup beban kerja yang ditentukan pengguna agar tidak berjalan.
Tidak disarankan untuk menetapkan nilai yang lebih besar dari 70 karena server mungkin tidak dapat menyisihkan memori bebas yang cukup jika kueri bersamaan lainnya berjalan. Ini akhirnya dapat menyebabkan kesalahan waktu habis kueri 8645.
Jika persyaratan memori kueri melebihi batas yang ditentukan oleh parameter ini, server melakukan hal berikut:
- Untuk grup beban kerja yang ditentukan pengguna, server mencoba mengurangi tingkat kueri paralelisme sampai persyaratan memori berada di bawah batas, atau sampai tingkat paralelisme sama dengan 1. Jika persyaratan memori kueri masih lebih besar dari batas, kesalahan 8657 terjadi.
- Untuk grup beban kerja internal dan default, server mengizinkan kueri untuk mendapatkan memori yang diperlukan.
Kedua kasus tunduk pada kesalahan waktu habis 8645 jika server memiliki memori fisik yang tidak memadai.
REQUEST_MAX_CPU_TIME_SEC = nilai
Menentukan jumlah maksimum waktu CPU, dalam detik, yang dapat digunakan permintaan. nilai harus 0 atau bilangan bulat positif. Pengaturan default untuk nilai adalah 0, yang berarti tidak terbatas. Secara default, Resource Governor tidak akan mencegah permintaan untuk melanjutkan jika waktu maksimum terlampaui. Namun, peristiwa akan dihasilkan. Untuk informasi selengkapnya, lihat Kelas Peristiwa Terlampaui Ambang Batas CPU.
Dimulai dengan SQL Server 2016 (13.x) SP2 dan SQL Server 2017 (14.x) CU3, dan menggunakan bendera pelacakan 2422, Resource Governor akan membatalkan permintaan ketika waktu maksimum terlampaui.
REQUEST_MEMORY_GRANT_TIMEOUT_SEC = nilai
Menentukan waktu maksimum, dalam detik, bahwa kueri dapat menunggu peruntukan memori (memori buffer kerja) tersedia.
Kueri tidak selalu gagal saat waktu habis peruntukan memori tercapai. Kueri hanya akan gagal jika ada terlalu banyak kueri bersamaan yang berjalan. Jika tidak, kueri mungkin hanya mendapatkan peruntukan memori minimum, yang mengakibatkan berkurangnya performa kueri.
nilai harus berupa bilangan bulat positif. Pengaturan default untuk nilai, 0, menggunakan perhitungan internal berdasarkan biaya kueri untuk menentukan waktu maksimum.
MAX_DOP = nilai
Menentukan tingkat paralelisme maksimum (DOP) untuk permintaan paralel. nilai harus 0 atau bilangan bulat positif, 1 meskipun 255. Ketika nilai adalah 0, server memilih tingkat paralelisme maksimum. Ini adalah pengaturan default dan yang direkomendasikan.
Nilai aktual yang ditetapkan Mesin Database untuk MAX_DOP mungkin kurang dari nilai yang ditentukan. Nilai akhir ditentukan oleh rumus min(255, jumlah CPU).
Perhatian
Mengubah MAX_DOP dapat berdampak buruk pada performa server. Jika Anda harus mengubah MAX_DOP, sebaiknya diatur ke nilai yang kurang dari atau sama dengan jumlah maksimum penjadwal perangkat keras yang ada dalam satu simpul NUMA. Kami menyarankan agar Anda tidak mengatur MAX_DOP ke nilai yang lebih besar dari 8.
MAX_DOP ditangani sebagai berikut:
MAX_DOP sebagai petunjuk kueri dihormati selama tidak melebihi MAX_DOP grup beban kerja.
MAX_DOP sebagai petunjuk kueri selalu mengambil alih sp_configure 'tingkat paralelisme maks'.
Grup beban kerja MAX_DOP mengambil alih sp_configure 'tingkat paralelisme maks'.
Jika kueri ditandai sebagai serial
(MAX_DOP = 1)
pada waktu kompilasi, kueri tidak dapat diubah kembali menjadi paralel pada waktu proses terlepas dari grup beban kerja atau pengaturan sp_configure.
Setelah DOP dikonfigurasi, DOP hanya dapat diturunkan pada tekanan memori pemberian. Konfigurasi ulang grup beban kerja tidak terlihat saat menunggu dalam antrean memori pemberian.
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, 0, memungkinkan permintaan tak terbatas. Ketika permintaan bersamaan maksimum tercapai, pengguna dalam grup tersebut dapat masuk, tetapi ditempatkan dalam status tunggu hingga permintaan bersamaan dijatuhkan di bawah nilai yang ditentukan.
MENGGUNAKAN { pool_name | "default" }
Mengaitkan grup beban kerja dengan kumpulan sumber daya yang ditentukan pengguna yang diidentifikasi oleh pool_name, yang berlaku menempatkan grup beban kerja di kumpulan sumber daya. Jika pool_name tidak disediakan atau jika argumen USING tidak digunakan, grup beban kerja dimasukkan ke dalam kumpulan default Resource Governor yang telah ditentukan sebelumnya.
Opsi "default" peka huruf besar/kecil dan harus diapit oleh tanda kutip (""
) atau tanda kurung ([]
) ketika digunakan dengan ALTER WORKLOAD GROUP
untuk menghindari konflik dengan DEFAULT, yang merupakan kata yang dicadangkan sistem. Untuk informasi selengkapnya, lihat Pengidentifikasi Database.
Keterangan
ALTER WORKLOAD GROUP
diperbolehkan pada grup default.
Perubahan pada konfigurasi grup beban kerja tidak berlaku sampai setelah ALTER RESOURCE GOVERNOR RECONFIGURE
dijalankan. Saat mengubah rencana yang memengaruhi pengaturan, pengaturan baru hanya akan berlaku dalam rencana yang di-cache sebelumnya setelah menjalankan DBCC FREEPROCCACHE (*pool_name*)
, di mana pool_name adalah nama kumpulan sumber daya Resource Governor tempat grup beban kerja dikaitkan.
Jika mengubah MAX_DOP ke 1, eksekusi
DBCC FREEPROCCACHE
tidak diperlukan karena paket paralel dapat berjalan dalam mode serial. Namun, mungkin tidak seefisien rencana yang dikompilasi sebagai rencana serial.Jika mengubah MAX_DOP dari 1 ke 0 atau nilai yang lebih besar dari 1, eksekusi
DBCC FREEPROCCACHE
tidak diperlukan. Namun, rencana serial tidak dapat berjalan secara paralel, jadi menghapus cache masing-masing akan memungkinkan rencana baru berpotensi dikompilasi menggunakan paralelisme.
Perhatian
Menghapus paket cache dari kumpulan sumber daya yang terkait dengan lebih dari satu grup beban kerja akan memengaruhi semua grup beban kerja dengan kumpulan sumber daya yang ditentukan pengguna yang diidentifikasi oleh pool_name.
Saat menjalankan pernyataan DDL, Anda harus terbiasa dengan status Resource Governor. Untuk informasi selengkapnya, lihat Resource Governor.
REQUEST_MEMORY_GRANT_PERCENT
: Di SQL Server 2005 (9.x), pembuatan indeks diizinkan untuk menggunakan lebih banyak memori ruang kerja daripada yang awalnya diberikan untuk meningkatkan performa. Penanganan khusus ini didukung oleh Resource Governor dalam versi yang lebih baru, namun, pemberian awal dan pemberian memori tambahan dibatasi oleh kumpulan sumber daya dan pengaturan grup beban kerja.
Pembuatan indeks pada tabel yang dipartisi
Memori yang digunakan oleh pembuatan indeks pada tabel partisi yang tidak selaras sebanding dengan jumlah partisi yang terlibat. Jika total memori yang diperlukan melebihi batas per kueri (REQUEST_MAX_MEMORY_GRANT_PERCENT
) yang diberlakukan oleh pengaturan grup beban kerja Resource Governor, pembuatan indeks ini mungkin gagal dijalankan. Karena grup beban kerja "default" memungkinkan kueri melebihi batas per kueri dengan memori minimum yang diperlukan untuk memulai kompatibilitas SQL Server 2005 (9.x), pengguna mungkin dapat menjalankan pembuatan indeks yang sama di grup beban kerja "default", jika kumpulan sumber daya "default" memiliki cukup memori total yang dikonfigurasi untuk menjalankan kueri tersebut.
Izin
Memerlukan CONTROL SERVER
izin.
Contoh
Contoh berikut menunjukkan cara mengubah pentingnya permintaan dalam grup default dari MEDIUM
ke LOW
.
ALTER WORKLOAD GROUP "default"
WITH (IMPORTANCE = LOW);
GO
ALTER RESOURCE GOVERNOR RECONFIGURE;
GO
Contoh berikut menunjukkan cara memindahkan grup beban kerja dari kumpulan tempat grup berada, ke kumpulan default.
ALTER WORKLOAD GROUP adHoc
USING [default];
GO
ALTER RESOURCE GOVERNOR RECONFIGURE;
GO
Baca juga
* SQL Managed Instance *
SQL Server dan SQL Managed Instance
Mengubah konfigurasi grup beban kerja Resource Governor yang ada, dan secara opsional menetapkannya ke kumpulan sumber daya Resource Governor.
Catatan
Untuk Azure SQL Managed Instance, Anda harus berada dalam konteks master
database untuk mengubah konfigurasi Resource Governor.
Konvensi sintaks transact-SQL.
Sintaks
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 ] )
]
[ USING { pool_name | "default" } ]
[ ; ]
Argumen
group_name | "default"
Nama grup beban kerja yang ditentukan pengguna atau grup beban kerja default Resource Governor yang ada. Resource Governor membuat grup "default" dan internal saat SQL Server diinstal.
Opsi "default" harus diapit oleh tanda kutip (""
) atau tanda kurung ([]
) ketika digunakan dengan ALTER WORKLOAD GROUP
untuk menghindari konflik dengan DEFAULT, yang merupakan kata yang dicadangkan sistem. Untuk informasi selengkapnya, lihat Pengidentifikasi Database.
Grup beban kerja dan kumpulan sumber daya yang telah ditentukan sebelumnya semuanya menggunakan nama huruf kecil, seperti "default". Ini harus diperhitungkan untuk server yang menggunakan kolase peka huruf besar/kecil. Server dengan kolase yang tidak peka huruf besar/kecil, seperti SQL_Latin1_General_CP1_CI_AS
, akan memperlakukan "default"
dan "Default"
sebagai hal yang sama.
KEPENTINGAN = { RENDAH | SEDANG | TINGGI }
Menentukan kepentingan relatif permintaan dalam grup beban kerja. Kepentingan adalah salah satu hal berikut:
- Rendah
- SEDANG (default)
- TINGGI
Secara internal, setiap pengaturan kepentingan disimpan sebagai angka yang digunakan untuk perhitungan.
KEPENTINGAN bersifat lokal untuk kumpulan sumber daya; 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 yang dapat diambil satu permintaan dari kumpulan. nilai adalah persentase relatif terhadap ukuran kumpulan sumber daya yang ditentukan oleh MAX_MEMORY_PERCENT. Nilai defaultnya adalah 25. Jumlah yang ditentukan hanya mengacu pada memori pemberian eksekusi kueri.
nilai adalah int hingga SQL Server 2017 (14.x) dan rentang yang diizinkan adalah dari 1 hingga 100. Dimulai dengan SQL Server 2019 (15.x), nilainya adalah jenis data float dan rentang yang diizinkan adalah dari 0 hingga 100.
Penting
Mengatur nilai ke 0 mencegah kueri dengan operasi SORT dan HASH JOIN dalam grup beban kerja yang ditentukan pengguna agar tidak berjalan.
Tidak disarankan untuk menetapkan nilai yang lebih besar dari 70 karena server mungkin tidak dapat menyisihkan memori bebas yang cukup jika kueri bersamaan lainnya berjalan. Ini akhirnya dapat menyebabkan kesalahan waktu habis kueri 8645.
Jika persyaratan memori kueri melebihi batas yang ditentukan oleh parameter ini, server melakukan hal berikut:
- Untuk grup beban kerja yang ditentukan pengguna, server mencoba mengurangi tingkat kueri paralelisme sampai persyaratan memori berada di bawah batas, atau sampai tingkat paralelisme sama dengan 1. Jika persyaratan memori kueri masih lebih besar dari batas, kesalahan 8657 terjadi.
- Untuk grup beban kerja internal dan default, server mengizinkan kueri untuk mendapatkan memori yang diperlukan.
Kedua kasus tunduk pada kesalahan waktu habis 8645 jika server memiliki memori fisik yang tidak memadai.
REQUEST_MAX_CPU_TIME_SEC = nilai
Menentukan jumlah maksimum waktu CPU, dalam detik, yang dapat digunakan permintaan. nilai harus 0 atau bilangan bulat positif. Pengaturan default untuk nilai adalah 0, yang berarti tidak terbatas. Secara default, Resource Governor tidak akan mencegah permintaan untuk melanjutkan jika waktu maksimum terlampaui. Namun, peristiwa akan dihasilkan. Untuk informasi selengkapnya, lihat Kelas Peristiwa Terlampaui Ambang Batas CPU.
Dimulai dengan SQL Server 2016 (13.x) SP2 dan SQL Server 2017 (14.x) CU3, dan menggunakan bendera pelacakan 2422, Resource Governor akan membatalkan permintaan ketika waktu maksimum terlampaui.
REQUEST_MEMORY_GRANT_TIMEOUT_SEC = nilai
Menentukan waktu maksimum, dalam detik, bahwa kueri dapat menunggu peruntukan memori (memori buffer kerja) tersedia.
Kueri tidak selalu gagal saat waktu habis peruntukan memori tercapai. Kueri hanya akan gagal jika ada terlalu banyak kueri bersamaan yang berjalan. Jika tidak, kueri mungkin hanya mendapatkan peruntukan memori minimum, yang mengakibatkan berkurangnya performa kueri.
nilai harus berupa bilangan bulat positif. Pengaturan default untuk nilai, 0, menggunakan perhitungan internal berdasarkan biaya kueri untuk menentukan waktu maksimum.
MAX_DOP = nilai
Menentukan tingkat paralelisme maksimum (DOP) untuk permintaan paralel. nilai harus 0 atau bilangan bulat positif, 1 meskipun 255. Ketika nilai adalah 0, server memilih tingkat paralelisme maksimum. Ini adalah pengaturan default dan yang direkomendasikan.
Nilai aktual yang ditetapkan Mesin Database untuk MAX_DOP mungkin kurang dari nilai yang ditentukan. Nilai akhir ditentukan oleh rumus min(255, jumlah CPU).
Perhatian
Mengubah MAX_DOP dapat berdampak buruk pada performa server. Jika Anda harus mengubah MAX_DOP, sebaiknya diatur ke nilai yang kurang dari atau sama dengan jumlah maksimum penjadwal perangkat keras yang ada dalam satu simpul NUMA. Kami menyarankan agar Anda tidak mengatur MAX_DOP ke nilai yang lebih besar dari 8.
MAX_DOP ditangani sebagai berikut:
MAX_DOP sebagai petunjuk kueri dihormati selama tidak melebihi MAX_DOP grup beban kerja.
MAX_DOP sebagai petunjuk kueri selalu mengambil alih sp_configure 'tingkat paralelisme maks'.
Grup beban kerja MAX_DOP mengambil alih sp_configure 'tingkat paralelisme maks'.
Jika kueri ditandai sebagai serial
(MAX_DOP = 1)
pada waktu kompilasi, kueri tidak dapat diubah kembali menjadi paralel pada waktu proses terlepas dari grup beban kerja atau pengaturan sp_configure.
Setelah DOP dikonfigurasi, DOP hanya dapat diturunkan pada tekanan memori pemberian. Konfigurasi ulang grup beban kerja tidak terlihat saat menunggu dalam antrean memori pemberian.
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, 0, memungkinkan permintaan tak terbatas. Ketika permintaan bersamaan maksimum tercapai, pengguna dalam grup tersebut dapat masuk, tetapi ditempatkan dalam status tunggu hingga permintaan bersamaan dijatuhkan di bawah nilai yang ditentukan.
MENGGUNAKAN { pool_name | "default" }
Mengaitkan grup beban kerja dengan kumpulan sumber daya yang ditentukan pengguna yang diidentifikasi oleh pool_name, yang berlaku menempatkan grup beban kerja di kumpulan sumber daya. Jika pool_name tidak disediakan atau jika argumen USING tidak digunakan, grup beban kerja dimasukkan ke dalam kumpulan default Resource Governor yang telah ditentukan sebelumnya.
Opsi "default" peka huruf besar/kecil dan harus diapit oleh tanda kutip (""
) atau tanda kurung ([]
) ketika digunakan dengan ALTER WORKLOAD GROUP
untuk menghindari konflik dengan DEFAULT, yang merupakan kata yang dicadangkan sistem. Untuk informasi selengkapnya, lihat Pengidentifikasi Database.
Keterangan
ALTER WORKLOAD GROUP
diperbolehkan pada grup default.
Perubahan pada konfigurasi grup beban kerja tidak berlaku sampai setelah ALTER RESOURCE GOVERNOR RECONFIGURE
dijalankan. Saat mengubah rencana yang memengaruhi pengaturan, pengaturan baru hanya akan berlaku dalam rencana yang di-cache sebelumnya setelah menjalankan DBCC FREEPROCCACHE (*pool_name*)
, di mana pool_name adalah nama kumpulan sumber daya Resource Governor tempat grup beban kerja dikaitkan.
Jika mengubah MAX_DOP ke 1, eksekusi
DBCC FREEPROCCACHE
tidak diperlukan karena paket paralel dapat berjalan dalam mode serial. Namun, mungkin tidak seefisien rencana yang dikompilasi sebagai rencana serial.Jika mengubah MAX_DOP dari 1 ke 0 atau nilai yang lebih besar dari 1, eksekusi
DBCC FREEPROCCACHE
tidak diperlukan. Namun, rencana serial tidak dapat berjalan secara paralel, jadi menghapus cache masing-masing akan memungkinkan rencana baru berpotensi dikompilasi menggunakan paralelisme.
Perhatian
Menghapus paket cache dari kumpulan sumber daya yang terkait dengan lebih dari satu grup beban kerja akan memengaruhi semua grup beban kerja dengan kumpulan sumber daya yang ditentukan pengguna yang diidentifikasi oleh pool_name.
Saat menjalankan pernyataan DDL, Anda harus terbiasa dengan status Resource Governor. Untuk informasi selengkapnya, lihat Resource Governor.
REQUEST_MEMORY_GRANT_PERCENT
: Di SQL Server 2005 (9.x), pembuatan indeks diizinkan untuk menggunakan lebih banyak memori ruang kerja daripada yang awalnya diberikan untuk meningkatkan performa. Penanganan khusus ini didukung oleh Resource Governor dalam versi yang lebih baru, namun, pemberian awal dan pemberian memori tambahan dibatasi oleh kumpulan sumber daya dan pengaturan grup beban kerja.
Pembuatan indeks pada tabel yang dipartisi
Memori yang digunakan oleh pembuatan indeks pada tabel partisi yang tidak selaras sebanding dengan jumlah partisi yang terlibat. Jika total memori yang diperlukan melebihi batas per kueri (REQUEST_MAX_MEMORY_GRANT_PERCENT
) yang diberlakukan oleh pengaturan grup beban kerja Resource Governor, pembuatan indeks ini mungkin gagal dijalankan. Karena grup beban kerja "default" memungkinkan kueri melebihi batas per kueri dengan memori minimum yang diperlukan untuk memulai kompatibilitas SQL Server 2005 (9.x), pengguna mungkin dapat menjalankan pembuatan indeks yang sama di grup beban kerja "default", jika kumpulan sumber daya "default" memiliki cukup memori total yang dikonfigurasi untuk menjalankan kueri tersebut.
Izin
Memerlukan CONTROL SERVER
izin.
Contoh
Contoh berikut menunjukkan cara mengubah pentingnya permintaan dalam grup default dari MEDIUM
ke LOW
.
ALTER WORKLOAD GROUP "default"
WITH (IMPORTANCE = LOW);
GO
ALTER RESOURCE GOVERNOR RECONFIGURE;
GO
Contoh berikut menunjukkan cara memindahkan grup beban kerja dari kumpulan tempat grup berada, ke kumpulan default.
ALTER WORKLOAD GROUP adHoc
USING [default];
GO
ALTER RESOURCE GOVERNOR RECONFIGURE;
GO
Baca juga
* Azure Synapse
Analytics*
Azure Synapse Analytics
Mengubah grup beban kerja yang ada.
ALTER WORKLOAD GROUP
Lihat bagian perilaku 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 CREATE WORKLOAD GROUP juga berlaku untuk ALTER WORKLOAD GROUP
. Sebelum memodifikasi parameter, kueri sys.workload_management_workload_groups untuk memastikan nilai berada dalam rentang yang dapat diterima.
Sintaks
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 adalah rentang bilangan bulat dari 0 hingga 100. Saat mengubah MIN_PERCENTAGE_RESOURCE, jumlah MIN_PERCENTAGE_RESOURCE di semua grup beban kerja tidak boleh melebihi 100. Mengubah MIN_PERCENTAGE_RESOURCE mengharuskan semua kueri yang berjalan selesai dalam grup beban kerja sebelum perintah selesai. Untuk informasi selengkapnya, lihat bagian MENGUBAH perilaku GRUP BEBAN KERJA di artikel ini.
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 MENGUBAH perilaku GRUP BEBAN KERJA di artikel ini.
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 CONTROL DATABASE.
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. ALTER WORKLOAD GROUP
Operasi akan memprioritaskan akses ke sumber daya bersama melalui permintaan lain yang menunggu untuk dijalankan pada kumpulan bersama. Jika jumlah MIN_PERCENTAGE_RESOURCE melebihi 100%, ALTER WORKLOAD GROUP
permintaan 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.