如何让用户访问SQL Server中的sys.master_files?

时间:2013-09-20 08:18:39

标签: sql sql-server-2008-r2

我需要为数据库用户提供对sys.master_files表的读访问权限。我怎么能这样做?

目前,用户拥有此权限:

enter image description here

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

2 个答案:

答案 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 )。