ALTER RESOURCE POOL (Transact-SQL)

Berlaku untuk: SQL Server (semua versi yang didukung)

Mengubah konfigurasi kumpulan sumber daya Resource Governor yang ada di SQL Server.

Ikon tautan topikKonvensi Sintaks Transact-SQL.

Sintaks

ALTER RESOURCE POOL { pool_name | "default" }  
[WITH  
    ( [ MIN_CPU_PERCENT = value ]  
    [ [ , ] MAX_CPU_PERCENT = value ]   
    [ [ , ] CAP_CPU_PERCENT = value ]   
    [ [ , ] AFFINITY {
                        SCHEDULER = AUTO 
                      | ( <scheduler_range_spec> ) 
                      | NUMANODE = ( <NUMA_node_range_spec> )
                      }]   
    [ [ , ] MIN_MEMORY_PERCENT = value ]  
    [ [ , ] MAX_MEMORY_PERCENT = value ]   
    [ [ , ] MIN_IOPS_PER_VOLUME = value ]  
    [ [ , ] MAX_IOPS_PER_VOLUME = value ]  
)]   
[;]  
  
<scheduler_range_spec> ::=  
{SCHED_ID | SCHED_ID TO SCHED_ID}[,...n]  
  
<NUMA_node_range_spec> ::=  
{NUMA_node_ID | NUMA_node_ID TO NUMA_node_ID}[,...n]  

Catatan

Untuk melihat sintaks Transact-SQL untuk SQL Server 2014 dan yang lebih lama, lihat Dokumentasi versi sebelumnya.

Argumen

{ pool_name | "default" }
Adalah nama kumpulan sumber daya yang ditentukan pengguna atau kumpulan sumber daya default yang dibuat saat SQL Server diinstal.

"default" harus diapit oleh tanda kutip ("") atau tanda kurung siku ([]) ketika digunakan dengan ALTER RESOURCE POOL untuk menghindari konflik dengan DEFAULT, yang merupakan kata yang dicadangkan sistem. Untuk informasi selengkapnya, lihat Pengidentifikasi Database.

Catatan

Grup beban kerja dan kumpulan sumber daya yang telah ditentukan sebelumnya semuanya menggunakan nama huruf kecil, seperti "default". Ini harus dipertimbangkan 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.

MIN_CPU_PERCENT =value
Menentukan bandwidth CPU rata-rata yang dijamin untuk semua permintaan di kumpulan sumber daya ketika ada ketidakcocokan CPU. nilai adalah bilangan bulat dengan pengaturan default 0. Rentang yang diizinkan untuk nilai adalah dari 0 hingga 100.

MAX_CPU_PERCENT =value
Menentukan bandwidth CPU rata-rata maksimum yang akan diterima semua permintaan di kumpulan sumber daya ketika ada ketidakcocokan CPU. nilai adalah bilangan bulat dengan pengaturan default 100. Rentang yang diizinkan untuk nilai adalah dari 1 hingga 100.

CAP_CPU_PERCENT =value
Berlaku untuk: SQL Server 2012 (11.x) dan yang lebih baru.

Menentukan kapasitas CPU maksimum target untuk permintaan di kumpulan sumber daya. nilai adalah bilangan bulat dengan pengaturan default 100. Rentang yang diizinkan untuk nilai adalah dari 1 hingga 100.

Catatan

Karena sifat statistik tata kelola CPU, Anda mungkin melihat lonjakan sesekali melebihi nilai yang ditentukan dalam CAP_CPU_PERCENT.

AFINITAS {SCHEDULER = | OTOMATIS (Scheduler_range_spec) | NUMANODE = (NUMA_node_range_spec)}
Berlaku untuk: SQL Server 2012 (11.x) dan yang lebih baru.

Lampirkan kumpulan sumber daya ke penjadwal tertentu. Nilai defaultnya adalah AUTO.

AFFINITY SCHEDULER = (Scheduler_range_spec) memetakan kumpulan sumber daya ke jadwal SQL Server yang diidentifikasi oleh ID yang diberikan. ID ini memetakan ke nilai di kolom scheduler_id di sys.dm_os_schedulers (Transact-SQL).

Saat Anda menggunakan AFFINITY NAMANODE = (NUMA_node_range_spec), kumpulan sumber daya diafinisiskan ke penjadwal SQL Server yang memetakan ke CPU fisik yang sesuai dengan simpul NUMA atau rentang simpul yang diberikan. Anda dapat menggunakan kueri Transact-SQL berikut untuk menemukan pemetaan antara konfigurasi NUMA fisik dan ID penjadwal SQL Server.

SELECT osn.memory_node_id AS [numa_node_id], sc.cpu_id, sc.scheduler_id  
FROM sys.dm_os_nodes AS osn  
INNER JOIN sys.dm_os_schedulers AS sc 
   ON osn.node_id = sc.parent_node_id 
      AND sc.scheduler_id < 1048576;  

MIN_MEMORY_PERCENT =value
Menentukan jumlah minimum memori yang dicadangkan untuk kumpulan sumber daya ini yang tidak dapat dibagikan dengan kumpulan sumber daya lainnya. nilai adalah bilangan bulat dengan pengaturan default 0. Rentang yang diizinkan untuk nilai adalah dari 0 hingga 100.

MAX_MEMORY_PERCENT =value
Menentukan total memori server yang dapat digunakan oleh permintaan di kumpulan sumber daya ini. nilai adalah bilangan bulat dengan pengaturan default 100. Rentang yang diizinkan untuk nilai adalah dari 1 hingga 100.

MIN_IOPS_PER_VOLUME =value
Berlaku untuk: SQL Server 2014 (12.x) dan yang lebih baru.

Menentukan operasi I/O minimum per detik (IOPS) per volume disk yang akan dicadangkan untuk kumpulan sumber daya. Rentang yang diperbolehkan untuk nilai adalah dari 0 hingga 2^31-1 (2.147.483.647). Tentukan 0 untuk menunjukkan tidak ada ambang minimum untuk kumpulan.

MAX_IOPS_PER_VOLUME =value
Berlaku untuk: SQL Server 2014 (12.x) dan yang lebih baru.

Menentukan operasi I/O maksimum per detik (IOPS) per volume disk untuk memungkinkan kumpulan sumber daya. Rentang yang diperbolehkan untuk nilai adalah dari 0 hingga 2^31-1 (2.147.483.647). Tentukan 0 untuk mengatur ambang batas tak terbatas untuk kumpulan. Defaultnya adalah 0.

Jika MAX_IOPS_PER_VOLUME untuk kumpulan diatur ke 0, kumpulan tidak diatur sama sekali dan dapat mengambil semua IOPS dalam sistem bahkan jika kumpulan lain memiliki kumpulan MIN_IOPS_PER_VOLUME yang ditetapkan. Untuk kasus ini, kami sarankan Anda menetapkan nilai MAX_IOPS_PER_VOLUME untuk kumpulan ini ke angka tinggi (misalnya, nilai maksimum 2^31-1) jika Anda ingin kumpulan ini diatur untuk IO.

Keterangan

MAX_CPU_PERCENT dan MAX_MEMORY_PERCENT masing-masing harus lebih besar dari atau sama dengan MIN_CPU_PERCENT dan MIN_MEMORY_PERCENT.

MAX_CPU_PERCENT dapat menggunakan kapasitas CPU di atas nilai MAX_CPU_PERCENT jika tersedia. Meskipun mungkin ada lonjakan berkala di atas CAP_CPU_PERCENT, beban kerja tidak boleh melebihi CAP_CPU_PERCENT untuk jangka waktu yang lama, bahkan ketika kapasitas CPU tambahan tersedia.

Persentase CPU total untuk setiap komponen afinitas (penjadwal atau simpul NUMA) tidak boleh melebihi 100%.

Saat Anda menjalankan pernyataan DDL, kami sarankan Anda terbiasa dengan status Resource Governor. Untuk informasi selengkapnya, lihat Resource Governor.

Saat mengubah rencana yang memengaruhi pengaturan, pengaturan baru hanya akan berlaku dalam paket yang di-cache sebelumnya setelah menjalankan DBCC FREEPROCCACHE (pool_name), di mana pool_name adalah nama kumpulan sumber daya Resource Governor.

  • Jika Anda mengubah AFFINITY dari beberapa penjadwal ke satu penjadwal, menjalankan DBCC FREEPROCCACHE tidak diperlukan karena paket paralel dapat berjalan dalam mode serial. Namun, mungkin tidak seefisien rencana yang dikompilasi sebagai rencana serial.

  • Jika Anda mengubah AFFINITY dari satu penjadwal ke beberapa penjadwal, menjalankan 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 rencana 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.

Izin

Memerlukan izin SERVER KONTROL.

Contoh

Contoh berikut menyimpan semua pengaturan kumpulan sumber daya default pada default kumpulan kecuali , MAX_CPU_PERCENTyang diubah menjadi 25.

ALTER RESOURCE POOL "default"  
WITH  
     ( MAX_CPU_PERCENT = 25);  
GO  
ALTER RESOURCE GOVERNOR RECONFIGURE;  
GO  

Dalam contoh berikut, CAP_CPU_PERCENT menetapkan huruf keras ke 80% dan AFFINITY SCHEDULER diatur ke nilai individu 8 dan rentang 12 hingga 16.

Berlaku untuk: SQL Server 2012 (11.x) dan yang lebih baru.

ALTER RESOURCE POOL Pool25  
WITH(   
     MIN_CPU_PERCENT = 5,  
     MAX_CPU_PERCENT = 10,       
     CAP_CPU_PERCENT = 80,  
     AFFINITY SCHEDULER = (8, 12 TO 16),   
     MIN_MEMORY_PERCENT = 5,  
     MAX_MEMORY_PERCENT = 15  
);  
  
GO  
ALTER RESOURCE GOVERNOR RECONFIGURE;  
GO  

Lihat juga

Resource Governor
BUAT KUMPULAN SUMBER DAYA (Transact-SQL)
DROP RESOURCE POOL (Transact-SQL)
CREATE WORKLOAD GROUP (Transact-SQL)
ALTER WORKLOAD GROUP (Transact-SQL)
DROP WORKLOAD GROUP (Transact-SQL)
ALTER RESOURCE GOVERNOR (Transact-SQL)