Zero Rows mengembalikan permintaan DMV sys.dm_os_performance_counters


9

Saya memiliki pengguna SQL Server 2014 Standard Edition (RTM)dengan SYSADMINperan dengan Izin Server View State tetapi ketika saya menjalankan DMV sys.dm_os_performance_counterstidak mengembalikan catatan.

Adakah yang tahu apa yang salah dengan izin?

masukkan deskripsi gambar di sini

Output dari @@ Versi:

Microsoft SQL Server 2014 - 12.0.2000.8 (X64) 20 Februari 2014 20:04:26 Hak cipta (c) Microsoft Corporation Standard Edition (64-bit) pada Windows NT 6.3 (Build 9600:) (Hypervisor)


Sangat mungkin bahwa selama instalasi penghitung registri tidak diinstal. Jika pengguna memiliki sysadminizin maka ia tidak memerlukan view server stateizin untuk menjalankan DMV yang termasuk dalam peran sysadmin. Mengingat di atas jika tidak ada baris yang dikembalikan ini berarti penghitung perfmon tidak diinstal.
Shanky

@Shanky Tidak selalu, ada 2 kemungkinan alasan lainnya. Saya pribadi memiliki alasan registri (dalam lingkungan keamanan yang keras di mana ternyata perubahan registri selama instalasi tidak berjalan dengan benar)
Reaces

Jawaban:


4

Jika Anda yakin pengguna yang bersangkutan memiliki View Server State(dan sepertinya di tangkapan layar Anda melakukannya).

Lalu ada sejumlah alasan yang sebelumnya dimasukkan ke dalam blog msdn. Mulai dari:

  1. Kinerja objek dan penghitung pengaturan selama instalasi SQL Server gagal.
  2. Campuran platform 64 dan 32 bit.
  3. Izin registri telah miring

Untuk mengatasi ini, kami dapat menggunakan langkah-langkah yang sama yang diuraikan dalam pedoman untuk menginstal ulang penghitung kinerja di pos pertukaran tumpukan yang berbeda:

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. Paksa sinkronisasi WMI menggunakan di winmgmt /resyncperfctr "<<PID>>"
    mana PID adalah id proses WinPriv.exe(Anda bisa mendapatkan ini dari Task Manager)

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

metode ini untuk SQL Server 2008 apakah ini sama untuk 2014?
AA.SC

@ AA.SC Ya, metode ini tidak mengubah AFAIK.
Reaces

@@ Reaces client memperbarui RTM sistemnya ke SP1 ini telah menyelesaikan masalah.
AA.SC
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.