我需要为数据库用户提供对sys.master_files
表的读访问权限。我怎么能这样做?
目前,用户拥有此权限:
在SELECT
上调用sys.master_files
会返回一个空结果。我还使用sa
用户测试了相同的查询,该用户按预期工作。
答案 0 :(得分:6)
让您成功运行
select * from sys.master_files
您需要授予的最小权限如下:
GRANT VIEW ANY DEFINITION TO [texas_user]
GO
我已经测试过,它在sql 2008 r2上工作正常
regards
marcelo
答案 1 :(得分: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
)。