版本 - SQL Server 2012 SP1 CU3。
我使用sys.dm_os_volume_stats有一段时间了,它可以正常工作。最近,我无法在一个 SQL Server 2012 实例上从该 DMF 返回任何结果。
例如
SELECT * FROM sys.dm_os_volume_stats(1, 1);
我对其他 SQL Server 2012 或 SQL Server 2008 R2 实例上的相同代码没有任何问题。有谁知道背后的原因并解决了这个问题?
版本 - SQL Server 2012 SP1 CU3。
我使用sys.dm_os_volume_stats有一段时间了,它可以正常工作。最近,我无法在一个 SQL Server 2012 实例上从该 DMF 返回任何结果。
例如
SELECT * FROM sys.dm_os_volume_stats(1, 1);
我对其他 SQL Server 2012 或 SQL Server 2008 R2 实例上的相同代码没有任何问题。有谁知道背后的原因并解决了这个问题?
经过一些测试,为了使 DMF 工作,除了 SQL Server 登录安全性 VIEW SERVER STATE 权限外,似乎服务帐户至少需要对数据库文件所在的根卷具有 READ 访问权限.
不必将 READ 权限显式授予服务帐户。它可以通过其他用户/组授予,
1) SQL Server 服务帐户
2) 每个人
3) 用户
4) NT Authority\Authenticated Users
这个想法是 SQL Server 服务帐户至少需要对根卷的 READ 权限。我在这里列出了测试和详细信息。