所以我们有一个软件,它的 SQL 语句写得很差,导致表中的每一行都被返回。表中有几百万行,因此这会导致严重的内存问题并在我们的客户端机器上崩溃。供应商正在为该问题创建补丁,但还需要几周时间。与此同时,我们试图找出一种限制服务器端返回结果数量的方法,作为临时修复。
我真的不希望有解决方案,我环顾四周,并没有真正看到这样做的任何方法,但是我希望有人可能有想法。
先感谢您。
编辑
我忘记了一条重要信息,我们无法访问源代码,因此我们无法在形成 SQL 语句的客户端更改此信息。没有真正的服务器端组件,客户端只是直接访问数据库。任何解决方案基本上都需要一个过程、触发器或某种 SQL-Server 2008 设置/命令。
最佳答案
一种可能的解决方案是
SELECT TOP x * FROM OffendingTable
作为您的 View 定义 因此,客户端在选择数据时不知道更改。
使用 query governor
如果您不介意为违规查询返回任何数据,查询调控器允许您这样做。
关于sql-server - 限制服务器端返回的行数(强制限制),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2874168/