2014-09-26 71 views
0

我正在使用的應用程序是由恐龍編寫的,在sql查詢中使用*==*運算符。這些查詢在10個左右的表上連接,並且我有大約500個這樣的查詢。而我所有的時間是升級現有的軟件,而不是編寫任何代碼。因此,更新所有這些查詢構建器函數是不可行的。SQL Server 2014中的兼容模式?

不幸的是,我應該升級應用程序以使用SQL Server 2014,而不是2005年。並且在2014年,很多運算符的向後兼容性被刪除。所以,如果可用,我需要在SQL Server 2014中啓用某種兼容性選項。但是,我不知道是否有這樣的事情,如果是,如何啓用它。

回答

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的兼容性。