我的 DBA 团队无权访问 SQL Server 2005 标准性能计数器。
他们应该被授予什么权限?我找到了一些注册表项,但他们在那里已经有权限了。他们不是操作系统管理员。
答案1
你指的是sys.dm_os_performance_counters
车辆管理处?
您需要授予 SQL Server 登录 VIEW SERVER STATE 权限。
GRANT VIEW SERVER STATE to [performance_user]
这还将使用户帐户能够访问所有其他 DMV,但可能不够细致。简单地授予视图上的 SELECT 权限是行不通的!!
如果您想在 SQL Server 之外执行此操作并使用性能监视器 mmc,请查看此MSKB 文章。 您将需要修改服务器上的一些文件级别权限和注册表级别权限:
如果系统根目录位于 NTFS 分区上,则您必须至少具有对以下两个文件的读取权限:
%SystemRoot%\System32\Perfc009.dat
%SystemRoot%\System32\Perfh009.dat
您必须至少具有对远程计算机上的以下注册表项的读取权限:
HKEYLM\SYSTEM\CurrentControlSet\Control\SecurePipeServers\winreg
HKEYLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib
您必须对远程计算机上的以下注册表项具有完全访问权限:
HKEYLM\SYSTEM\CurrentControlSet\services\servicename\performance
答案2
受影响的机器上是否正在运行远程注册服务?此外,为 DBA 添加域用户帐户(或者更好的是,为 DBA 创建域组),并将域用户或组添加到本地性能监视器用户组。