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.

Baca juga