Как проверить совместимость сценария SQL с sql server 2000

Я написал много сценариев для SQL Server 2005, но теперь мне нужно переписать эти оригинальные сценарии, чтобы заставить их работать на SQL Server 2000.

Я не помню всех различий между 2005 и 2000 годами. Например, CTE было объявлено только в 2005 году, и я должен переписать эти запросы, чтобы они работали на SQL Server 2000.

Мне нужен способ проверить синтаксис, хотя под рукой нет SQL Server 2000. Установка уровня совместимости на 80 не решает проблему - я не получаю ни предупреждений, ни ошибок.

Есть ли инструмент для проверки синтаксиса скриптов? Можно ли это сделать с помощью SSMS 2008?


person Vadim Loboda    schedule 16.04.2012    source источник


Ответы (1)


Вам нужно открыть соединение с базой данных SQL Server 2000, где вы будете выполнять команды.

Затем вы устанавливаете синтаксический анализ только в соединении и «выполняете» команду. Он не будет исключен, но, если есть какие-либо проблемы с синтаксисом, он выдаст соответствующие ошибки.

Важно сделать это в базе данных, в которой вы исключите команды, поскольку они зависят от объектов базы данных (например, существующих имен таблиц).

Здесь у вас есть информация об этой опции SET:

УСТАНОВИТЬ ТОЛЬКО ДЛЯ ЗАПИСИ

person JotaBe    schedule 16.04.2012
comment
Хороший вариант. Но проблема в том, что SQL Server 2000 недоступен. Итак, имея SQL Server 2008 R2, мне нужно проверить синтаксис без фактического развертывания. - person Vadim Loboda; 16.04.2012
comment
Вы можете установить SQL Server Express 2000 и использовать его для этой цели. - person JotaBe; 16.04.2012
comment
Нет такой вещи, как SQL Server 2000 Express. Может ты имел ввиду MSDE? bing.com/search?q=download+msde+2000. .. Если вы идете по этому пути, ПОЖАЛУЙСТА, убедитесь, что вы установили Service Pack 4. Последнее, что вам нужно, - это открыть себя для червя Slammer. - person Aaron Bertrand; 16.04.2012
comment
Да, вы совершенно правы. Я имел ввиду MSDE. Я не помнил, как изменилось название (а также архитектура и установка) на тот момент. Кроме того, теперь доступна новая версия, которая включает исправления для slammer: microsoft.com /download/en/details.aspx?id=22661 - person JotaBe; 16.04.2012
comment
Я полный неудачник. У меня Win7 x64. MSDE несовместим с этой версией Windows. :) - person Vadim Loboda; 16.04.2012
comment
MSDE (и даже SQL Server 2000) не поддерживается в Vista и более поздних ОС. Фактически, поддержка закончилась в августе 2008 года. Однако, возможно, вы заставите его запустить, сделав то же самое, что и в предыдущем сообщении: social.msdn.microsoft.com/Forums/en-US/sqlexpress/thread/. Я рекомендую вам сделать точку восстановления перед установкой, так как я помню, что отменить или переустановить MSDE в некоторых случаях было очень сложно. Возможно, ваш клиент сможет перейти на более новую версию. На него могла подойти даже одна из новейших редакций Express. С тех пор это уже третье поколение! - person JotaBe; 16.04.2012