Bagikan melalui


Penyetelan otomatis di Azure SQL Database dan Azure SQL Managed Instance

Berlaku untuk: Azure SQL Database Azure SQL Managed Instance

Penyetelan otomatis Azure SQL Database dan Azure SQL Managed Instance memberikan performa puncak dan beban kerja yang stabil melalui penyetelan performa berkelanjutan berdasarkan AI dan pembelajaran mesin.

Penyetelan otomatis merupakan layanan performa cerdas terkelola sepenuhnya yang menggunakan kecerdasan bawaan untuk terus memantau kueri yang dijalankan pada database dan secara otomatis meningkatkan performanya. Hal ini dicapai dengan mengadaptasi database secara dinamis untuk mengubah beban kerja dan menerapkan rekomendasi penyetelan. Penyetelan otomatis belajar secara horizontal dari semua database di Azure hingga AI, dan secara dinamis meningkatkan tindakan penyetelannya. Semakin lama database berjalan dengan penyetelan otomatis, semakin baik kinerjanya.

Penyetelan otomatis Azure SQL Database dan Azure SQL Managed Instance mungkin merupakan salah satu fitur paling berdampak yang dapat Anda aktifkan untuk menyediakan beban kerja database yang stabil dan berkinerja puncak.

Penyetelan otomatis Azure SQL berbagi logika intinya dengan fitur penyetelan otomatis SQL Server di mesin database. Untuk informasi teknis tambahan tentang mekanisme kecerdasan bawaan, lihat penyetelan otomatis SQL Server.

Apa yang dapat dilakukan penyetelan otomatis untuk Anda

  • Penyetelan performa database otomatis
  • Verifikasi otomatis perolehan performa
  • Putar kembali otomatis dan koreksi diri
  • Riwayat penyetelan
  • Menyetel tindakan skrip Transact-SQL (T-SQL) untuk penyebaran manual
  • Peluasan skala kemampuan pada ratusan ribu database
  • Dampak positif terhadap sumber daya Azure DevOps dan total biaya kepemilikan

Aman, andal, dan terbukti

Operasi penyetelan yang diterapkan pada database sepenuhnya aman untuk performa beban kerja Anda yang paling intens. Sistem telah dirancang dengan hati-hati untuk tidak mengganggu beban kerja pengguna. Rekomendasi penyetelan otomatis hanya diterapkan pada saat pemanfaatan CPU, IO Data, dan IO Log yang rendah. Sistem juga dapat menonaktifkan operasi penyetelan otomatis untuk sementara untuk melindungi performa beban kerja. Dalam kasus seperti itu, pesan "Dinonaktifkan oleh sistem" akan ditampilkan di portal Azure dan di DMV sys.database_automatic_tuning_options. Penyetelan otomatis dirancang untuk memberi beban kerja pengguna prioritas sumber daya tertinggi.

Mekanisme penyetelan otomatis ini matang dan telah disempurnakan pada beberapa juta database yang berjalan di Azure. Operasi penyetelan otomatis yang diterapkan diverifikasi secara otomatis untuk memastikan ada peningkatan positif yang penting pada performa beban kerja. Jika tidak ada peningkatan, atau dalam regresi performa yang tidak mungkin terjadi, perubahan yang dilakukan oleh penyetelan otomatis segera dikembalikan. Melalui riwayat penyetelan yang direkam, ada jejak yang jelas dari penyetelan peningkatan yang dilakukan pada setiap database di Azure SQL Database.

Bagaimana cara kerja penyetelan otomatis

Mengaktifkan penyetelan otomatis

Opsi penyetelan otomatis

Opsi penyetelan otomatis yang tersedia di Azure SQL Database dan Azure SQL Managed Instance adalah:

Opsi penyetelan otomatis Deskripsi Database tunggal dan dukungan database kumpulan Dukungan database instans
MEMBUAT INDEKS Mengidentifikasi indeks yang dapat meningkatkan performa beban kerja Anda, membuat indeks, dan secara otomatis memverifikasi bahwa performa kueri telah meningkat. Saat merekomendasikan indeks baru, sistem mempertimbangkan ruang yang tersedia dalam database. Jika penambahan indeks diperkirakan meningkatkan pemanfaatan ruang hingga lebih dari 90% terhadap ukuran data maksimum, rekomendasi indeks tidak dihasilkan. Setelah sistem mengidentifikasi periode pemanfaatan rendah dan mulai membuat indeks, sistem tidak akan menjeda atau membatalkan operasi ini bahkan jika pemanfaatan sumber daya secara tiba-tiba meningkat. Jika pembuatan indeks gagal, pembuatan indeks akan dicoba kembali selama periode pemanfaatan rendah di masa mendatang. Rekomendasi indeks tidak disediakan untuk tabel di mana indeks atau timbunan berkluster lebih besar dari 10 GB. Ya Tidak
HILANGKAN INDEKS Menghilangkan indeks yang tidak digunakan (selama 90 hari terakhir) dan duplikat. Indeks unik, termasuk indeks yang mendukung kunci primer dan kendala unik, tidak pernah dihilangkan. Opsi ini bisa dinonaktifkan secara otomatis ketika kueri dengan petunjuk indeks ada dalam beban kerja, atau ketika beban kerja melakukan pengalihan partisi. Pada tingkat layanan Premium dan Business Critical, opsi ini tidak akan pernah menghilangkan indeks yang tidak digunakan, tetapi akan menghilangkan indeks duplikat, jika ada. Ya Tidak
FORCE LAST GOOD PLAN (koreksi rencana otomatis) Mengidentifikasi kueri Azure SQL menggunakan rencana eksekusi yang lebih lambat dari rencana baik sebelumnya, dan memaksa kueri untuk menggunakan rencana baik terakhir yang diketahui alih-alih rencana yang diregresi. Ya Ya

Penyetelan otomatis untuk Azure SQL Database

Penyetelan otomatis untuk Azure SQL Database menggunakan rekomendasi CREATE INDEX, DROP INDEX, dan FORCE_LAST_GOOD_PLAN database advisor untuk mengoptimalkan performa database Anda. Untuk informasi selengkapnya, lihat Rekomendasi advisor database di portal Microsoft Azure, di PowerShell, dan di REST API.

Anda dapat menerapkan rekomendasi penyetelan secara manual menggunakan portal Azure, atau Anda dapat membiarkan penyetelan otomatis secara otonom menerapkan rekomendasi penyetelan untuk Anda. Manfaat membiarkan sistem secara otonom menerapkan rekomendasi penyetelan untuk Anda adalah bahwa sistem secara otomatis memvalidasi ada keuntungan positif untuk performa beban kerja, dan jika tidak ada peningkatan performa yang signifikan yang terdeteksi atau jika performa meregresi, sistem secara otomatis mengembalikan perubahan yang dibuat. Bergantung pada frekuensi eksekusi kueri, proses validasi dapat memakan waktu dari 30 menit hingga 72 jam, membutuhkan waktu lebih lama untuk kueri yang lebih jarang dijalankan. Jika pada titik mana pun selama validasi regresi terdeteksi, perubahan akan segera dikembalikan.

Penting

Jika Anda menerapkan rekomendasi penyetelan melalui T-SQL, validasi performa otomatis dan mekanisme pembalikan tidak tersedia. Rekomendasi yang diterapkan dengan cara tersebut akan tetap aktif dan ditampilkan dalam daftar rekomendasi penyetelan selama 24-48 jam sebelum sistem secara otomatis menariknya. Jika Anda ingin menghapus rekomendasi lebih cepat, Anda dapat membuangnya dari portal Microsoft Azure.

Opsi penyetelan otomatis dapat diaktifkan atau dinonaktifkan secara independen untuk setiap database, atau dapat dikonfigurasi di tingkat server dan diterapkan pada setiap database yang mewarisi pengaturan dari server. Secara default, server baru mewarisi default Azure untuk pengaturan penyetelan otomatis. Default Azure diatur ke FORCE_LAST_GOOD_PLAN diaktifkan, CREATE_INDEX dinonaktifkan, dan DROP_INDEX dinonaktifkan.

Mengonfigurasi opsi penyetelan otomatis di server dan mewarisi pengaturan untuk database milik server induk adalah metode yang direkomendasikan untuk mengonfigurasi penyetelan otomatis. Ini menyederhanakan manajemen opsi penyetelan otomatis untuk sejumlah besar database.

Untuk mempelajari tentang membangun pemberitahuan alamat email untuk rekomendasi penyetelan otomatis, lihat Pemberitahuan alamat email untuk penyetelan otomatis.

Penyetelan otomatis untuk Azure SQL Managed Instance

Penyetelan otomatis untuk Azure SQL Managed Instance hanya mendukung FORCE LAST GOOD PLAN. Untuk informasi selengkapnya tentang mengonfigurasi opsi penyetelan otomatis melalui T-SQL, lihat Penyetelan otomatis memperkenalkan koreksi rencana otomatis dan Koreksi rencana otomatis.

Sampel untuk diaktifkan

Untuk mengetahui informasi selengkapnya, lihat Opsi MENGUBAH HIMPUNAN DATA.

Untuk mewarisi konfigurasi default dari server logis induk, gunakan T-SQL berikut. Dalam portal Azure, ini mencerminkan opsi untuk "Mewarisi dari: Server".

ALTER DATABASE CURRENT SET AUTOMATIC_TUNING = INHERIT;

Untuk mengaktifkan opsi penyetelan otomatis CREATE INDEX dan DROP INDEX , gunakan T-SQL berikut.

ALTER DATABASE CURRENT SET AUTOMATIC_TUNING (CREATE_INDEX = ON, DROP_INDEX = ON);

Riwayat penyetelan otomatis

Untuk Azure SQL Database, riwayat perubahan yang dilakukan oleh penyetelan otomatis dipertahankan selama 21 hari. Ini dapat dilihat di portal Azure pada halaman Rekomendasi performa untuk database, atau menggunakan PowerShell dengan cmdlet Get-AzSqlDatabaseRecommendedAction. Untuk retensi yang lebih lama, data riwayat juga dapat dialirkan ke beberapa jenis tujuan dengan mengaktifkan pengaturan diagnostik AutomaticTuning.