我们有一个构建在 SQL Server 2005 之上的应用程序,我们无法控制该应用程序。我们最近发现该应用程序正在向 SQL 发送一些非常低效的 SELECT 查询,从而导致数据库出现严重的容量问题。我知道正确的解决方案是破解应用程序的代码并更改查询,但由于我不会详细说明这将需要很长时间。有什么方法可以拦截 SQL Server 上的这个特定查询并有选择地将其重写为更优化的查询吗?
您可以使用这种方法。
它对我来说就像一个魅力:)
而不是试图拦截
并修改源自的 SQL 调用
应用程序,也许你可以
相反,实现一个抽象层
不改变应用程序的
SQL。例如,如果您可以修改
DSN 或登录连接字符串
应用程序,然后考虑
下列的。我们假设当前
数据库是[A]。创建一个新数据库
[B] 包含视图和函数
(但不是表)同名
[A]中的内容,然后将其修改为
参考[A]中的表格。添加
无论额外的连接、过滤、
等需要实施你的
(我假设)基于行
安全。然后,修改应用程序
DSN 使用数据库 [B] 而不是
[A]。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)