小编R. *_*raz的帖子

在 SQL Server 上,是否可以限制某些用户使用某些函数、运算符或语句?

我们支持大量对查询性能不太了解或根本不关心的开发人员和分析师。我们每天都会有数百个构思不佳的查询(也由于设计不佳的数据库架构),每个查询都会从我们的服务器中吸取数十 GB 的 RAM,并将执行计划存储在 SQL 缓存中的 MB 范围内。

我们想限制某些用户使用 SORT 和 HASH MATCH,特别是 ORDER BY、SELECT DISTINCT 和任何类型的 JOIN。我们的目的是让用户提取他们的数据,但只在他们这边工作。

这可以在 SQL Server 中实现吗?有没有支持它的数据库引擎?您对此有何想法?

我知道这会违反关系数据库的原则,但我们正在寻找某种方法来强制正确使用引擎而不是未受过教育的用户滥用。

我们已经在考虑实现 Resource Governor 为这些坏查询分配一定数量的机器资源。

performance sql-server execution-plan query-performance

7
推荐指数
2
解决办法
982
查看次数