我一直在努力获得安装了 SQL Server 的磁盘驱动器的总容量;我知道我可以通过sys.dm_os_volume_stats
或xp_cmdshell
来实现这一点,但要运行查询,您需要一些权限,例如VIEW SERVER STATE
或ALTER permission
。
普通用户有没有办法在不授予特殊权限的情况下获得磁盘的全部容量?
您可以作为特定调用方执行任何存储过程或表值函数:
CREATE PROCEDURE dbo.MyProcedure
WITH EXECUTE AS 'domainuser'
AS
...
更多信息在堆栈溢出
MSDN 中的详细信息
另外,如果您遇到证书问题:
使用证书对存储过程进行签名