BUAT KUMPULAN SUMBER DAYA (Transact-SQL)

Berlaku untuk:SQL ServerAzure SQL Managed Instance

Membuat kumpulan sumber daya Resource Governor di SQL Server. Kumpulan sumber daya mewakili subset sumber daya fisik (memori, CPU, dan IO) dari instans Mesin Database. Resource Governor memungkinkan administrator database untuk mendistribusikan sumber daya server di antara kumpulan sumber daya, hingga maksimum 64 kumpulan. Resource Governor tidak tersedia di setiap edisi SQL Server. Untuk daftar fitur yang didukung oleh edisi SQL Server, lihat Fitur yang Didukung oleh Edisi SQL Server 2016.

Konvensi sintaks transact-SQL

Sintaksis

CREATE RESOURCE POOL pool_name  
[ 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 (12.x) dan versi yang lebih lama, lihat Dokumentasi versi sebelumnya.

Argumen

pool_name
Adalah nama yang ditentukan pengguna untuk kumpulan sumber daya. pool_name alfanumerik, dapat mencapai 128 karakter, harus unik dalam instans SQL Server, dan harus mematuhi aturan untuk pengidentifikasi.

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 dalam 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 batas keras pada bandwidth CPU yang akan diterima semua permintaan di kumpulan sumber daya. Membatasi tingkat bandwidth CPU maksimum agar sama dengan nilai yang ditentukan. nilai adalah bilangan bulat dengan pengaturan default 100. Rentang yang diizinkan untuk nilai adalah dari 1 hingga 100.

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 NUMANODE = (<NUMA_node_range_spec>), kumpulan sumber daya diafinisiskan ke penjadwal SQL Server yang memetakan ke CPU fisik yang sesuai dengan simpul atau rentang simpul NUMA 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 untuk dicadangkan untuk kumpulan sumber daya. Rentang nilai yang diizinkan adalah dari 0 hingga 2^31-1 (2.147.483.647). Tentukan 0 untuk menunjukkan tidak ada ambang minimum untuk kumpulan. Defaultnya adalah 0.

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 nilai yang diizinkan adalah dari 0 hingga 2^31-1 (2.147.483.647). Tentukan 0 untuk mengatur ambang batas tak terbatas untuk kumpulan. Defaultnya adalah 0.

MAX_IOPS_PER_VOLUME Jika 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 diatur. Untuk kasus ini, kami sarankan Anda menetapkan MAX_IOPS_PER_VOLUME nilai untuk kumpulan ini ke angka tinggi (misalnya, nilai maksimum 2^31-1) jika Anda ingin kumpulan ini diatur untuk IO.

Keterangan

MIN_IOPS_PER_VOLUME dan MAX_IOPS_PER_VOLUME tentukan bacaan atau tulis minimum dan maksimum per detik. Pembacaan atau penulisan ini dapat memiliki ukuran apa pun dan tidak menunjukkan throughput minimum atau maksimum.

Nilai untuk MAX_CPU_PERCENT dan MAX_MEMORY_PERCENT harus lebih besar dari atau sama dengan nilai untuk MIN_CPU_PERCENT dan MIN_MEMORY_PERCENT, masing-masing.

CAP_CPU_PERCENT berbeda dari MAX_CPU_PERCENT dalam beban kerja yang terkait dengan kumpulan dapat menggunakan kapasitas CPU di atas nilai MAX_CPU_PERCENT jika tersedia, tetapi tidak di atas nilai CAP_CPU_PERCENT.

Persentase CPU total untuk setiap komponen yang difinisikan (penjadwal atau node NUMA) tidak boleh melebihi 100 persen.

Izin

Memerlukan CONTROL SERVER izin.

Contoh

1. Menunjukkan cara membuat kumpulan sumber daya

Contoh ini membuat kumpulan sumber daya bernama "bigPool". Kumpulan ini menggunakan pengaturan Resource Governor default.

CREATE RESOURCE POOL bigPool;  
GO  
ALTER RESOURCE GOVERNOR RECONFIGURE;  
GO  

2. Atur CAP_CPU_PERCENT ke huruf besar/kecil dan atur AFFINITY SCHEDULER

Atur CAP_CPU_PERCENT ke topi keras 30 persen dan atur AFFINITY SCHEDULER ke kisaran 0 hingga 63, 128 hingga 191.

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

CREATE RESOURCE POOL PoolAdmin  
WITH (  
     MIN_CPU_PERCENT = 10,  
     MAX_CPU_PERCENT = 20,  
     CAP_CPU_PERCENT = 30,  
     AFFINITY SCHEDULER = (0 TO 63, 128 TO 191),  
     MIN_MEMORY_PERCENT = 5,  
     MAX_MEMORY_PERCENT = 15  
      );  

3. Atur MIN_IOPS_PER_VOLUME dan MAX_IOPS_PER_VOLUME

Atur MIN_IOPS_PER_VOLUME ke 20 dan MAX_IOPS_PER_VOLUME ke 100. Nilai-nilai ini mengatur operasi baca dan tulis I/O fisik yang tersedia untuk kumpulan sumber daya.

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

CREATE RESOURCE POOL PoolAdmin  
WITH (  
    MIN_IOPS_PER_VOLUME = 20,  
    MAX_IOPS_PER_VOLUME = 100  
      );  

Lihat Juga

UBAH KUMPULAN SUMBER DAYA (Transact-SQL)
DROP RESOURCE POOL (Transact-SQL)
CREATE WORKLOAD GROUP (Transact-SQL)
UBAH GRUP BEBAN KERJA (Transact-SQL)
DROP WORKLOAD GROUP (Transact-SQL)
ALTER RESOURCE GOVERNOR (Transact-SQL)
Kumpulan Sumber Daya Resource Governor
Membuat Pusat Sumber Daya