2014-09-26 4 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 года совместимость.