Позвольте мне поделиться информацией команды разработчиков о поддержке версий IntelliSense. Это было действительно побочным проектом с самого начала проекта IntelliSense и было частью бизнес-решения. Реализация IntelliSense требует полной точности реконструкции синтаксического анализатора ядра на стороне клиента с использованием базы управляемого кода. Поддержка нескольких версий сервера означает параллельную разработку и реализацию нескольких версий парсеров и соответствующей инфраструктуры. Это умножает время и затраты на разработку, тестирование и поддержку. В то же время основной модуль является важной базой продукта, которая позволяет не только функции IntelliSense, но и другим продуктам, включая Upgrade Advisor, анализировать сценарии; в долгосрочной перспективе это потенциально любая функция, которая требует синтаксического и семантического понимания языка Transact-SQL.
В CTP5 и CTP6 у IntelliSense была известная проблема, заключавшаяся в том, что она неправильно проверяла версию сервера, поэтому пользователи CTP могли подключать любую версию SQL Server с помощью IntelliSense. Хотя некоторые пользователи этого не заметили, IntelliSense работала некорректно, как хотелось бы. Результат заключался в том, что IntelliSense обладал высоким потенциалом, чтобы подсказывать пользователям неверный сценарий Transact-SQL или ложноотрицательно указывать на то, что сценарий содержит ошибки, в то время как в этих версиях он абсолютно действителен.
Учитывая, что целью IntelliSense номер один является повышение производительности при создании сложных запросов или хранимых процедур (или просто скриптов Transact-SQL), эта проблема рассматривалась как фактор снижения производительности, что оказывает огромное негативное влияние. из новой функции.
В версии RC0 эта известная проблема была исправлена: IntelliSense проверяет версию сервера и предоставляет свою функцию в поддерживаемой версии, то есть в SQL Server 2008.
В первой версии IntelliSense включен для подмножества языка Transact-SQL. Это связано с большим объемом работ по реализации лексера, синтаксического анализатора, связывателя и объектной модели документа сценария в управляемом коде для всей языковой области. Команда разработчиков движется вперед, уделяя особое внимание расширению области языковой поддержки.
Я надеюсь, что эта информация содержит как минимум справочную информацию о том, почему целевая версия была выбрана только для SQL Server 2008.
Всем, кто использует сборку RTM, следует рассматривать сборку CU1 (накопительное обновление 1), доступную здесь, как достаточно исправлено несколько ошибок IntelliSense.