T-SQL 2000 до 2008 - PullRequest
       34

T-SQL 2000 до 2008

0 голосов
/ 06 марта 2011

У меня есть около 200-250 отчетов, которые были разработаны в SQL Server 2000, и я использовал *=, =* во многих местах. Совсем недавно мы перешли на SQL Server 2008, и все отчеты должны быть исправлены в соответствии со стандартом 2008 года.

Так что у меня есть несколько проблем с совместимостью, как

"В запросе используется внешнее объединение без ANSI операторы (*= или =*). Чтобы запустить это запрос без изменений, пожалуйста, установите уровень совместимости по току база данных до 80, используя SET Опция COMPATIBILITY_LEVEL для ALTER БАЗА ДАННЫХ. Настоятельно рекомендуется переписать запрос, используя ANSI внешний присоединиться к операторам (ЛЕВОЕ НАРУЖНОЕ СОЕДИНЕНИЕ, ПРАВО НАРУЖНОЕ СОЕДИНЕНИЕ). В будущих версиях SQL Server, операторы соединения не-ANSI не будет поддерживаться даже в режимы обратной совместимости. "

Так что требуется много времени для повторного запроса всех вещей и исправлений. Даже если нам не нужна обратная совместимость 2008 года, нам нужно исправить все эти запросы ...

Есть ли какой-нибудь инструмент, который легко исправит все эти запросы?

Спасибо и наилучшими пожеланиями,

Ответы [ 3 ]

3 голосов
/ 06 марта 2011

Нет инструмента. Как любой инструмент может знать, например, что это за семантика?

Вы меняете

FROM Table1 T1, Table2 T2, Table2 T3
WHERE T1.key *= T2.key AND T1.key = T3.key AND T3.foo = 'bar'

до

FROM
   Table T1
   JOIN
   Table T3 ON T1.key = T3.key
   LEFT JOIN
   Table T2 ON T1.key = T3.key
WHERE
    T3.foo = 'bar'

Вы можете использовать JOIN / LEFT JOIN и т. Д. По крайней мере с SQL Server 6.5: использование *= для SQL Server 2000 было невежеством и / или ленью

3 голосов
/ 06 марта 2011

Советник по обновлению Microsoft SQL Server 2008 1002 * должен идентифицировать ошибочный TSQL, но он не исправит его для вас.

Целесообразно запускать обновление SQL Server 2008Советник по всем обновляемым базам данных.

1 голос
/ 01 ноября 2011

В SSMS встроен инструмент, который может помочь, но вам все равно нужно будет его протестировать.Смотрите мой пост на SSC, который описывает технику:

http://www.sqlservercentral.com/Forums/FindPost1098339.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...