通过 SQL 查询获取磁盘的全部容量,而无需授予权限?



我一直在努力获得安装了 SQL Server 的磁盘驱动器的总容量;我知道我可以通过sys.dm_os_volume_statsxp_cmdshell来实现这一点,但要运行查询,您需要一些权限,例如VIEW SERVER STATEALTER permission

普通用户有没有办法在不授予特殊权限的情况下获得磁盘的全部容量?

您可以作为特定调用方执行任何存储过程或表值函数:

CREATE PROCEDURE dbo.MyProcedure
WITH EXECUTE AS 'domainuser'
AS
...

更多信息在堆栈溢出

MSDN 中的详细信息

另外,如果您遇到证书问题:

使用证书对存储过程进行签名

最新更新