SQL Server 2014中的兼容模式?

时间:2014-09-26 04:01:09

标签: sql-server

我使用的应用程序是由恐龙编写的,在sql查询中使用*==*运算符。这些查询连接在10个左右的表上,我有大约500个这样的查询。我所有的时间都是按原样升级现有软件,而不是编写任何代码。因此,更新所有这些中的查询构建器功能是不可行的。

可悲的是,我应该升级应用程序以使用SQL Server 2014,而不是2005年。而在2014年,许多运营商的向后兼容性被删除。因此,我需要在SQL Server 2014中启用某种兼容性选项(如果可用)。但是,我不知道是否有这样的事情,如果是的话,如何启用它。

1 个答案:

答案 0 :(得分:1)

找到查询以查找当前兼容性设置。在此处发布,以防其他人需要它。

WITH compatversions AS (
SELECT 65 AS MajorVersion ,'SQL Server 6.5' AS ServerVersion
UNION
SELECT 70,'SQL Server 7.0' 
UNION
SELECT 80 , 'SQL Server 2000' 
UNION 
SELECT 90 , 'SQL Server 2005' 
UNION 
SELECT 100 , 'SQL Server 2008/R2' 
UNION
SELECT 110 , 'SQL Server 2012' 
UNION 
SELECT 120 , 'SQL Server 2014' 
)

SELECT TOP 3 ServerVersion,MajorVersion
        ,ServerVersion + ' ('+ CONVERT(VARCHAR(3),MajorVersion) +')' AS DropDownFormat
    FROM compatversions
    WHERE MajorVersion IN (
        SELECT TOP 3 MajorVersion 
            FROM compatversions
            WHERE MajorVersion <= CONVERT(INT,CAST(@@microsoftversion/ 0x1000000 AS VARCHAR(3)) + '0')
            ORDER BY MajorVersion DESC) 
    ORDER BY MajorVersion ASC;

显然,SQL Server 2014支持最多2008兼容性。