如何授予用户访问 SQL Server 中的 sys.master_files 的权限?

问题描述 投票:0回答:2

我需要授予数据库用户对

sys.master_files
表的读取权限。我怎样才能做到这一点?

当前用户拥有此权限:

enter image description here

SELECT
上调用
sys.master_files
将返回空结果。我还使用
sa
用户测试了相同的查询,该查询按预期工作。

sql sql-server t-sql permissions sql-server-2008-r2
2个回答
11
投票

让你跑成功

select * from sys.master_files

您需要授予的最低权限如下:

GRANT VIEW ANY DEFINITION TO [texas_user]
GO

我已经测试过,它在 sql 2008 r2 上运行良好


0
投票

这些服务器级别权限也可以通过 T-SQL 脚本添加,例如:

use master
grant ALTER ANY DATABASE  to [texas_user]
grant VIEW ANY DEFINITION to [texas_user]
grant CREATE ANY DATABASE to [texas_user]

结果将是相同的:用户

texas_user
将能够从
sys.master_files
接收结果。但这些能力可能比你想要的要多得多。也许,您可以在用户数据库中查询
sys.database_files
收到相同的结果(
texas
TexasLog
)。

© www.soinside.com 2019 - 2024. All rights reserved.