Bagikan melalui


Mengoptimalkan lingkungan SQL Anda dengan solusi SQL Server Health Check pada Azure Monitor

Simbol SQL Health Check

Anda dapat menggunakan solusi SQL Health Check untuk menilai risiko dan kesehatan lingkungan server Anda dalam interval yang rutin. Artikel ini membantu Anda memasang dan menggunakan solusi sehingga Anda dapat mengambil tindakan korektif untuk masalah potensial.

Solusi ini menyediakan daftar rekomendasi yang diprioritaskan khusus untuk infrastruktur server yang Anda sebarkan. Rekomendasi dikategorikan dalam enam area fokus, yang membantu Anda dengan cepat memahami risiko dan mengambil tindakan.

Rekomendasi dibuat berdasarkan pengetahuan dan pengalaman yang diperoleh insinyur Microsoft dari ribuan kunjungan pelanggan. Setiap rekomendasi memberikan panduan tentang mengapa suatu masalah mungkin penting bagi Anda dan bagaimana menerapkan perubahan yang disarankan.

Anda dapat memilih area fokus yang paling penting bagi organisasi Anda dan melacak kemajuan Anda menjalankan lingkungan yang bebas risiko dan sehat.

Setelah Anda menambahkan solusi dan pemeriksaan selesai, informasi ringkasan untuk area fokus ditampilkan di dasbor SQL Health Check untuk infrastruktur di lingkungan Anda. Bagian berikut ini menjelaskan cara menggunakan informasi di dasbor SQL Health Check, tempat Anda bisa melihat lalu mengambil tindakan yang direkomendasikan untuk infrastruktur SQL Server Anda.

Gambar petak SQL Health Check

Gambar dasbor SQL Health Check

Prasyarat

  • Solusi SQL Health Check memerlukan versi yang didukung dari .NET Framework 4.6.2 yang diinstal pada setiap komputer yang memiliki Microsoft Monitoring Agent (MMA) yang terinstal. Agen MMA ini digunakan oleh System Center 2016 - Operations Manager dan Operations Manager 2012 R2, dan Azure Monitor.

  • Solusi ini mendukung SQL Server versi 2012, 2014, 2016, 2017, dan 2019.

  • Ruang kerja Analitik Log untuk menambahkan solusi SQL Health Check dari Azure Marketplace di portal Microsoft Azure. Untuk menginstal solusi, Anda harus menjadi administrator atau kontributor dalam langganan Azure.

    Catatan

    Setelah Anda menambahkan solusi, file AdvisorAssessment.exe ditambahkan ke server dengan agen. Data konfigurasi dibaca lalu dikirim ke Azure Monitor di cloud untuk diproses. Logika diterapkan ke data yang diterima dan layanan cloud merekam data.

Untuk melakukan pemeriksaan kesehatan terhadap server SQL Server Anda, mereka memerlukan agen dan konektivitas ke Azure Monitor menggunakan salah satu metode yang didukung berikut ini:

  1. Instal Microsoft Monitoring Agent (MMA) jika server belum dipantau oleh System Center 2016 - Operations Manager atau Operations Manager 2012 R2.
  2. Jika dipantau dengan System Center 2016 - Operations Manager atau Operations Manager 2012 R2 dan grup pengelolaan tidak terintegrasi dengan Azure Monitor, server dapat dibuat “multi-homed” dengan Analitik Log untuk mengumpulkan data dan meneruskannya ke layanan dan tetap dapat dipantau oleh Operations Manager.
  3. Sebaliknya, jika grup pengelolaan Operations Manager Anda terintegrasi dengan layanan, Anda perlu menambahkan pengendali domain untuk pengumpulan data oleh layanan dengan mengikuti langkah-langkah di bawah tambahkan komputer yang dikelola setelah Anda mengaktifkan solusi di ruang kerja Anda.

Agen SQL Server Anda yang melaporkan ke grup manajemen Operations Manager, mengumpulkan data, meneruskan ke manajemen server yang ditetapkan, lalu dikirim langsung dari server manajemen ke Azure Monitor. Data tidak ditulis ke database Operations Manager.

Jika SQL Server dipantau oleh Operations Manager, Anda perlu mengkonfigurasi akun Run As Operations Manager. Lihat akun run-as Operations Manager untuk Azure Monitor di bawah ini untuk informasi selengkapnya.

Detail pengumpulan data SQL Health Check

SQL Health Check mengumpulkan data dari sumber berikut menggunakan agen yang telah Anda aktifkan:

  • Instrumentasi Manajemen Windows (WMI/Windows Management Instrumentation)
  • Registri
  • Penghitung performa
  • Hasil tampilan manajemen dinamis SQL Server

Data dikumpulkan di SQL Server dan diteruskan ke Analitik Log setiap tujuh hari.

Akun jalankan sebagai Operations Manager untuk Analitik Log

Analitik Log menggunakan agen Operations Manager dan grup manajemen untuk mengumpulkan dan mengirim data ke layanan Analitik Log. Analitik Log dibangun berdasarkan paket manajemen untuk beban kerja guna menyediakan layanan bernilai tambah. Setiap beban kerja memerlukan hak istimewa khusus beban kerja untuk menjalankan paket manajemen dalam konteks keamanan yang berbeda, seperti akun pengguna domain. Anda perlu memberikan informasi kredensial dengan mengkonfigurasi akun Run As Operations Manager.

Gunakan informasi berikut untuk mengatur akun Run As Operations Manager untuk SQL Health Check.

Atur akun Run As untuk SQL Health Check

Jika Anda sudah menggunakan paket manajemen SQL Server, Anda harus menggunakan konfigurasi Run As tersebut.

Untuk mengkonfigurasi akun SQL Run As di konsol Operasi

Catatan

Secara default alur kerja dalam paket manajemen berjalan dalam konteks keamanan akun Sistem Lokal. Jika Anda menggunakan Microsoft Monitoring Agent yang terhubung langsung ke layanan alih-alih melaporkan langsung ke grup manajemen Operations Manager, lewati langkah 1-5 di bawah ini dan jalankan sampel T-SQL atau PowerShell, menentukan NT AUTHORITY\SYSTEM sebagai nama pengguna.

  1. Di Operations Manager, buka konsol Operasi, lalu klik Administrasi.

  2. Di bawah Konfigurasi Run As, klik Profil, dan buka SQL Assessment Run As Profile.

  3. Pada halaman Run As Accounts, klik Tambahkan.

  4. Pilih akun Windows Run As yang berisi kredensial yang diperlukan untuk SQL Server, atau klik Baru untuk membuatnya.

    Catatan

    Tipe akun Run As harus Windows. Akun Run As juga harus menjadi bagian dari grup Administrator Lokal di semua Windows Server yang meng-hosting SQL Server Instances.

  5. Klik Simpan.

  6. Modifikasi lalu jalankan sampel T-SQL berikut pada setiap instans SQL Server untuk memberikan izin minimum yang diperlukan untuk Run As Account melakukan pemeriksaan kesehatan. Namun, Anda tidak perlu melakukan ini jika Run As Account sudah menjadi bagian dari peran server sysadmin pada instans SQL Server.

    ---
    -- Replace <UserName> with the actual user name being used as Run As Account.
    USE master

    -- Create login for the user, comment this line if login is already created.
    CREATE LOGIN [<UserName>] FROM WINDOWS

    -- Grant permissions to user.
    GRANT VIEW SERVER STATE TO [<UserName>]
    GRANT VIEW ANY DEFINITION TO [<UserName>]
    GRANT VIEW ANY DATABASE TO [<UserName>]

    -- Add database user for all the databases on SQL Server Instance, this is required for connecting to individual databases.
    -- NOTE: This command must be run anytime new databases are added to SQL Server instances.
    EXEC sp_msforeachdb N'USE [?]; CREATE USER [<UserName>] FOR LOGIN [<UserName>];'

Untuk mengkonfigurasi akun SQL Run As menggunakan Windows PowerShell

Buka jendela PowerShell dan jalankan skrip berikut ini setelah Anda memperbaruinya dengan informasi Anda:

    import-module OperationsManager
    New-SCOMManagementGroupConnection "<your management group name>"

    $profile = Get-SCOMRunAsProfile -DisplayName "SQL Assessment Run As Profile"
    $account = Get-SCOMrunAsAccount | Where-Object {$_.Name -eq "<your run as account name>"}
    Set-SCOMRunAsProfile -Action "Add" -Profile $Profile -Account $Account

Memahami bagaimana rekomendasi diprioritaskan

Setiap rekomendasi yang dibuat diberikan nilai pembobotan yang mengidentifikasi kepentingan relatif dari rekomendasi tersebut. Hanya 10 rekomendasi terpenting yang ditampilkan.

Bagaimana bobot dihitung

Pembobotan adalah nilai agregat berdasarkan tiga faktor kunci:

  • Peluang masalah yang diidentifikasi akan menyebabkan masalah. Peluang yang lebih tinggi setara dengan skor keseluruhan yang lebih besar untuk rekomendasi.
  • Dampak masalah pada organisasi Anda jika memang menimbulkan masalah. Dampak yang lebih tinggi sama dengan skor keseluruhan yang lebih besar untuk rekomendasi.
  • Upaya yang diperlukan untuk menerapkan rekomendasi. Upaya yang lebih tinggi sama dengan skor keseluruhan yang lebih kecil untuk rekomendasi.

Pembobotan untuk setiap rekomendasi dinyatakan sebagai persentase dari total skor yang tersedia untuk setiap area fokus. Misalnya, jika rekomendasi di area fokus Keamanan dan Kepatuhan memiliki skor 5%, menerapkan rekomendasi tersebut akan meningkatkan keseluruhan skor Keamanan dan Kepatuhan Anda sebesar 5%.

Area fokus

Keamanan dan Kepatuhan - Area fokus ini menunjukkan rekomendasi untuk potensi ancaman dan pelanggaran keamanan, kebijakan perusahaan, dan persyaratan kepatuhan teknis, hukum dan peraturan.

Ketersediaan dan Kelangsungan Bisnis - Area fokus ini menunjukkan rekomendasi untuk ketersediaan layanan, ketahanan infrastruktur Anda, dan perlindungan bisnis.

Performa dan Skalabilitas - Area fokus ini menunjukkan rekomendasi untuk membantu infrastruktur IT organisasi Anda bertumbuh, memastikan bahwa lingkungan IT Anda memenuhi persyaratan performa saat ini, dan mampu merespons kebutuhan infrastruktur yang berubah-ubah.

Peningkatan, Migrasi, dan Penyebaran - Area fokus ini menampilkan rekomendasi untuk membantu Anda meningkatkan, memigrasikan, dan menyebarkan SQL Server ke infrastruktur Anda yang ada.

Pengoperasian dan Pemantauan - Area fokus ini menunjukkan rekomendasi untuk membantu merampingkan pengoperasian IT Anda, menerapkan pemeliharaan pencegahan, dan memaksimalkan performa.

Manajemen Perubahan dan Konfigurasi - Area fokus ini menunjukkan rekomendasi untuk membantu melindungi pengoperasian sehari-hari, memastikan bahwa perubahan tidak berdampak negatif pada infrastruktur Anda, membangun prosedur kontrol perubahan, dan untuk melacak dan mengaudit konfigurasi sistem.

Haruskah Anda mencapai nilai 100% di setiap area fokus?

Belum tentu. Rekomendasi tersebut didasarkan pada pengetahuan dan pengalaman yang diperoleh para insinyur Microsoft di ribuan kunjungan pelanggan. Namun, tidak ada dua infrastruktur server yang sama, dan rekomendasi spesifik mungkin lebih atau kurang relevan bagi Anda. Misalnya, beberapa rekomendasi keamanan mungkin kurang relevan jika mesin virtual Anda tidak terhubung ke Internet. Beberapa rekomendasi ketersediaan mungkin kurang relevan untuk layanan yang menyediakan pengumpulan dan pelaporan data ad hoc prioritas rendah. Masalah yang penting untuk bisnis yang matang mungkin kurang penting untuk sebuah start-up. Anda mungkin ingin mengidentifikasi area fokus mana yang menjadi prioritas Anda dan kemudian melihat bagaimana skor Anda berubah dari waktu ke waktu.

Setiap rekomendasi mencakup panduan tentang mengapa itu penting. Anda sebaiknya menggunakan panduan ini untuk mengevaluasi apakah penerapan rekomendasi sesuai untuk Anda, dengan mempertimbangkan sifat layanan IT Anda dan kebutuhan bisnis organisasi Anda.

Menggunakan rekomendasi area fokus Health Check

Sebelum Anda dapat menggunakan solusi penilaian di Azure Monitor, Anda harus menginstal solusinya. Setelah diinstal, Anda dapat melihat ringkasan rekomendasi dengan menggunakan petak Health Check pada halaman Gambaran Umum untuk Azure Monitor dalam portal Microsoft Azure.

Lihat ringkasan penilaian kepatuhan untuk infrastruktur Anda, lalu telusuri rekomendasi.

Untuk melihat rekomendasi untuk area fokus dan mengambil tindakan korektif

  1. Masuk ke portal Microsoft Azure di https://portal.azure.com.
  2. Di portal Azure, klik Layanan lainnya yang berada di sudut kiri bawah. Di dalam daftar sumber daya, ketikkan Monitor. Saat Anda mulai mengetik, daftar akan memfilter berdasarkan input Anda. Pilih Monitor.
  3. Di bagian menu Insights, pilih Lainnya.
  4. Pada halaman Gambaran Umum, klik petak SQL Health Check.
  5. Pada halaman Pemeriksaan Kesehatan , tinjau informasi ringkasan di salah satu bagian area fokus lalu klik salah satu untuk melihat rekomendasi untuk area fokus tersebut.
  6. Di salah satu halaman area fokus mana pun, Anda dapat melihat rekomendasi yang diprioritaskan yang dibuat untuk lingkungan Anda. Klik rekomendasi di bawah Objek yang Terpengaruh untuk melihat detail tentang alasan rekomendasi dibuat.

    gambar rekomendasi SQL Health Check
  7. Anda dapat melakukan tindakan korektif yang disarankan dalam Tindakan yang Disarankan. Ketika item telah ditangani, penilaian selanjutnya akan merekam bahwa tindakan yang direkomendasikan telah diambil dan skor kepatuhan Anda akan meningkat. Item yang dikoreksi muncul sebagai Objek yang Dilewatkan.

Abaikan rekomendasi

Jika Anda memiliki rekomendasi yang ingin diabaikan, Anda dapat membuat file teks yang akan digunakan Azure Monitor untuk mencegah rekomendasi muncul di hasil penilaian Anda.

Untuk mengidentifikasi rekomendasi yang akan Anda abaikan

  1. Di menu Azure Monitor, klik Log.

  2. Gunakan kueri berikut ini untuk mencantumkan daftar rekomendasi yang gagal bagi komputer di lingkungan Anda.

    SQLAssessmentRecommendation | where RecommendationResult == "Failed" | sort by Computer asc | project Computer, RecommendationId, Recommendation
    

    Berikut ini cuplikan layar yang memperlihatkan kueri log:

    rekomendasi gagal

  3. Pilih rekomendasi yang ingin Anda abaikan. Anda harus menggunakan nilai untuk RecommendationId di prosedur berikutnya.

Untuk membuat dan menggunakan file teks IgnoreRecommendations.txt

  1. Buat file bernama IgnoreRecommendations.txt.
  2. Tempel atau ketik setiap RecommendationId untuk setiap rekomendasi yang Anda ingin Azure Monitor abaikan pada baris terpisah lalu simpan dan tutup file.
  3. Letakkan file pada folder berikut di setiap komputer tempat Anda ingin Azure Monitor mengabaikan rekomendasi.
    • Pada komputer dengan Microsoft Monitoring Agent (terhubung langsung atau melalui Operations Manager) - SystemDrive:\Program Files\Microsoft Monitoring Agent\Agent
    • Pada manajemen server Operations Manager 2012 R2 - SystemDrive:\Program Files\Microsoft System Center 2012 R2\Operations Manager\Server
    • Pada manajemen server Operations Manager 2016 - SystemDrive:\Program Files\Microsoft System Center 2016\Operations Manager\Server

Untuk memverifikasi bahwa rekomendasi diabaikan

  1. Setelah pemeriksaan kesehatan yang dijadwalkan berikutnya berjalan, secara default setiap 7 hari, rekomendasi yang ditentukan ditandai sebagai Diabaikan, dan tidak akan muncul di dasbor penilaian.

  2. Anda bisa menggunakan kueri Pencarian Log untuk mencantumkan semua rekomendasi yang diabaikan.

    SQLAssessmentRecommendation | where RecommendationResult == "Ignored" | sort by Computer asc | project Computer, RecommendationId, Recommendation
    
  3. Jika Anda memutuskan nanti bahwa Anda ingin melihat rekomendasi yang diabaikan, hapus file IgnoreRecommendations.txt manapun, atau Anda dapat menghapus RecommendationID darinya.

Tanya jawab umum

Pemeriksaan apa yang dilakukan oleh solusi SQL Assessment?

  • Kueri berikut ini memperlihatkan deskripsi semua pemeriksaan yang saat ini dilakukan:
SQLAssessmentRecommendation
| distinct RecommendationId, FocusArea, ActionArea, Recommendation, Description
| sort by FocusArea,ActionArea, Recommendation

Hasilnya kemudian dapat diekspor ke Excel untuk mengulas lebih lanjut.

Seberapa sering pemeriksaan kesehatan dijalankan?

  • Pemeriksaan dijalankan setiap tujuh hari.

Apakah ada cara untuk mengkonfigurasikan seberapa sering pemeriksaan kesehatan dijalankan?

  • Tidak untuk saat ini.

Jika server lain ditemukan setelah saya menambahkan solusi SQL Health Check, apakah ini akan diperiksa?

  • Ya, setelah ditemukan, ini diperiksa sejak saat ditemukan, setiap tujuh hari.

Jika server dinonaktifkan, kapan server akan dihapus dari pemeriksaan kesehatan?

  • Jika server tidak mengirimkan data selama 3 minggu, server akan dihapus.

Apa nama proses yang melakukan pengumpulan data?

  • AdvisorAssessment.exe

Berapa lama waktu yang dibutuhkan untuk data dikumpulkan?

  • Pengumpulan data aktual di server membutuhkan waktu sekitar 1 jam. Mungkin perlu waktu lebih lama di server yang memiliki angka instans SQL atau database yang besar.

Jenis data apa saja yang dikumpulkan?

  • Tipe data berikut yang dikumpulkan:
    • WMI
    • Registri
    • Penghitung performa
    • Tampilan manajemen dinamis SQL (DMV).

Apakah ada cara untuk mengkonfigurasikan kapan data dikumpulkan?

  • Tidak untuk saat ini.

Mengapa saya harus mengkonfigurasi Run As Account?

  • Untuk SQL Server, sejumlah kecil kueri SQL dijalankan. Agar kueri dapat berjalan, Run As Account dengan izin VIEW SERVER STATE ke SQL harus digunakan. Selain itu, untuk mengkueri WMI, kredensial administrator lokal diperlukan.

Mengapa hanya menampilkan 10 rekomendasi teratas?

  • Alih-alih memberi Anda daftar tugas yang luar biasa panjang, kami sarankan Anda fokus untuk mengatasi rekomendasi yang diprioritaskan terlebih dahulu. Setelah Anda mengatasinya, rekomendasi tambahan akan tersedia. Jika Anda lebih suka melihat daftar detail, Anda bisa menampilkan semua rekomendasi menggunakan pencarian log Log Analitik.

Apakah ada cara untuk mengabaikan rekomendasi?

Langkah berikutnya

  • Mengkueri log untuk mempelajari cara menganalisis data dan rekomendasi SQL Health Check terperinci.