CREATE WORKLOAD GROUP (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

Membuat grup beban kerja Resource Governor dan mengaitkan grup beban kerja dengan kumpulan sumber daya Resource Governor. Resource Governor tidak tersedia di setiap edisi SQL Server. Untuk daftar fitur yang didukung oleh edisi SQL Server, lihat Edisi dan fitur yang didukung SQL Server 2022.

Konvensi sintaks transact-SQL.

Sintaks

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 ] )
 ]
[ USING {
    [ pool_name | "default" ]
    [ [ , ] EXTERNAL external_pool_name | "default" ] ]
    } ]
[ ; ]

Argumen

group_name

Nama yang ditentukan pengguna untuk grup beban kerja. group_name alfanumerik, dapat mencapai 128 karakter, harus unik dalam instans SQL Server, dan harus mematuhi aturan untuk Pengidentifikasi Database.

KEPENTINGAN = { RENDAH | SEDANG | TINGGI }

Menentukan kepentingan relatif permintaan dalam grup beban kerja. Kepentingan adalah salah satu hal berikut, dengan MEDIUM menjadi default:

  •  Rendah
  • SEDANG (default)
  • TINGGI

Catatan

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 default adalah 25.

nilai adalah bilangan bulat hingga SQL Server 2017 (14.x) dan rentang yang diizinkan adalah dari 1 hingga 100. Dimulai dengan SQL Server 2019 (15.x), nilainya adalah float jenis data dan rentang yang diizinkan adalah dari 0 hingga 100.

Penting

Jumlah yang ditentukan hanya mengacu pada memori pemberian eksekusi kueri.

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.

Ketahuilah bahwa 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.

Catatan

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.

Penting

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. nilai harus 0 atau bilangan bulat positif. Pengaturan default untuk nilai, 0, menggunakan perhitungan internal berdasarkan biaya kueri untuk menentukan waktu maksimum.

Catatan

Kueri tidak selalu gagal ketika 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.

MAX_DOP = nilai

Menentukan tingkat paralelisme maksimum (MAXDOP) untuk eksekusi kueri paralel. nilai harus 0 atau bilangan bulat positif. Rentang yang diizinkan untuk nilai adalah dari 0 hingga 64. Pengaturan default untuk nilai, 0, menggunakan pengaturan global.

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.

Catatan

Grup beban kerja MAX_DOP mengambil alih konfigurasi server untuk tingkat paralelisme maksimum dan MAXDOPkonfigurasi cakupan database.

Tip

Untuk mencapai ini di tingkat kueri, gunakan MAXDOPpetunjuk kueri. Mengatur tingkat paralelisme maksimum karena petunjuk kueri efektif selama tidak melebihi grup beban kerja MAX_DOP. Jika nilai petunjuk kueri MAXDOP melebihi nilai yang dikonfigurasi dengan menggunakan Resource Governor, Mesin Database SQL Server menggunakan nilai Resource Governor MAX_DOP . Petunjuk kueri MAXDOP selalu mengambil alih konfigurasi server untuk tingkat paralelisme maksimum.

Untuk mencapai ini di tingkat database, gunakan MAXDOPkonfigurasi cakupan database.

Untuk mencapai hal ini di tingkat server, gunakan opsi konfigurasi server tingkat paralelisme maks (MAXDOP).

GROUP_MAX_REQUESTS = nilai

Menentukan jumlah maksimum permintaan simultan yang diizinkan untuk dijalankan dalam grup beban kerja. nilai harus berupa bilangan bulat 0 atau positif. Pengaturan default untuk nilai adalah 0, dan memungkinkan permintaan tanpa batas. 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. Ini 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.

"default" adalah kata yang dipesan dan ketika digunakan dengan USING, harus diapit oleh tanda kutip ("") atau tanda kurung ([]).

Catatan

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.

external_pool_name EKSTERNAL | "default"

Berlaku untuk: SQL Server 2016 (13.x) dan yang lebih baru.

Grup beban kerja dapat menentukan kumpulan sumber daya eksternal. Anda dapat menentukan grup beban kerja dan mengaitkan dengan dua kumpulan:

Keterangan

Ketika REQUEST_MEMORY_GRANT_PERCENT digunakan, pembuatan indeks diizinkan untuk menggunakan lebih banyak memori ruang kerja daripada apa yang awalnya diberikan untuk peningkatan performa. Penanganan khusus ini didukung oleh Resource Governor di SQL Server. Namun, pemberian awal dan pemberian memori tambahan dibatasi oleh kumpulan sumber daya dan pengaturan grup beban kerja.

Batas MAX_DOP diatur per tugas. Ini bukan batas per permintaan atau per kueri. Ini berarti bahwa selama eksekusi kueri paralel, satu permintaan dapat menelurkan beberapa tugas yang ditetapkan ke penjadwal. Untuk informasi selengkapnya, lihat Panduan Arsitektur Utas dan Tugas.

Saat MAX_DOP digunakan dan kueri ditandai sebagai serial pada waktu kompilasi, kueri tidak dapat diubah kembali menjadi paralel pada waktu proses terlepas dari grup beban kerja atau pengaturan konfigurasi server. Setelah MAX_DOP dikonfigurasi, itu hanya dapat diturunkan karena tekanan memori. Konfigurasi ulang grup beban kerja tidak terlihat saat menunggu dalam antrean memori pemberian.

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 REQUEST_MAX_MEMORY_GRANT_PERCENT per kueri yang diberlakukan oleh pengaturan grup beban kerja Resource Governor, pembuatan indeks ini mungkin gagal dijalankan. "default" Karena grup beban kerja memungkinkan kueri melebihi batas per kueri dengan memori minimum yang diperlukan, pengguna mungkin dapat menjalankan pembuatan indeks yang sama dalam "default" grup beban kerja, jika kumpulan sumber daya memiliki cukup memori total yang dikonfigurasi untuk menjalankan kueri tersebut"default".

Izin

Memerlukan CONTROL SERVER izin.

Contoh

Buat grup beban kerja bernama newReports yang menggunakan pengaturan default Resource Governor, dan berada di kumpulan default Resource Governor. Contoh menentukan kumpulan default , tetapi ini tidak diperlukan.

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

Baca juga

* SQL Managed Instance *  

 

SQL Server dan SQL Managed Instance

Membuat grup beban kerja Resource Governor dan mengaitkan grup beban kerja dengan kumpulan sumber daya Resource Governor. Resource Governor tidak tersedia di setiap edisi SQL Server. Untuk daftar fitur yang didukung oleh edisi SQL Server, lihat Edisi dan fitur yang didukung SQL Server 2022.

Konvensi sintaks transact-SQL.

Sintaks

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 ] )
 ]
[ USING {
    [ pool_name | "default" ]
    [ [ , ] EXTERNAL external_pool_name | "default" ] ]
    } ]
[ ; ]

Argumen

group_name

Nama yang ditentukan pengguna untuk grup beban kerja. group_name alfanumerik, dapat mencapai 128 karakter, harus unik dalam instans SQL Server, dan harus mematuhi aturan untuk Pengidentifikasi Database.

KEPENTINGAN = { RENDAH | SEDANG | TINGGI }

Menentukan kepentingan relatif permintaan dalam grup beban kerja. Kepentingan adalah salah satu hal berikut, dengan MEDIUM menjadi default:

  •  Rendah
  • SEDANG (default)
  • TINGGI

Catatan

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 default adalah 25.

nilai adalah bilangan bulat hingga SQL Server 2017 (14.x) dan rentang yang diizinkan adalah dari 1 hingga 100. Dimulai dengan SQL Server 2019 (15.x), nilainya adalah float jenis data dan rentang yang diizinkan adalah dari 0 hingga 100.

Penting

Jumlah yang ditentukan hanya mengacu pada memori pemberian eksekusi kueri.

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.

Ketahuilah bahwa 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.

Catatan

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.

Penting

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. nilai harus 0 atau bilangan bulat positif. Pengaturan default untuk nilai, 0, menggunakan perhitungan internal berdasarkan biaya kueri untuk menentukan waktu maksimum.

Catatan

Kueri tidak selalu gagal ketika 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.

MAX_DOP = nilai

Menentukan tingkat paralelisme maksimum (MAXDOP) untuk eksekusi kueri paralel. nilai harus 0 atau bilangan bulat positif. Rentang yang diizinkan untuk nilai adalah dari 0 hingga 64. Pengaturan default untuk nilai, 0, menggunakan pengaturan global.

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.

Catatan

Grup beban kerja MAX_DOP mengambil alih konfigurasi server untuk tingkat paralelisme maksimum dan MAXDOPkonfigurasi cakupan database.

Tip

Untuk mencapai ini di tingkat kueri, gunakan MAXDOPpetunjuk kueri. Mengatur tingkat paralelisme maksimum karena petunjuk kueri efektif selama tidak melebihi grup beban kerja MAX_DOP. Jika nilai petunjuk kueri MAXDOP melebihi nilai yang dikonfigurasi dengan menggunakan Resource Governor, Mesin Database SQL Server menggunakan nilai Resource Governor MAX_DOP . Petunjuk kueri MAXDOP selalu mengambil alih konfigurasi server untuk tingkat paralelisme maksimum.

Untuk mencapai ini di tingkat database, gunakan MAXDOPkonfigurasi cakupan database.

Untuk mencapai hal ini di tingkat server, gunakan opsi konfigurasi server tingkat paralelisme maks (MAXDOP).

GROUP_MAX_REQUESTS = nilai

Menentukan jumlah maksimum permintaan simultan yang diizinkan untuk dijalankan dalam grup beban kerja. nilai harus berupa bilangan bulat 0 atau positif. Pengaturan default untuk nilai adalah 0, dan memungkinkan permintaan tanpa batas. 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. Ini 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.

"default" adalah kata yang dipesan dan ketika digunakan dengan USING, harus diapit oleh tanda kutip ("") atau tanda kurung ([]).

Catatan

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.

external_pool_name EKSTERNAL | "default"

Berlaku untuk: SQL Server 2016 (13.x) dan yang lebih baru.

Grup beban kerja dapat menentukan kumpulan sumber daya eksternal. Anda dapat menentukan grup beban kerja dan mengaitkan dengan dua kumpulan:

Keterangan

Ketika REQUEST_MEMORY_GRANT_PERCENT digunakan, pembuatan indeks diizinkan untuk menggunakan lebih banyak memori ruang kerja daripada apa yang awalnya diberikan untuk peningkatan performa. Penanganan khusus ini didukung oleh Resource Governor di SQL Server. Namun, pemberian awal dan pemberian memori tambahan dibatasi oleh kumpulan sumber daya dan pengaturan grup beban kerja.

Batas MAX_DOP diatur per tugas. Ini bukan batas per permintaan atau per kueri. Ini berarti bahwa selama eksekusi kueri paralel, satu permintaan dapat menelurkan beberapa tugas yang ditetapkan ke penjadwal. Untuk informasi selengkapnya, lihat Panduan Arsitektur Utas dan Tugas.

Saat MAX_DOP digunakan dan kueri ditandai sebagai serial pada waktu kompilasi, kueri tidak dapat diubah kembali menjadi paralel pada waktu proses terlepas dari grup beban kerja atau pengaturan konfigurasi server. Setelah MAX_DOP dikonfigurasi, itu hanya dapat diturunkan karena tekanan memori. Konfigurasi ulang grup beban kerja tidak terlihat saat menunggu dalam antrean memori pemberian.

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 REQUEST_MAX_MEMORY_GRANT_PERCENT per kueri yang diberlakukan oleh pengaturan grup beban kerja Resource Governor, pembuatan indeks ini mungkin gagal dijalankan. "default" Karena grup beban kerja memungkinkan kueri melebihi batas per kueri dengan memori minimum yang diperlukan, pengguna mungkin dapat menjalankan pembuatan indeks yang sama dalam "default" grup beban kerja, jika kumpulan sumber daya memiliki cukup memori total yang dikonfigurasi untuk menjalankan kueri tersebut"default".

Izin

Memerlukan CONTROL SERVER izin.

Contoh

Buat grup beban kerja bernama newReports yang menggunakan pengaturan default Resource Governor, dan berada di kumpulan default Resource Governor. Contoh menentukan kumpulan default , tetapi ini tidak diperlukan.

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

Baca juga

* Azure Synapse
Analytics*
 

 

Azure Synapse Analytics

Membuat grup beban kerja. Grup beban kerja adalah kontainer untuk serangkaian permintaan dan merupakan dasar untuk bagaimana manajemen beban kerja dikonfigurasi pada sistem. Grup beban kerja menyediakan kemampuan untuk memesan sumber daya untuk isolasi beban kerja, berisi sumber daya, menentukan sumber daya per permintaan, dan mematuhi aturan eksekusi. Setelah pernyataan selesai, pengaturan berlaku.

Konvensi sintaks transact-SQL

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 Menentukan nama tempat grup beban kerja diidentifikasi. group_name adalah sysname. Panjangnya bisa hingga 128 karakter dan harus unik dalam instans.

MIN_PERCENTAGE_RESOURCE = nilai
Menentukan alokasi sumber daya minimum terjamin untuk grup beban kerja ini yang tidak dibagikan dengan grup beban kerja lainnya. Memori adalah satu-satunya sumber daya yang diatur oleh parameter ini. nilai adalah rentang bilangan bulat dari 0 hingga 100. Jumlah min_percentage_resource di semua grup beban kerja tidak boleh melebihi 100. Nilai untuk min_percentage_resource tidak boleh lebih besar dari cap_percentage_resource. Ada nilai efektif minimum yang diizinkan per tingkat layanan. Lihat Nilai Efektif untuk detail selengkapnya.

CAP_PERCENTAGE_RESOURCE = nilai
Menentukan pemanfaatan sumber daya maksimum untuk semua permintaan dalam grup beban kerja. Sumber daya CPU dan memori dibatasi oleh parameter ini. Rentang bilangan bulat yang diizinkan untuk nilai adalah 1 hingga 100. Nilai untuk cap_percentage_resource harus lebih besar dari min_percentage_resource. Nilai efektif untuk cap_percentage_resource dapat dikurangi jika min_percentage_resource dikonfigurasi lebih besar dari nol di grup beban kerja lainnya.

REQUEST_MIN_RESOURCE_GRANT_PERCENT = nilai
Mengatur jumlah minimum sumber daya yang dialokasikan per permintaan. Memori adalah satu-satunya sumber daya yang diatur oleh parameter ini. nilai adalah parameter yang diperlukan dengan rentang desimal antara 0,75 hingga 100,00. Nilai untuk request_min_resource_grant_percent harus kelipatan 0,25, harus merupakan faktor min_percentage_resource, dan kurang dari cap_percentage_resource. Ada nilai efektif minimum yang diizinkan per tingkat layanan. Lihat Nilai Efektif untuk detail selengkapnya.

Contohnya:

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 )

Pertimbangkan nilai yang digunakan untuk kelas sumber daya sebagai pedoman untuk request_min_resource_grant_percent. Tabel di bawah ini berisi alokasi sumber daya untuk Gen2.

Kelas Sumber Daya Persentase Sumber Daya
Busur kecil %3
Mediumrc 10%
Busur besar 22%
Xlargerc 70%

REQUEST_MAX_RESOURCE_GRANT_PERCENT = nilai

Mengatur jumlah maksimum sumber daya yang dialokasikan per permintaan. Memori adalah satu-satunya sumber daya yang diatur oleh parameter ini. nilai adalah parameter desimal opsional dengan nilai default yang sama dengan request_min_resource_grant_percent. nilai harus lebih besar dari atau sama dengan request_min_resource_grant_percent. Ketika nilai request_max_resource_grant_percent lebih besar dari request_min_resource_grant_percent dan sumber daya sistem tersedia, sumber daya tambahan dialokasikan untuk permintaan.

KEPENTINGAN = { RENDAH | BELOW_NORMAL | NORMAL | ABOVE_NORMAL | TINGGI }

Menentukan kepentingan default permintaan untuk grup beban kerja. Kepentingan adalah salah satu hal berikut, dengan NORMAL menjadi default:

  •  Rendah
  • BELOW_NORMAL
  • NORMAL (default)
  • ABOVE_NORMAL
  • TINGGI

Kepentingan yang ditetapkan pada grup beban kerja adalah kepentingan default untuk semua permintaan dalam grup beban kerja. Pengguna juga dapat mengatur kepentingan di tingkat pengklasifikasi, yang dapat mengambil alih pengaturan kepentingan grup beban kerja. Hal ini memungkinkan diferensiasi pentingnya permintaan dalam grup beban kerja untuk mendapatkan akses ke sumber daya yang tidak dipesan lebih cepat. Ketika jumlah min_percentage_resource di seluruh grup beban kerja kurang dari 100, ada sumber daya yang tidak dipesan yang ditetapkan berdasarkan kepentingan.

QUERY_EXECUTION_TIMEOUT_SEC = nilai

Menentukan waktu maksimum, dalam detik, bahwa kueri dapat dijalankan sebelum dibatalkan. nilai harus 0 atau bilangan bulat positif. Pengaturan default untuk nilai adalah 0, yang tidak pernah kehabisan waktu kueri. QUERY_EXECUTION_TIMEOUT_SEC dihitung setelah kueri dalam status berjalan, bukan saat kueri diantrekan.

Keterangan

Grup beban kerja yang sesuai dengan kelas sumber daya dibuat secara otomatis untuk kompatibilitas mundur. Grup beban kerja yang ditentukan sistem ini tidak dapat dihilangkan. 8 grup beban kerja tambahan yang ditentukan pengguna dapat dibuat.

Jika grup beban kerja dibuat dengan min_percentage_resource lebih dari nol, CREATE WORKLOAD GROUP pernyataan akan mengantre hingga ada cukup sumber daya untuk membuat grup beban kerja.

Nilai Efektif

Parameter min_percentage_resource, cap_percentage_resource, request_min_resource_grant_percent dan request_max_resource_grant_percent memiliki nilai efektif yang disesuaikan dalam konteks tingkat layanan saat ini dan konfigurasi grup beban kerja lainnya.

Parameter request_min_resource_grant_percent memiliki nilai yang efektif karena ada sumber daya minimum yang diperlukan per kueri tergantung pada tingkat layanan. Misalnya, pada tingkat layanan terendah, DW100c, sumber daya minimum 25% per permintaan diperlukan. Jika grup beban kerja dikonfigurasi dengan 3% request_min_resource_grant_percent dan request_max_resource_grant_percent, nilai efektif untuk kedua parameter disesuaikan menjadi 25% saat instans dimulai. Jika instans diskalakan hingga DW1000c, nilai yang dikonfigurasi dan efektif untuk kedua parameter adalah 3% karena 3% adalah nilai minimum yang didukung pada tingkat layanan tersebut. Jika instans diskalakan lebih tinggi dari DW1000c, nilai yang dikonfigurasi dan efektif untuk kedua parameter akan tetap berada di 3%. Lihat tabel di bawah ini untuk detail lebih lanjut tentang nilai efektif di tingkat layanan yang berbeda.

Tingkat Layanan Nilai efektif terendah untuk REQUEST_MIN_RESOURCE_GRANT_PERCENT Kueri serentak maksimum
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

Parameter min_percentage_resource harus lebih besar dari atau sama dengan yang efektif request_min_resource_grant_percent. Grup beban kerja dengan min_percentage_resource dikonfigurasi kurang dari efektif min_percentage_resource memiliki nilai yang disesuaikan menjadi nol pada waktu proses. Ketika ini terjadi, sumber daya yang dikonfigurasi untuk min_percentage_resource dapat dibagikan di semua grup beban kerja. Misalnya, grup wgAdHoc beban kerja dengan min_percentage_resource 10% berjalan di DW1000c akan memiliki efektivitas min_percentage_resource 10% (3% adalah nilai minimum yang didukung di DW1000c). wgAdhoc di DW100c akan memiliki min_percentage_resource efektif 0%. 10% yang dikonfigurasi untuk wgAdhoc akan dibagikan di semua grup beban kerja.

Parameter cap_percentage_resource juga memiliki nilai yang efektif. Jika grup wgAdhoc beban kerja dikonfigurasi dengan cap_percentage_resource 100% dan grup wgDashboards beban kerja lain dibuat dengan 25% min_percentage_resource, efektif cap_percentage_resource untuk wgAdhoc menjadi 75%.

Cara term mudah untuk memahami nilai run-time untuk grup beban kerja Anda adalah dengan mengkueri tampilan sistem sys.dm_workload_management_workload_groups_stats.

Izin

Memerlukan CONTROL DATABASE izin

Baca juga