Daftar Periksa SQL Server

14

Menindaklanjuti pertanyaan saya yang lain , saya ingin mulai berpikir tentang apa yang harus saya perhatikan pada basis harian / mingguan / bulanan dalam hal peringatan. Saya berharap dapat melihat masalah yang datang sebelum mereka terjadi (itulah rencananya) ...

Sejauh ini, saya telah mulai mengumpulkan skrip untuk yang berikut (tanpa urutan):

Harian

  • Periksa waktu kerja sistem (kalau-kalau saya perlu memeriksa apa pun sebagai DBA)
  • Periksa cadangan terakhir
  • Periksa cadangan log transaksi
  • Periksa status Pekerjaan SQL
  • Periksa penggunaan CPU rata-rata selama 24 jam terakhir (atau 1140 menit)

Mingguan

  • Periksa riwayat cadangan MSDB
  • Periksa untuk melihat kapan CheckDB terakhir kali dijalankan
  • Periksa fragmentasi indeks
  • Periksa statistik indeks (baca vs menulis dll)
  • Periksa kemacetan IO

Bulanan

  • Periksa indeks yang hilang
  • Periksa indeks yang tidak lagi digunakan

Ada saran lain? (Saya baru mengenal DBA sehingga bantuan / saran selalu diterima)

Stuart Blackler
sumber

Jawaban:

3
  1. Cadangan

    • Periksa email cadangan
    • Berapa lama waktu yang dibutuhkan untuk menjalankan cadangan (durasi cadangan basis data)
    • Verifikasi bahwa semua database dicadangkan sesuai dengan rencana pemeliharaan
  2. Ruang bebas disk. Catat variasi signifikan dari cek sebelumnya. File log dapat dipengaruhi secara dramatis oleh pekerjaan bulanan

  3. Kegagalan pekerjaan. Saring kegiatan pekerjaan untuk kegagalan

  4. Pemeriksaan sistem. Lihat dalam sql log untuk setiap kesalahan kritis.

    • Log aplikasi
  5. Performa

    • Periksa statistik kinerja di semua server
    • Periksa apakah penghitung berada dalam kisaran normal di semua server produksi
  6. Konektivitas

    • Verifikasi bahwa aplikasi pelanggan dapat memperoleh data dari basis data
    • Verifikasi kecepatan akses data yang dapat diterima
  7. Replikasi Verifikasi bahwa setiap publikasi dan distributor berjalan untuk setiap langganan

Daftar Periksa DBA SQL Server

Daftar Periksa DBA Brad

Daftar Periksa Oracle DBA (mungkin berguna)

Daftar periksa manajemen database SQL Server DBA

Daftar Periksa Pagi DBA

Daftar Periksa DBA MS SQL Server (banyak daftar periksa)

Daftar Periksa DBA SQL Server

garik
sumber
4

Hanya variasi yang saya sarankan pada daftar periksa Anda adalah mengganti kata CADANGAN dengan RESTORE. Memeriksa apakah cadangan lengkap adalah awal yang baik, yang penting adalah apakah Anda dapat memulihkannya atau tidak. Peringatan tentang kegagalan cadangan, secara otomatis mengotomatiskan pengambilan sampel pemulihan sehingga Anda tahu cadangan Anda baik.

Langkah selanjutnya dari daftar cek harian / mingguan / bulanan adalah sejarah. Pemeriksaan pada penghitung kinerja x / y / z tidak ada artinya tanpa dasar untuk membandingkan hari ini dengan kemarin. Tanpa memahami hari ini vs kemarin, tidak mungkin untuk memprediksi bulan depan.

Mark Storey-Smith
sumber
2

DISCLAIMER: Bukan DBA SQL Server

Jika memungkinkan, Anda mungkin ingin memeriksa indeks bulanan yang tidak digunakan oleh kueri apa pun. Ini pasti ingin Anda lakukan

  • meja yang sangat besar
  • tabel dengan banyak indeks
  • indeks dengan banyak kolom (3 atau lebih)
RolandoMySQLDBA
sumber
4
Pastikan bahwa "tidak digunakan" mencerminkan seluruh siklus bisnis. Saya telah mendengar banyak kasus di mana DBA memutuskan untuk menjatuhkan indeks yang tidak digunakan dalam beberapa bulan, dan hari berikutnya laporan kuartalan CFO membutuhkan waktu berjam-jam, bukan detik ... Anda tidak dapat mengandalkan index_usage_stats DMV, terutama jika server Anda dinyalakan ulang secara berkala, jadi saya hanya akan melakukan ini jika Anda menjaga statistik penggunaan Anda sendiri dari waktu ke waktu ...
Aaron Bertrand
2

Sering memeriksa panjang antrian I / O untuk bottlenecking.

Thomas Stringer
sumber
2

Sesuatu untuk membantu mencapainya ... Idera mengeluarkan alat gratis untuk meninjau Pekerjaan SQL Server yang telah saya gunakan beberapa kali. Ini sangat baik untuk mendapatkan gambaran umum yang baik, meskipun memang memiliki beberapa keterbatasan karena gratis. Patut diperiksa: http://www.idera.com/Products/Free-Tools/SQL-job-manager/

Sesuatu yang akan saya tambahkan untuk sisi keamanan rumah ... Sebuah file jejak khusus untuk menangkap aktivitas masuk untuk akun pengguna. Ini akan memungkinkan Anda menemukan akun yang tidak aktif dengan mudah. Kemudian juga skrip yang memonitor ketika seseorang ditambahkan ke peran server / database tetap. Terutama sysadmin, jika Anda bukan satu-satunya yang mengelola server / instance.


sumber
Apakah file jejak cara terbaik untuk melakukan ini?
Thomas Stringer
itu adalah cara termudah yang saya tahu untuk mendapatkan info. Kecuali Anda memasukkan pemicu untuk menangkap informasi ke tabel atau log, mungkin. Jika menggunakan Manajemen Kebijakan SQL 2008 dapat digunakan untuk tujuan ini.
Jejak mungkin cara terbaik, @ShawnMelton. Ada cara untuk memodifikasi registri ( sqlservercentral.com/articles/security/sqlserverauditingpart1/… ) sehingga SQL Server mengaudit semua login (berhasil dan gagal). Saya tidak yakin apa arti yang terbaik, tetapi saya selalu khawatir tentang menjaga jejak tetap berjalan tanpa batas. Pikiran Anda?
Thomas Stringer
Saya tidak pernah memiliki masalah menjalankan file jejak di mana mereka mempengaruhi kinerja sebanyak itu. Mengaktifkan audit C2 meskipun saya punya, saya tidak suka mengaktifkannya. Extended Events menawarkan alternatif dan seharusnya menjadi metode yang disukai untuk menggunakan file jejak, lebih banyak kekuatan dengan mereka. Anda mungkin memeriksa orang-orang untuk melihat apakah ada opsi untuk acara masuk, saya yakin ada. Dari apa yang saya mengerti tentang mereka, mereka dikeluarkan entah bagaimana menyebabkan hit dengan kinerja.
bagus. Saya cenderung setuju dengan Anda. Dan ya, C2 jelas merupakan salah satu dari situasi yang hanya digunakan jika diperlukan.
Thomas Stringer
0
  • periksa SQL Server dan SQL Server Agent Error Log
  • periksa status server cermin (kepala sekolah dan cermin)
  • periksa perubahan waktu eksekusi pekerjaan
  • periksa node aktif di server sql berkerumun
  • periksa DISK SPACE
Alex_L
sumber