Mengapa usia harapan hidup 0 (nol) pada SQL Server 2005


8

Kami telah lama ingin mengetahui harapan hidup halaman untuk SQL Server kami. Jadi kami melihat penghitung menggunakan Perform. Nilainya NOL dan tidak pernah berubah. Saya pikir pasti ada bug, jadi saya memeriksa permintaan SQL Server DMV

SELECT [object_name],[counter_name],[cntr_value]
FROM sys.dm_os_performance_counters
WHERE [object_name] LIKE '%Manager%'
AND [counter_name] = 'Page life expectancy'

Itu juga mengembalikan nol, sepanjang hari.

Untuk membuatnya lebih menarik, kami memeriksa penghitung 'buffer hit hit ratio', dengan rata-rata sekitar 99-100.

Jadi bagaimana harapan hidup halaman nol sedangkan 'rasio hit cache buffer' adalah 100?

Apa yang kita lewatkan? jika selalu nol, itu berarti bagi saya bahwa tidak ada yang tetap dalam cache buffer, yang tampaknya salah jika rasio hit cache buffer adalah 100?

Terima kasih sebelumnya

Jawaban:


4

Saya akan mulai dengan melakukan langkah-langkah yang dijelaskan di sini:

Cara membangun kembali penghitung kinerja contoh SQL Server 2005 atau 2008

Pembaruan Agustus 2015: Tautan di atas tampaknya rusak . Referensi alternatif:

Memecahkan masalah: SQL Server (2005, 2008) Masalah Pengumpulan Kinerja (CSS)

Langkah-langkah penting dari sumber daya yang ditautkan

Menggunakan prompt perintah administrator yang ditinggikan lakukan langkah-langkah berikut.

  1. Ubah jalur ke BINNdirektori turunan SQL Server yang ingin Anda perbaiki.
    (Ex: C:\Program Files\Microsoft SQL Server\MSSQL10.SQL2008\MSSQL\Binn)
  2. Jalankan unlodctr <<REGISTERED SERVER NAME>>
    Misalnya: unlodctr MSSQL$SQL2008atau SQLAgent$SQL2008...
  3. Jalankan lodctr /T:<<perf-sql* matching the counters you desire to load>>
    Misalnya: perf-MSSQL$SQL2008sqlctr.iniatau perf-SQLAgent$SQL2008sqlagtctr.iniuntuk SQLAgent. The /Tpenting untuk memuat SQL Server penyedia counter kinerja sebagai penyedia terpercaya .
  4. Siklus layanan registri jauh:
    net stop "Remote Registry"lalunet start "Remote Registry"
  5. Memaksa sinkronisasi WMI menggunakan di winmgmt /resyncperfctr "<<PID>>"
    mana PID adalah id proses WinPriv.exe(Anda bisa mendapatkan ini dari Task Manager)

Selain itu, dari sumber ini , berikut ini mungkin diperlukan:

  • Pastikan bahwa izin keamanan yang benar telah diberikan kepada HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\009
    kunci registri:

    1. Berikan izin Kontrol Penuh ke akun Pemilik Pencipta.
    2. Berikan izin Kontrol Penuh ke akun Administrator.
    3. Berikan izin Baca ke Administrator SQL pada kotak / Node itu.
    4. Berikan izin Kontrol Penuh ke akun Sistem
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.