Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk: SQL Server
Azure SQL Managed Instance
Membuat gubernur sumber daya kumpulan sumber daya. Kumpulan sumber daya mewakili subset sumber daya fisik (CPU, memori, dan IO) instans Mesin Database. Resource governor memungkinkan Anda untuk memesan atau membatasi sumber daya server di antara kumpulan sumber daya, hingga maksimum 64 kumpulan.
Gubernur sumber daya 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.
Nota
Untuk Azure SQL Managed Instance, Anda harus berada dalam konteks database master untuk memodifikasi konfigurasi gubernur sumber daya.
Sintaks
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]
Argumen
pool_name
Adalah nama yang ditentukan pengguna untuk kumpulan sumber daya. pool_name alfanumerik, dapat mencapai 128 karakter, harus unik dalam instans Mesin Database, dan harus mematuhi aturan untuk pengidentifikasi Database .
MIN_CPU_PERCENT = nilai
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 = nilai
Menentukan bandwidth CPU rata-rata maksimum yang 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 = nilai
Berlaku untuk: SQL Server 2012 (11.x) dan yang lebih baru.
Menentukan batas keras pada bandwidth CPU yang 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.
Nota
Karena sifat statistik tata kelola CPU, Anda mungkin melihat lonjakan pendek 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.
Menentukan <scheduler_range_spec> untuk AFFINITY SCHEDULER mendefinisikan kumpulan sumber daya ke penjadwal Mesin Database yang diidentifikasi oleh ID yang diberikan. ID ini memetakan ke nilai di kolom scheduler_id di sys.dm_os_schedulers.
Menentukan <NUMA_node_range_spec> untuk AFFINITY NUMANODE mendefinisikan kumpulan sumber daya ke penjadwal Mesin Database yang memetakan ke CPU logis yang sesuai dengan simpul NUMA yang diberikan atau rentang simpul. Anda dapat menggunakan kueri Transact-SQL berikut untuk menemukan pemetaan antara konfigurasi NUMA fisik dan ID penjadwal Mesin Database.
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 = nilai
Menentukan jumlah minimum memori ruang kerja kueri yang dicadangkan untuk kumpulan sumber daya 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 = nilai
Menentukan jumlah maksimum memori ruang kerja kueri yang meminta dalam kumpulan sumber daya ini dapat digunakan. nilai adalah bilangan bulat dengan pengaturan default 100. Rentang yang diizinkan untuk nilai adalah dari 1 hingga 100.
MIN_IOPS_PER_VOLUME = nilai
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 minimum untuk kumpulan. Defaultnya adalah 0.
MAX_IOPS_PER_VOLUME = nilai
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 menghapus batas IOPS untuk kumpulan. Defaultnya adalah 0.
Jika MAX_IOPS_PER_VOLUME untuk kumpulan diatur ke 0, kumpulan tidak diatur IO 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 nilai MAX_IOPS_PER_VOLUME untuk kumpulan ini ke angka tinggi (misalnya, nilai maksimum 2^31-1) untuk membuat kumpulan ini diatur IO dan untuk menghormati reservasi IOPS yang mungkin ada untuk kumpulan lain.
Keterangan
Jumlah MIN_CPU_PERCENT atau MIN_MEMORY_PERCENT untuk semua kumpulan sumber daya tidak boleh melebihi 100 persen.
MIN_IOPS_PER_VOLUME dan MAX_IOPS_PER_VOLUME menentukan IO minimum dan maksimum per detik. IO dapat berupa baca atau tulis, dan dapat dalam ukuran apa pun. Oleh karena itu, dengan batas IOPS yang sama, throughput IO minimum dan maksimum dapat bervariasi tergantung pada campuran ukuran IO dalam beban kerja.
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. Meskipun mungkin ada lonjakan pendek yang lebih tinggi dari 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 yang difinisikan (penjadwal atau node NUMA) tidak boleh melebihi 100 persen.
Untuk informasi selengkapnya, lihat gubernur sumber daya
Izin
Memerlukan izin CONTROL SERVER.
Contoh
Untuk contoh konfigurasi gubernur sumber daya tambahan, lihat contoh konfigurasi gubernur sumber daya dan praktik terbaik.
Membuat kumpulan sumber daya
Contoh ini membuat kumpulan sumber daya bernama bigPool. Kumpulan ini menggunakan pengaturan gubernur sumber daya default.
CREATE RESOURCE POOL bigPool;
ALTER RESOURCE GOVERNOR RECONFIGURE;
Mengatur reservasi dan batasan CPU dan memori
Contoh ini mengonfigurasi kumpulan sumber daya adhocPool sebagai berikut:
- Mencadangkan 10 persen CPU dan 5 persen memori ruang kerja kueri menggunakan
MIN_CPU_PERCENTdanMIN_MEMORY_PERCENTmasing-masing. - Mengatur batas memori ruang kerja kueri 15 persen menggunakan
MAX_MEMORY_PERCENT. - Menetapkan batas CPU lunak 20 persen dengan batas CPU keras 30 persen menggunakan
MAX_CPU_PERCENTdanCAP_CPU_PERCENTmasing-masing. - Afinisis kumpulan ke dua rentang CPU logis (0 hingga 63 dan 128 hingga 191) menggunakan
AFFINITY SCHEDULER.
Berlaku untuk: SQL Server 2012 (11.x) dan yang lebih baru.
CREATE RESOURCE POOL adhocPool
WITH (
MIN_CPU_PERCENT = 10,
MAX_CPU_PERCENT = 20,
CAP_CPU_PERCENT = 30,
MIN_MEMORY_PERCENT = 5,
MAX_MEMORY_PERCENT = 15,
AFFINITY SCHEDULER = (0 TO 63, 128 TO 191)
);
Mengatur reservasi dan batas IOPS
Contoh ini mencadangkan 200 IOPS per volume untuk kumpulan menggunakan MIN_IOPS_PER_VOLUME, dan membatasi IOPS per volume hingga 1000 menggunakan MAX_IOPS_PER_VOLUME. Nilai-nilai ini mengatur total operasi baca dan tulis I/O fisik yang tersedia untuk permintaan menggunakan kumpulan sumber daya.
Berlaku untuk: SQL Server 2014 (12.x) dan yang lebih baru.
CREATE RESOURCE POOL PoolAdmin
WITH (
MIN_IOPS_PER_VOLUME = 200,
MAX_IOPS_PER_VOLUME = 1000
);
Konten terkait
- tutorial : Contoh konfigurasi gubernur sumber daya dan praktik terbaik
- Gubernur sumber daya
- kumpulan sumber daya gubernur sumber daya
- Membuat kumpulan sumber daya
-
MENGUBAH KUMPULAN SUMBER DAYA - KUMPULAN SUMBER DAYA DROP
- MEMBUAT GRUP BEBAN KERJA
- MENGUBAH GRUP BEBAN KERJA
- GRUP BEBAN KERJA DROP
- ALTER RESOURCE GOVERNOR