Sıfır Satırlar DMV sorgulamasında geri döner sys.dm_os_performance_counters


9

Ben bir kullanıcı var SQL Server 2014 Standard Edition (RTM)olan SYSADMINSunucu Görünümü Devlet İzinleriyle rolü ama DMV yürütmek zaman sys.dm_os_performance_countershiçbir kaydı döndürür.

İzinlerde neyin yanlış olduğu hakkında bir fikrin var mı?

resim açıklamasını buraya girin

@@ Sürüm çıktısı:

Microsoft SQL Server 2014 - 12.0.2000.8 (X64) 20 Şubat 2014 20:04:26 Telif Hakkı (c) Windows NT 6.3 üzerinde Microsoft Corporation Standard Edition (64 bit) (Derleme 9600:) (Hipervizör)


Yükleme sırasında kayıt defteri sayaçlarının yüklenmemesi oldukça mümkündür. Kullanıcının sysadminizni varsa view server state, sysadmin rolüne dahil olan DMV'yi çalıştırmak için izin gerektirmez . Yukarıdaki satırların ışığında, hiçbir satır döndürülmezse, perfmon sayaçlarının kurulu olmadığı anlamına gelir.
Shanky

@Shanky Her zaman değil, 2 olası neden daha var. Şahsen kayıt nedenleri vardı (kurulum sırasında kayıt defteri değişikliklerinin düzgün bir şekilde geçmediği sertleştirilmiş bir güvenlik ortamında)
Reaces

Yanıtlar:


4

Söz konusu kullanıcının sahip olduğundan eminseniz View Server State(ve ekran görüntünüzde olduğu gibi görünüyor).

Sonra daha önce bir msdn blogu koymak birkaç nedeni vardır . Arasında değişen:

  1. Performans SQL Server yüklemesi sırasında nesne ve sayaç ayarları başarısız oldu.
  2. 64 ve 32 bit platformların bir karışımı.
  3. Kayıt defteri izinleri çarpık

Bu sorunu çözmek için, performans sayaçlarını farklı bir yığın değişim postasına yeniden yükleme yönergelerinde belirtilen adımların aynısını kullanabiliriz :

Yükseltilmiş bir yönetici komut istemi kullanarak aşağıdaki adımları gerçekleştirin.

  1. Düzeltmek istediğiniz BINNSQL Server örneğinin dizin yolunu değiştirin .
    (Örnek: C:\Program Files\Microsoft SQL Server\MSSQL10.SQL2008\MSSQL\Binn)
  2. Yürüt unlodctr <<REGISTERED SERVER NAME>>
    Örneğin: unlodctr MSSQL$SQL2008veya SQLAgent$SQL2008...
  3. Yürüt lodctr /T:<<perf-sql* matching the counters you desire to load>>
    Örneğin: perf-MSSQL$SQL2008sqlctr.iniveya perf-SQLAgent$SQL2008sqlagtctr.iniSQLAgent için. /TBir SQL Server performans sayacı sağlayıcı yüklemek için önemlidir güvenilen sağlayıcıdan .
  4. Uzak kayıt defteri hizmetini döngüsü:
    net stop "Remote Registry"ardındannet start "Remote Registry"
  5. PID'nin winmgmt /resyncperfctr "<<PID>>"
    işlem kimliğini kullanarak WMI eşitlemesini zorlayın WinPriv.exe(bunu Görev Yöneticisi'nden alabilirsiniz)

Aşağıdakiler de gerekli olabilir:

  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\009
    Kayıt defteri anahtarına doğru güvenlik izinlerinin verildiğinden emin olun :

    1. İçerik Oluşturucu Sahibi hesabına Tam Denetim izinleri verin.
    2. Yöneticiler hesabına Tam Denetim izinleri verin.
    3. Bu kutudaki / Düğümdeki SQL Yöneticilerine Okuma izinleri verin.
    4. Sistem hesabına Tam Denetim izinleri verme

SQL Server 2008 için bu yöntem 2014 için aynı mıdır?
AA.SC

@ AA.SC Evet, yöntem AFAIK'i değiştirmedi.
Reaces

Reaces istemcisi sistem RTM'sini SP1'e güncelledi, bu sorunu çözdü.
AA.SC
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.