Eu tenho um usuário SQL Server 2014 Standard Edition (RTM)
com SYSADMIN
função com permissões de estado de exibição de servidor, mas quando executo o DMV sys.dm_os_performance_counters
, ele não retorna nenhum registro.
Alguma ideia do que há de errado com as permissões?
Saída de @@Version:
Microsoft SQL Server 2014 - 12.0.2000.8 (X64) 20 de fevereiro de 2014 20:04:26 Copyright (c) Microsoft Corporation Standard Edition (64 bits) no Windows NT 6.3 (Build 9600: ) (Hypervisor)
Se você tiver certeza de que o usuário em questão tem
View Server State
(e parece que na sua captura de tela ele tem).Depois, há uma série de razões previamente colocadas em um blog msdn. Variando de:
Para resolver isso, podemos usar as mesmas etapas descritas nas diretrizes para reinstalar os contadores de desempenho em uma postagem de troca de pilha diferente:
Usando um prompt de comando do administrador elevado, execute as etapas a seguir.
BINN
diretório da instância do SQL Server que você deseja corrigir.(Ex:
C:\Program Files\Microsoft SQL Server\MSSQL10.SQL2008\MSSQL\Binn
)unlodctr <<REGISTERED SERVER NAME>>
Por exemplo:
unlodctr MSSQL$SQL2008
ouSQLAgent$SQL2008
...lodctr /T:<<perf-sql* matching the counters you desire to load>>
Por exemplo:
perf-MSSQL$SQL2008sqlctr.ini
ouperf-SQLAgent$SQL2008sqlagtctr.ini
para SQLAgent. É/T
importante carregar o provedor de contador de desempenho do SQL Server como um provedor confiável .net stop "Remote Registry"
entãonet start "Remote Registry"
winmgmt /resyncperfctr "<<PID>>"
onde PID é o ID do processo
WinPriv.exe
(você pode obter isso no Gerenciador de Tarefas)O seguinte também pode ser necessário:
Certifique-se de que as permissões de segurança corretas foram concedidas à
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\009
chave do registro: