在执行之前将 SQL Server 查询替换为另一个查询

在执行之前将 SQL Server 查询替换为另一个查询

我正在尝试使用 SQL Server 中的旧版应用程序,该应用程序有时会执行以下查询

SELECT serverproperty('EngineEdition') as sqledition

服务器回复 2(这是正确的版本),但是应用程序关闭,因为应用程序要求在 SQL Server Express 4 上运行。我们无法访问代码,而且开发人员早已离开。

有没有办法配置 SQL Server,以便当收到此查询时,它只返回 4 而不是属性的值?

谢谢

答案1

您最好只安装 Express 并将其指向该位置。您在这方面所做的任何事情显然充其量只是一种黑客行为,具有未知的风险和后果。如果应用程序已经超出了 Express 的限制,那么这是一个很好的迹象,表明您需要继续使用该应用程序,甚至超出了您已经提到的是时候继续前进的迹象。

答案2

+1 squillman。没有办法覆盖“serverproperty”的返回值。如果代码是用 .NET 编写的,那么您可以让开发人员破解它(使用 Reflector 或类似程序)。由于查询可能在源纯文本中,您甚至可能幸运地用十六进制编辑器将其替换为类似

SELECT 4 as sqledition

相关内容