授予用户使用 QUERYTRACEON 9481 的权限

pok*_*oke 7 sql-server permissions hints sql-server-2014

Microsoft建议OPTION (QUERYTRACEON 9481)对在兼容性级别 120 下运行的 SQL Server 2014 数据库性能“降低”的查询使用。

在我的情况下,“降级”意味着从几秒钟到几分钟或更长时间。性能方面,9481 工作得非常好;然而,普通用户会得到一个很好的错误而不是查询结果(运行 SSRS 报告):

User 'xxxxx' does not have permission to run DBCC TRACEON.
Run Code Online (Sandbox Code Playgroud)

该文档表明用户必须是 sysadmin 角色的成员才能运行DBCC TRACEON

是否有任何解决方法可以允许非系统管理员运行使用此提示的查询?

我宁愿不将兼容性级别降低回 110,因为我们的大多数查询都可以接受或工作得更好。

小智 4

您可以作为查询的系统管理员创建计划指南,然后允许用户运行预先存在的计划。否则,您所能做的就是重写查询。

QUERYTRACEON在计划指南中使用