SQL Server 2005 中的拦截和重写查询

2023-12-27

我们有一个构建在 SQL Server 2005 之上的应用程序,我们无法控制该应用程序。我们最近发现该应用程序正在向 SQL 发送一些非常低效的 SELECT 查询,从而导致数据库出现严重的容量问题。我知道正确的解决方案是破解应用程序的代码并更改查询,但由于我不会详细说明这将需要很长时间。有什么方法可以拦截 SQL Server 上的这个特定查询并有选择地将其重写为更优化的查询吗?


您可以使用这种方法。 它对我来说就像一个魅力:)

而不是试图拦截 并修改源自的 SQL 调用 应用程序,也许你可以 相反,实现一个抽象层 不改变应用程序的 SQL。例如,如果您可以修改 DSN 或登录连接字符串 应用程序,然后考虑 下列的。我们假设当前 数据库是[A]。创建一个新数据库 [B] 包含视图和函数 (但不是表)同名 [A]中的内容,然后将其修改为 参考[A]中的表格。添加 无论额外的连接、过滤、 等需要实施你的 (我假设)基于行 安全。然后,修改应用程序 DSN 使用数据库 [B] 而不是 [A]。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SQL Server 2005 中的拦截和重写查询 的相关文章

随机推荐