Mengurangi Beban Penyetelan Server Produksi

Berlaku untuk:SQL ServerAzure SQL Database

Database Engine Tuning Advisor bergantung pada pengoptimal kueri untuk menganalisis beban kerja dan membuat rekomendasi penyetelan. Melakukan analisis ini pada server produksi menambah beban server dan dapat merusak performa server selama sesi penyetelan. Anda dapat mengurangi dampak pada beban server selama sesi penyetelan dengan menggunakan server pengujian selain server produksi.

Cara Database Engine Tuning Advisor Menggunakan Server Pengujian

Cara tradisional untuk menggunakan server pengujian adalah dengan menyalin semua data dari server produksi Anda ke server pengujian Anda, menyetel server pengujian, lalu menerapkan rekomendasi di server produksi Anda. Proses ini menghilangkan dampak performa pada server produksi Anda, tetapi bagaimanapun bukan solusi optimal. Misalnya, menyalin data dalam jumlah besar dari produksi ke server pengujian dapat mengonsumsi sejumlah besar waktu dan sumber daya. Selain itu, perangkat keras server pengujian jarang sekuat perangkat keras yang disebarkan untuk server produksi. Proses penyetelan bergantung pada pengoptimal kueri, dan rekomendasi yang dihasilkannya didasarkan sebagian pada perangkat keras yang mendasar. Jika perangkat keras server pengujian dan produksi tidak identik, kualitas rekomendasi Database Engine Tuning Advisor berkurang.

Untuk menghindari masalah ini, Database Engine Tuning Advisor menyetel database di server produksi dengan membongkar sebagian besar beban penyetelan ke server pengujian. Ini dilakukan dengan menggunakan informasi konfigurasi perangkat keras server produksi dan tanpa benar-benar menyalin data dari server produksi ke server pengujian. Database Engine Tuning Advisor tidak menyalin data aktual dari server produksi ke server pengujian. Ini hanya menyalin metadata dan statistik yang diperlukan.

Langkah-langkah berikut menguraikan proses untuk menyetel database produksi di server pengujian:

  1. Pastikan bahwa pengguna yang ingin menggunakan server pengujian ada di kedua server.

    Sebelum memulai, pastikan bahwa pengguna yang ingin menggunakan server pengujian untuk menyetel database di server produksi ada di kedua server. Ini mengharuskan Anda membuat pengguna dan loginnya di server pengujian. Jika Anda adalah anggota peran server tetap sysadmin di kedua komputer, langkah ini tidak diperlukan.

  2. Sesuaikan beban kerja di server pengujian.

    Untuk menyetel beban kerja di server pengujian, Anda harus menggunakan file input XML dengan utilitas baris perintah dta . Dalam file input XML, tentukan nama server pengujian Anda dengan subelemen TestServer selain menentukan nilai untuk subelemen lain di bawah elemen induk TuningOptions .

    Selama proses penyetelan, Database Engine Tuning Advisor membuat database shell di server pengujian. Untuk membuat database shell ini dan menyetelnya, Database Engine Tuning Advisor melakukan panggilan ke server produksi untuk hal berikut:

    1. Database Engine Tuning Advisor mengimpor metadata dari database produksi ke database shell server pengujian. Metadata ini mencakup tabel kosong, indeks, tampilan, prosedur tersimpan, pemicu, dan sebagainya. Hal ini memungkinkan kueri beban kerja dijalankan terhadap database shell server pengujian.

    2. Database Engine Tuning Advisor mengimpor statistik dari server produksi sehingga pengoptimal kueri dapat mengoptimalkan kueri secara akurat di server pengujian.

    3. Database Engine Tuning Advisor mengimpor parameter perangkat keras yang menentukan jumlah prosesor dan memori yang tersedia dari server produksi untuk menyediakan pengoptimal kueri dengan informasi yang diperlukan untuk menghasilkan rencana kueri.

  3. Setelah Database Engine Tuning Advisor selesai menyetel database shell server pengujian, database tersebut menghasilkan rekomendasi penyetelan.

  4. Terapkan rekomendasi yang diterima dari penyetelan server pengujian ke server produksi.

Ilustrasi berikut menunjukkan server pengujian dan skenario server produksi:

Database Engine Tuning Advisor test server usage

Catatan

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

Contoh

Pertama, pastikan bahwa pengguna yang ingin melakukan penyetelan ada di server pengujian dan produksi.

Setelah informasi pengguna disalin ke server pengujian, Anda dapat menentukan sesi penyetelan server pengujian di file input XML Database Engine Tuning Advisor. Contoh file input XML berikut mengilustrasikan cara menentukan server pengujian untuk menyetel database dengan Database Engine Tuning Advisor.

Dalam contoh ini, MyDatabaseName database sedang disetel pada MyServerName. Skrip Transact-SQL, MyWorkloadScript.sql, digunakan sebagai beban kerja. Beban kerja ini berisi peristiwa yang dijalankan terhadap MyDatabaseName. Sebagian besar panggilan pengoptimal kueri ke database ini, yang terjadi sebagai bagian dari proses penyetelan, ditangani oleh database shell yang berada di MyTestServerName. Database shell terdiri dari metadata dan statistik. Proses ini menghasilkan overhead penyetelan yang dilepaskan ke server pengujian. Ketika Database Engine Tuning Advisor menghasilkan rekomendasi penyetelannya menggunakan file input XML ini, itu harus mempertimbangkan indeks saja (<FeatureSet>IDX</FeatureSet>), tidak ada partisi, dan tidak perlu menyimpan struktur desain fisik yang ada di MyDatabaseName.

<?xml version="1.0" encoding="utf-16" ?>  
<DTAXML xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/sqlserver/2004/07/dta">  
  <DTAInput>  
    <Server>  
      <Name>MyServerName</Name>  
      <Database>  
        <Name>MyDatabaseName</Name>  
      </Database>  
    </Server>  
    <Workload>  
      <File>MyWorkloadScript.sql</File>  
    </Workload>  
    <TuningOptions>  
      <TestServer>MyTestServerName</TestServer>  
      <FeatureSet>IDX</FeatureSet>  
      <Partitioning>NONE</Partitioning>  
      <KeepExisting>NONE</KeepExisting>  
    </TuningOptions>  
  </DTAInput>  
</DTAXML>  

Lihat Juga

Pertimbangan untuk Menggunakan Server Pengujian
Referensi File Input XML (Database Engine Tuning Advisor)