Bagikan melalui


Penasihat Penyetelan Mesin Database

Microsoft Database Engine Tuning Advisor (DTA) menganalisis database dan membuat rekomendasi yang dapat Anda gunakan untuk mengoptimalkan performa kueri. Anda dapat menggunakan Database Engine Tuning Advisor untuk memilih dan membuat sekumpulan indeks, tampilan terindeks, atau partisi tabel yang optimal tanpa memiliki pemahaman ahli tentang struktur database atau internal SQL Server. Dengan menggunakan DTA, Anda dapat melakukan tugas berikut.

  • Memecahkan masalah performa dari kueri yang bermasalah.

  • Menyetel sekumpulan besar kueri di satu atau beberapa basis data

  • Melakukan analisis eksploratif bagaimana-jika dari potensi perubahan desain fisik

  • Mengelola ruang penyimpanan

Manfaat Database Engine Tuning Advisor

Mengoptimalkan performa kueri bisa sulit tanpa pemahaman penuh tentang struktur database dan kueri yang dijalankan terhadap database. Database Engine Tuning Advisor dapat mempermudah tugas ini dengan menganalisis cache rencana kueri saat ini atau dengan menganalisis beban kerja kueri Transact-SQL yang Anda buat dan merekomendasikan desain fisik yang sesuai. Untuk administrator database yang lebih canggih, DTA mengekspos mekanisme yang kuat untuk melakukan analisis bagaimana-jika eksploratif dari alternatif desain fisik yang berbeda. DTA dapat memberikan informasi berikut.

  • Merekomendasikan campuran indeks terbaik untuk database dengan menggunakan pengoptimal kueri untuk menganalisis kueri dalam beban kerja.

  • Rekomendasikan partisi yang selaras atau tidak selaras untuk database yang disebutkan dalam beban kerja.

  • Merekomendasikan tampilan terindeks untuk database yang direferensikan dalam beban kerja.

  • Analisis efek perubahan yang diusulkan, termasuk penggunaan indeks, distribusi kueri di antara tabel, dan performa kueri dalam beban kerja.

  • Rekomendasikan cara untuk menyetel database untuk sejumlah kecil kueri yang bermasalah.

  • Memungkinkan Anda menyesuaikan rekomendasi dengan menentukan opsi tingkat lanjut seperti batasan ruang disk.

  • Berikan laporan yang meringkas efek penerapan rekomendasi untuk beban kerja tertentu.

Database Engine Tuning Advisor dirancang untuk menangani jenis beban kerja kueri berikut.

  • Kueri pemrosesan transaksi online (OLTP) saja

  • Hanya kueri pemrosesan analitik online (OLAP)

  • Kueri campuran OLTP dan OLAP

  • Beban kerja dengan banyak kueri (lebih banyak kueri daripada modifikasi data)

  • Beban kerja yang berat pembaruan (lebih banyak modifikasi data daripada kueri)

Komponen dan Konsep DTA

Antarmuka Pengguna Grafis untuk Database Engine Tuning Advisor
Antarmuka yang mudah digunakan di mana Anda dapat menentukan beban kerja dan memilih berbagai opsi penyetelan.

dta Utilitas
Versi command prompt dari Database Engine Tuning Advisor. Utilitas dta dirancang untuk memungkinkan Anda menggunakan fungsionalitas Konsultan Penyetelan Mesin Database dalam aplikasi dan skrip.

Beban kerja
File skrip Transact-SQL, file pelacakan, atau tabel pelacakan yang berisi beban kerja perwakilan untuk database yang ingin Anda sesuaikan. Dimulai dengan SQL Server 2012, Anda dapat menentukan cache rencana sebagai beban kerja.

File masukan XML
File berformat XML yang dapat digunakan Database Engine Tuning Advisor untuk menyetel beban kerja. File input XML mendukung opsi penyetelan tingkat lanjut yang tidak tersedia di utilitas GUI atau dta .

Batasan dan Pembatasan

Database Engine Tuning Advisor memiliki batasan dan batasan berikut.

  • Ini tidak dapat menambahkan atau menghilangkan indeks atau indeks unik yang memberlakukan batasan KUNCI PRIMER atau UNIK.

  • Ini tidak dapat menganalisis database yang diatur ke mode pengguna tunggal.

  • Jika Anda menentukan ruang disk maksimum untuk menyetel rekomendasi yang melebihi ruang aktual yang tersedia, Database Engine Tuning Advisor menggunakan nilai yang Anda tentukan. Namun, ketika Anda menjalankan skrip rekomendasi untuk mengimplementasikannya, skrip mungkin gagal jika lebih banyak ruang disk tidak ditambahkan terlebih dahulu. Ruang disk maksimum dapat ditentukan dengan opsi -B utilitas dta , atau dengan memasukkan nilai dalam kotak dialog Opsi Penyetelan Tingkat Lanjut .

  • Untuk alasan keamanan, Database Engine Tuning Advisor tidak dapat menyetel beban kerja dalam tabel pelacakan yang berada di server jarak jauh. Untuk mengatasi batasan ini, Anda dapat menggunakan file pelacakan alih-alih tabel pelacakan atau menyalin tabel pelacakan ke server jarak jauh.

  • Saat Anda memberlakukan batasan, seperti yang diberlakukan saat Anda menentukan ruang disk maksimum untuk menyetel rekomendasi (dengan menggunakan opsi -B atau kotak dialog Opsi Penyetelan Tingkat Lanjut ), Database Engine Tuning Advisor mungkin dipaksa untuk menghilangkan indeks tertentu yang ada. Dalam hal ini, rekomendasi Database Engine Tuning Advisor yang dihasilkan dapat menghasilkan peningkatan negatif yang diharapkan.

  • Saat Anda menentukan batasan untuk membatasi waktu penyetelan (dengan menggunakan opsi -A dengan utilitas dta atau dengan memeriksa Batasi waktu penyetelan pada tab Opsi Penyetelan ), Database Engine Tuning Advisor mungkin melebihi batas waktu tersebut untuk menghasilkan peningkatan yang diharapkan yang akurat dan laporan analisis untuk bagian beban kerja apa pun yang telah digunakan sejauh ini.

  • Database Engine Tuning Advisor mungkin tidak membuat rekomendasi dalam keadaan berikut:

    1. Tabel yang disetel berisi kurang dari 10 halaman data.

    2. Indeks yang direkomendasikan tidak akan menawarkan peningkatan performa kueri yang cukup atas desain database fisik saat ini.

    3. Pengguna yang menjalankan Database Engine Tuning Advisor bukan anggota db_owner peran database atau sysadmin peran server tetap. Kueri dalam beban kerja dianalisis dalam konteks keamanan pengguna yang menjalankan Database Engine Tuning Advisor. Pengguna harus menjadi anggota peran basis data db_owner.

  • Database Engine Tuning Advisor menyimpan data sesi penyetelan dan informasi lain dalam msdb database. Jika perubahan dilakukan pada msdb database, Anda mungkin berisiko kehilangan data sesi penyetelan. Untuk menghilangkan risiko ini, terapkan strategi pencadangan yang sesuai untuk msdb database.

Pertimbangan Performa

Database Engine Tuning Advisor dapat menggunakan sumber daya prosesor dan memori yang signifikan selama analisis. Untuk menghindari perlambatan server produksi Anda, ikuti salah satu strategi berikut:

  • Sesuaikan database Anda saat server Anda gratis. Database Engine Tuning Advisor dapat memengaruhi performa tugas pemeliharaan.

  • Gunakan fitur server pengujian/server produksi. Untuk informasi selengkapnya, lihat Mengurangi Beban Penyetelan Server Produksi.

  • Tentukan hanya struktur desain database fisik yang Anda inginkan untuk dianalisis oleh Database Engine Tuning Advisor. Database Engine Tuning Advisor menyediakan banyak opsi, tetapi hanya menentukan opsi yang diperlukan.

Ketergantungan pada Extended Stored Procedure xp_msver

Database Engine Tuning Advisor bergantung pada prosedur tersimpan yang diperluas xp_msver untuk menyediakan fungsionalitas penuh. Prosedur tersimpan yang diperluas ini diaktifkan secara default. Database Engine Tuning Advisor menggunakan prosedur tersimpan yang diperluas ini untuk mengambil jumlah prosesor dan memori yang tersedia di komputer tempat database yang Anda sesuaikan berada. Jika xp_msver tidak tersedia, Database Engine Tuning Advisor mengasumsikan karakteristik perangkat keras komputer tempat Database Engine Tuning Advisor berjalan. Jika karakteristik perangkat keras komputer tempat Database Engine Tuning Advisor berjalan tidak tersedia, satu prosesor dan 1024 megabyte (MB) memori diasumsikan.

Dependensi ini memengaruhi rekomendasi partisi karena jumlah partisi yang direkomendasikan tergantung pada dua nilai ini (jumlah prosesor dan memori yang tersedia). Dependensi juga memengaruhi hasil penyetelan Saat Anda menggunakan server pengujian untuk menyetel server produksi Anda. Dalam skenario ini, Database Engine Tuning Advisor menggunakan xp_msver untuk mengambil properti perangkat keras dari server produksi. Setelah menyetel beban kerja di server pengujian, Database Engine Tuning Advisor menggunakan properti perangkat keras ini untuk menghasilkan rekomendasi. Untuk informasi selengkapnya, lihat xp_msver (Transact-SQL).

Tugas Database Engine Tuning Advisor

Tabel berikut ini mencantumkan tugas Database Engine Tuning Advisor umum dan topik yang menjelaskan cara melakukannya.

Tugas Penyesuaian Mesin Basis Data Advisor Topik
Menginisialisasi dan memulai Database Engine Tuning Advisor.

Buat beban kerja dengan menentukan cache paket, dengan membuat skrip, atau dengan membuat file jejak atau tabel pelacakan.

Menyetel database dengan menggunakan alat antarmuka pengguna grafis Database Engine Tuning Advisor.

Buat file input XML untuk menyetel beban kerja.

Lihat deskripsi opsi antarmuka pengguna Database Engine Tuning Advisor.
Mulai dan Gunakan Konsultan Penyetelan Mesin Database
Lihat hasil operasi penyetelan database.

Pilih dan terapkan rekomendasi penyetelan.

Lakukan analisis eksploratif what-if pada beban kerja.

Tinjau sesi penyetelan yang ada, salin sesi berdasarkan sesi yang ada
atau edit rekomendasi penyetelan yang ada untuk evaluasi atau implementasi lebih lanjut.

Lihat deskripsi opsi antarmuka pengguna Database Engine Tuning Advisor.
Menampilkan dan Bekerja dengan Output dari Konsultan Penyetelan Mesin Database