我需要授予数据库用户对
sys.master_files
表的读取权限。我怎样才能做到这一点?
当前用户拥有此权限:
在
SELECT
上调用 sys.master_files
将返回空结果。我还使用 sa
用户测试了相同的查询,该查询按预期工作。
让你跑成功
select * from sys.master_files
您需要授予的最低权限如下:
GRANT VIEW ANY DEFINITION TO [texas_user]
GO
我已经测试过,它在 sql 2008 r2 上运行良好
这些服务器级别权限也可以通过 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
)。