Operasi log di Analysis Services
Berlaku untuk: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium
Instans Analysis Services akan mencatat pemberitahuan, kesalahan, dan peringatan server ke file msmdsrv.log - satu untuk setiap instans yang Anda instal. Administrator mengacu pada log ini untuk wawasan tentang peristiwa rutin dan luar biasa. Dalam rilis terbaru, pengelogan telah ditingkatkan untuk menyertakan informasi lebih lanjut. Catatan log sekarang mencakup versi produk dan informasi edisi, serta prosesor, memori, konektivitas, dan peristiwa pemblokiran. Anda dapat meninjau seluruh daftar perubahan di Penyempurnaan pengelogan.
Selain fitur pengelogan bawaan, banyak administrator dan pengembang juga menggunakan alat yang disediakan oleh komunitas Analysis Services untuk mengumpulkan data tentang operasi server, seperti ASTrace.
Topik ini berisi bagian berikut:
Lokasi dan jenis log
Analysis Services menyediakan log yang dijelaskan di bawah ini.
Nama file atau Lokasi | Jenis | Digunakan untuk | Aktif secara default |
---|---|---|---|
Msmdsrv.log | Log galat | Pemantauan rutin dan pemecahan masalah dasar | Ya |
Tabel OlapQueryLog dalam database relasional | Log Kueri | Mengumpulkan input untuk Wizard Pengoptimalan Penggunaan | Tidak |
File guid.mdmp> SQLDmp< | Crash dan pengecualian | Pemecahan masalah mendalam | Tidak |
Kami sangat merekomendasikan tautan berikut untuk sumber daya informasi tambahan yang tidak tercakup dalam topik ini: Tips pengumpulan data awal dari Dukungan Microsoft.
Informasi umum tentang pengaturan konfigurasi file log
Anda dapat menemukan bagian untuk setiap log dalam file konfigurasi server msmdsrv.ini, yang terletak di \Program Files\Microsoft SQL Server\MSAS13. Folder MSSQLSERVER\OLAP\Config. Lihat Properti server di Analysis Services untuk instruksi tentang mengedit file.
Jika memungkinkan, kami sarankan Anda mengatur properti pengelogan di halaman properti server Management Studio. Meskipun dalam beberapa kasus, Anda harus mengedit file msmdsrv.ini secara langsung untuk mengonfigurasi pengaturan yang tidak terlihat di alat administratif.
File log layanan MSMDSRV
Analysis Services mencatat operasi server ke file msmdsrv.log, satu per instans, yang terletak di \program files\Microsoft SQL Server\<instance>\Olap\Log.
File log ini dikosongkan pada setiap layanan yang dimulai ulang. Dalam rilis sebelumnya, administrator terkadang akan menghidupkan ulang layanan untuk satu-satunya tujuan membersihkan file log sebelum dapat tumbuh begitu besar sehingga menjadi tidak dapat digunakan. Ini tidak lagi diperlukan. Pengaturan konfigurasi, yang diperkenalkan di SQL Server 2012 SP2 dan yang lebih baru, memberi Anda kontrol atas ukuran file log dan riwayatnya:
MaxFileSizeMB menentukan ukuran file log maksimum dalam megabyte. Defaultnya adalah 256. Nilai pengganti yang valid harus berupa bilangan bulat positif. Ketika MaxFileSizeMB tercapai, Analysis Services mengganti nama file saat ini sebagai file msmdsrv{current timestamp}.log, dan memulai file msmdsrv.log baru.
MaxNumberFiles menentukan retensi file log yang lebih lama. Defaultnya adalah 0 (dinonaktifkan). Anda dapat mengubahnya menjadi bilangan bulat positif untuk menyimpan versi file log. Ketika MaxNumberFiles tercapai, Analysis Services menghapus file dengan tanda waktu terlama dalam namanya.
Untuk menggunakan pengaturan ini, lakukan hal berikut:
Buka msmdsrv.ini di NotePad.
Salin dua baris berikut:
<MaxFileSizeMB>256</MaxFileSizeMB> <MaxNumberOfLogFiles>5</MaxNumberOfLogFiles>
Tempelkan dua baris ke bagian Log msmdsrv.ini, di bawah nama file untuk msmdsrv.log. Kedua pengaturan harus ditambahkan secara manual. Tidak ada tempat penampung untuk mereka dalam file msmdsrv.ini.
File konfigurasi yang diubah akan terlihat seperti berikut ini:
<Log> <File>msmdsrv.log</File> <MaxFileSizeMB>256</MaxFileSizeMB> <MaxNumberOfLogFiles>5</MaxNumberOfLogFiles> <FileBufferSize>0</FileBufferSize>
Edit nilai jika nilai yang disediakan berbeda dari apa yang Anda inginkan.
Simpan file.
Memulai ulang server
Log kueri
Log kueri hanya dapat diaktifkan untuk instans mode multidimensi Analysis Services. Log kueri tidak dapat diaktifkan untuk instans mode tabular.
Log kueri sedikit salah karena tidak mencatat aktivitas kueri MDX atau DAX pengguna Anda. Sebaliknya, ia mengumpulkan data tentang kueri yang dihasilkan oleh Analysis Services, yang kemudian digunakan sebagai input data dalam Wizard Pengoptimalan Berbasis Penggunaan. Data yang dikumpulkan dalam log kueri tidak ditujukan untuk analisis langsung. Secara khusus, himpunan data dijelaskan dalam array bit, dengan nol atau satu yang menunjukkan bagian himpunan data disertakan dalam kueri. Sekali lagi, data ini dimaksudkan untuk wizard.
Untuk pemantauan dan pemecahan masalah kueri, banyak pengembang dan administrator menggunakan alat komunitas, ASTrace, untuk memantau kueri. Anda juga dapat menggunakan SQL Server Profiler, xEvents, atau jejak Analysis Services.
Kapan Anda harus menggunakan log kueri? Sebaiknya aktifkan log kueri sebagai bagian dari latihan penyetelan performa kueri yang menyertakan Wizard Pengoptimalan Berbasis Penggunaan. Log kueri tidak ada sampai Anda mengaktifkan fitur, membuat struktur data untuk mendukungnya, dan mengatur properti yang digunakan oleh Analysis Services untuk menemukan dan mengisi log.
Untuk mengaktifkan log kueri, ikuti langkah-langkah berikut:
Buat database relasional SQL Server untuk menyimpan log kueri.
Berikan izin akun layanan Analysis Services yang memadai pada database. Akun memerlukan izin untuk membuat tabel, menulis ke tabel, dan membaca dari tabel.
Di SQL Server Management Studio, klik kananProperti Analysis | Services | Umum, atur CreateQueryLogTable ke true.
Secara opsional, ubah QueryLogSampling atau QueryLogTableName jika Anda ingin mengambil sampel kueri dengan laju yang berbeda, atau gunakan nama yang berbeda untuk tabel.
Tabel log kueri tidak akan dibuat sampai Anda menjalankan kueri MDX yang cukup untuk memenuhi persyaratan pengambilan sampel. Misalnya, jika Anda menyimpan nilai default 10, Anda harus menjalankan setidaknya 10 kueri sebelum tabel akan dibuat.
Pengaturan log kueri lebar server. Pengaturan yang Anda tentukan akan digunakan oleh semua database yang berjalan pada server ini.
Setelah pengaturan konfigurasi ditentukan, jalankan kueri MDX beberapa kali. Jika pengambilan sampel diatur ke 10, jalankan kueri 11 kali. Verifikasi bahwa tabel telah dibuat. Di Management Studio, sambungkan ke mesin database relasional, buka folder database, buka folder Tabel , dan verifikasi bahwa OlapQueryLog ada. Jika Anda tidak segera melihat tabel, refresh folder untuk mengambil perubahan apa pun pada kontennya.
Perbolehkan log kueri untuk mengakumulasi data yang memadai untuk Wizard Pengoptimalan Berbasis Penggunaan. Jika volume kueri bersifat siklus, ambil lalu lintas yang cukup untuk memiliki sekumpulan data yang representatif. Lihat Wizard Pengoptimalan Berbasis Penggunaan untuk instruksi tentang cara menjalankan wizard.
Lihat Mengonfigurasi Log Kueri Analysis Services untuk mempelajari selengkapnya tentang konfigurasi log kueri. Meskipun makalah ini cukup lama, konfigurasi log kueri tidak berubah dalam rilis terbaru dan informasi yang dikandungnya masih berlaku.
File cadangan mini (.mdmp)
File cadangan mengambil data yang digunakan untuk menganalisis peristiwa luar biasa. Analysis Services secara otomatis menghasilkan cadangan mini (.mdmp) sebagai respons terhadap crash server, pengecualian, dan beberapa kesalahan konfigurasi. Fitur ini diaktifkan, tetapi tidak mengirim laporan crash secara otomatis.
Laporan crash dikonfigurasi melalui bagian Pengecualian dalam file Msmdsrv.ini. Pengaturan ini mengontrol pembuatan file cadangan memori. Cuplikan berikut menunjukkan nilai default:
<Exception>
<CreateAndSendCrashReports>1</CreateAndSendCrashReports>
<CrashReportsFolder/>
<SQLDumperFlagsOn>0x0</SQLDumperFlagsOn>
<SQLDumperFlagsOff>0x0</SQLDumperFlagsOff>
<MiniDumpFlagsOn>0x0</MiniDumpFlagsOn>
<MiniDumpFlagsOff>0x0</MiniDumpFlagsOff>
<MinidumpErrorList>0xC1000000, 0xC1000001, 0xC102003F, 0xC1360054, 0xC1360055</MinidumpErrorList>
<ExceptionHandlingMode>0</ExceptionHandlingMode>
<CriticalErrorHandling>1</CriticalErrorHandling>
<MaxExceptions>500</MaxExceptions>
<MaxDuplicateDumps>1</MaxDuplicateDumps>
</Exception>
Mengonfigurasi Laporan Crash
Kecuali diarahkan lain oleh Dukungan Microsoft, sebagian besar administrator menggunakan pengaturan default. Artikel KB yang lebih lama ini masih digunakan untuk memberikan instruksi tentang cara mengonfigurasi file cadangan: Cara mengonfigurasi Analysis Services untuk menghasilkan file cadangan memori.
Pengaturan konfigurasi yang kemungkinan besar akan dimodifikasi adalah pengaturan CreateAndSendCrashReports yang digunakan untuk menentukan apakah file cadangan memori akan dihasilkan.
Nilai | Deskripsi |
---|---|
0 | Menonaktifkan file cadangan memori. Semua pengaturan lain di bawah bagian Pengecualian diabaikan. |
1 | (Default) Mengaktifkan, tetapi tidak mengirim, file cadangan memori. |
2 | Mengaktifkan dan secara otomatis mengirim laporan kesalahan ke Microsoft. |
CrashReportsFolder adalah lokasi file cadangan. Secara default, file .mdmp dan rekaman log terkait dapat ditemukan di folder \Olap\Log.
SQLDumperFlagsOn digunakan untuk menghasilkan cadangan penuh. Secara default, cadangan penuh tidak diaktifkan. Anda dapat mengatur properti ini ke 0x34.
Tautan berikut ini menyediakan lebih banyak latar belakang:
Tips dan praktik terbaik
Bagian ini adalah rekap dari tips yang disebutkan di seluruh artikel ini.
Konfigurasikan file msmdsrv.log untuk mengontrol ukuran dan jumlah file log msmdsrv. Pengaturan tidak diaktifkan secara default, jadi pastikan untuk menambahkannya sebagai langkah pasca-penginstalan. Lihat file log layanan MSMDSRV dalam topik ini.
Gunakan ASTrace, bukan log kueri, untuk mengetahui siapa yang mengkueri kubus. Log kueri biasanya digunakan untuk memberikan input ke dalam Wizard Pengoptimalan Berbasis Penggunaan, dan data yang diambilnya tidak mudah dibaca atau ditafsirkan. ASTrace adalah alat komunitas, yang banyak digunakan, yang menangkap operasi kueri.