Azure Synapse无服务器池SQL用户无法执行sys.fn_get_audit_file()
Azure Synapse无服务器池:SQL用户执行sys.fn_get_audit_file()的权限问题
问题原因
报错提示的VIEW SERVER SECURITY AUDIT是独立的服务器级权限,与你已授予的VIEW SERVER STATE、数据库级CONTROL权限互不包含,普通SQL用户不会默认拥有该权限,而Azure AD用户(如服务器管理员)自带此权限,因此可以正常执行函数。
解决步骤
需要在master数据库中为SQL用户显式授予VIEW SERVER SECURITY AUDIT权限,执行以下语句:
USE master; GRANT VIEW SERVER SECURITY AUDIT TO testuser;
注意事项
- 该权限属于服务器级权限,只能在
master数据库中完成授予操作,无法在用户自定义数据库(如db1)中执行。 - 授予后无需额外重启服务,用户即可立即使用
sys.fn_get_audit_file()函数。
内容的提问来源于stack exchange,提问作者Amit
相关产品推荐
相关产品推荐

