我有遗留应用程序,检查SQL Server的版本是否为6.5,7或2000.如果没有,则返回不支持的数据库错误。我希望这个应用程序在SQL Server 2008上使用数据库。有没有办法伪造版本,以便应用程序检查SQL Server版本通过。我的遗留应用程序代码是FoxPro。我没有办法重新编译FoxPro应用程序。
答案 0 :(得分:6)
您是否尝试过setting the compatibility level到80(这意味着SQL Server 2000):
EXEC sp_dbcmptlevel AdventureWorks, 80;
SQL Server数据库的版本可以是以下之一:
答案 1 :(得分:3)
应用程序通常会通过选中@@VERSION
或SERVERPROPERTY('ProductVersion')
来验证当前的服务器版本。两者都不可能覆盖或伪造。
不明确检查版本的应用程序可以在兼容级别较低的数据库中运行。但是,如果应用程序具有明确检查上述之一的代码,那么您无能为力。
答案 2 :(得分:2)
设置数据库的兼容级别应该可以正常工作。您可以使用sp_dbcmptlevel
执行此操作