Bagikan melalui


Pertimbangan untuk Menggunakan Server Pengujian

Berlaku untuk:SQL Server

Menggunakan server pengujian untuk menyetel database di server produksi adalah manfaat penting dari Database Engine Tuning Advisor. Dengan menggunakan fitur ini, Anda dapat membongkar overhead penyetelan ke server pengujian tanpa menyalin data aktual ke server pengujian dari server produksi.

Catatan

Fitur penyetelan server pengujian tidak didukung di antarmuka pengguna grafis (GUI) Database Engine Tuning Advisor.

Agar fitur ini berhasil digunakan, tinjau pertimbangan yang tercantum di bagian berikut.

Menyiapkan Lingkungan Server Pengujian/Server Produksi

  • Pengguna yang ingin menggunakan server pengujian untuk menyetel database di server produksi harus ada di kedua server, atau skenario ini tidak akan berfungsi.

  • Prosedur tersimpan yang diperluas, xp_msver, harus diaktifkan untuk menggunakan skenario server pengujian/server produksi. Database Engine Tuning Advisor menggunakan prosedur tersimpan yang diperluas ini untuk mengambil jumlah prosesor dan memori server produksi yang tersedia untuk digunakan saat menyetel server pengujian. Jika xp_msver tidak diaktifkan, 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. Prosedur tersimpan yang diperluas ini diaktifkan secara default saat Anda menginstal SQL Server. Untuk informasi selengkapnya, lihat Konfigurasi Area Permukaan dan xp_msver (Transact-SQL).

  • Database Engine Tuning Advisor mengharapkan edisi SQL Server sama di server pengujian dan server produksi. Jika ada dua edisi yang berbeda, edisi pada server pengujian lebih diutamakan. Misalnya, jika server pengujian menjalankan Standar SQL Server, Database Engine Tuning Advisor tidak akan menyertakan tampilan terindeks, partisi, dan operasi online dalam rekomendasinya bahkan jika server produksi menjalankan SQL Server Enterprise.

Tentang Perilaku Server Pengujian/Server Produksi

  • Database Engine Tuning Advisor memperhitungkan perbedaan perangkat keras antara produksi dan server pengujian saat membuat rekomendasi. Rekomendasinya sama seolah-olah penyetelan dilakukan pada server produksi saja.

  • Database Engine Tuning Advisor dapat memberlakukan beberapa beban pada server produksi untuk mengumpulkan metadata serta pembuatan statistik yang diperlukan untuk penyetelan.

  • Database Engine Tuning Advisor tidak menyalin data aktual dari server produksi ke server pengujian. Ini hanya menyalin metadata database dan statistik yang diperlukan.

  • Semua informasi sesi disimpan dalam msdb di server produksi. Ini memungkinkan Anda untuk mengeksploitasi server pengujian yang tersedia untuk penyetelan, dan informasi tentang semua sesi tersedia di satu tempat (server produksi).

  • Setelah penyetelan, Database Engine Tuning Advisor harus menghapus metadata apa pun yang dibuatnya di server pengujian selama proses penyetelan. Ini termasuk database shell. Jika Anda melakukan serangkaian sesi penyetelan dengan server produksi dan pengujian yang sama, Anda mungkin ingin mempertahankan database shell ini untuk menghemat waktu. Dalam file input XML, tentukan subelemen RetainShellDB dengan sub elemen lain di bawah elemen induk TuningOptions . Menggunakan opsi ini menyebabkan Database Engine Tuning Advisor mempertahankan database shell. Untuk informasi selengkapnya, lihat Referensi File Input XML (Database Engine Tuning Advisor).

  • Database shell mungkin tertinggal di server pengujian setelah sesi penyetelan server pengujian/server produksi berhasil meskipun Anda belum menentukan subelemen RetainShellDB . Database shell yang tidak diinginkan ini dapat mengganggu sesi penyetelan berikutnya dan harus dihilangkan sebelum melakukan sesi penyetelan server pengujian/server produksi lainnya. Selain itu, jika sesi penyetelan keluar secara tak terduga, database shell di server pengujian dan objek dalam database tersebut mungkin tertinggal di server pengujian. Anda juga harus menghapus database dan objek ini sebelum memulai sesi penyetelan server pengujian/server produksi baru.

  • Pengguna harus memeriksa log penyetelan untuk kesalahan penyetelan yang dihasilkan dari perbedaan antara server produksi dan pengujian, dan untuk kesalahan yang dihasilkan dari menyalin metadata dari produksi ke server pengujian. Misalnya, login pengguna mungkin tidak ada di server pengujian. Jika login pengguna tidak ada di server pengujian, peristiwa dalam beban kerja yang dikeluarkan oleh login pengguna tersebut mungkin tidak dapat disetel. Gunakan GUI Database Engine Tuning Advisor untuk melihat log penyetelan. Untuk informasi selengkapnya, lihat Menampilkan dan Bekerja dengan Output dari Database Engine Tuning Advisor

  • Jika Database Engine Tuning Advisor tidak dapat menyetel banyak peristiwa karena objek hilang dalam database shell yang dibuat Database Engine Tuning Advisor di server pengujian, pengguna harus memeriksa log penyetelan. Peristiwa yang tidak dapat disetel tercantum dalam log. Agar berhasil menyetel database di server pengujian, pengguna harus membuat objek yang hilang di database shell, lalu memulai sesi penyetelan baru.

  • Jika database dengan nama yang sama sudah ada di server pengujian, Database Engine Tuning Advisor tidak menyalin metadata, tetapi melanjutkan penyetelan dan mengumpulkan statistik seperlunya. Ini berguna jika pengguna telah membuat database di server pengujian dan telah menyalin metadata yang sesuai sebelum memanggil Database Engine Tuning Advisor.

  • Jika opsi DATE_CORRELATION_OPTIMIZATION diaktifkan untuk database di server produksi, metadata dan data yang terkait dengan opsi ini tidak sepenuhnya diskrip saat menyetel server pengujian. Saat penyetelan dilakukan untuk skenario server pengujian/server produksi, masalah berikut mungkin berlaku:

    • Pengguna dapat memiliki paket kueri yang berbeda di server untuk kueri yang menggunakan opsi DATE_CORRELATION_OPTIMIZATION.

    • Database Engine Tuning Advisor dapat menyarankan penghapusan tampilan terindeks yang memberlakukan opsi DATE_CORRELATION_OPTIMIZATION dalam skrip rekomendasi.

    Oleh karena itu, Anda mungkin ingin mengabaikan rekomendasi apa pun yang dihasilkan Database Engine Tuning Advisor tentang tampilan terindeks yang menyimpan statistik korelasi karena Database Engine Tuning Advisor mengetahui biayanya tetapi bukan manfaatnya. Database Engine Tuning Advisor mungkin tidak merekomendasikan pemilihan indeks tertentu seperti indeks berkluster pada kolom tanggalwaktu , yang dapat bermanfaat ketika DATE_CORRELATION_OPTIMIZATION diaktifkan.

    Untuk menentukan apakah tampilan didasarkan pada statistik korelasi, pilih kolom is_date_correlation_view tampilan katalog sys.views.