2008-10-30 3 views
26

Я только что установил SQL Server Express 2008 из-за функции intellisense. Сначала он работал, но не работал. Если вы хотите проверить и позже обратиться к Google, я обнаружил, что он выглядит как Microsoft отключил intellisense, если вы подключаетесь к базам данных SQL Server 2005.SQL Server Management Studio 2008 Intellisense

Это абсолютно верно?
Есть ли какое-либо решение для этого (какой-то реестр "switch")?

ответ

25

Если вы хотите, чтобы добавить добавленную функцию, проголосуйте за запрос по адресу Connect. Здесь обратная связь от команды о том, почему он был понижен:

Позволь мне поделиться информации команды продукта о поддержке версии в IntelliSense. Это был поистине по проекту от начала Проект IntelliSense, и это было частью бизнес-решения. Внедрение IntelliSense требует полной точности для анализатора двигателя с использованием управляемой базы кода. Поддержка нескольких версий сервера означает дизайн и реализация нескольких версий парсеров параллельно и параллельно. Это умножает время и стоимость на разработку, испытание и поддержку .В то же время основной модуль является важной продуктовой базой , которая позволяет использовать не только функцию IntelliSense, но и другие продукты , включая советника по модернизации до анализировать сценарии; в долгосрочной перспективе это является потенциально любой функцией, которая нуждается в синтаксическом и семантическом понимании языка Transact-SQL.

В CTP5 и CTP6, IntelliSense была известная проблема, что он сделал не правильно проверить версию сервера, чтобы пользователи CTP может подключиться любой версии SQL Server, с IntelliSense. В то время как некоторые пользователи этого не заметили, IntelliSense работал некорректно. Удар был что IntelliSense имел высокий потенциал, чтобы направлять пользователей сценария некорректной Transact-SQL или ложных отрицательно показывают, что сценарий содержит ошибки, а это вполне допустимо в этих версиях.

Учитывая цель номер один из IntelliSense является повышение производительности авторинга сложного запроса или хранимой процедуры (или просто скриптов Transact-SQL), этот вопрос был рассматривать как фактор снижению производительности, который это огромный минус влияние новой функции.

В RC0 это известная проблема была исправлена ​​ , что IntelliSense проверяет версию сервера и обеспечивает его функцию на поддерживаемой версии, которая SQL Server 2008.

В первой версии, IntelliSense является включен на подмножество языка Transact-SQL . Это связано с тем, что объем работы для реализации lexer, анализатора, связующего и документа сценария объектная модель в управляемом коде для весь язык. Команда движется вперед с фокусом на , расширяя область поддержки языка.

Я надеюсь, что эта информация предоставит справочную информацию минимум, почему целевая версия была выбрана на SQL Server 2008 только.

Любое использование RTM сборки следует учитывать CU1 (Накопительное обновление 1) построения доступны here, как довольно много IntelliSense ошибки были решены. не

+0

Теперь это «Закрыто по дизайну»! :( – CoderHawk

6

Я не; т думает, что есть способ обойти эту проблему (хотя я могу ошибаться), но this может помочь в ваших поисках истины ;-)

выглядит как IntelliSense предлагал «неправильного» синтаксиса до 2008 года в CTP и был удален в RTM.

+0

Обновлен мой ответ ссылкой «root» от Microsoft. – DilbertDave

0

Не думайте об этом так много, что они отключили intellisense в SQL Server 2005 так, как этот SQL Server 2005 не был построен с учетом поддержки intellisense; есть код в ядро ​​базы данных SQL Server 2008, которая поддерживает функцию IntelliSense в Management Studio 2008.

Да, я знаю, что это казалось работать в более поздних CTP предпросмотра, но некоторые прибегая к помощи (и ссылка DilbertDave в) показывает, что было несколько способов, в которых поведение CTP было нарушено.

0

Просто используйте toad, waaaaay лучше, чем любой инструмент Microsoft. Есть бесплатная версия.

Toad Soft

+0

Жаба? Шутки в сторону? Тьфу! –

+0

Что плохого в этой жабе? – Kev

+1

Возможно, ничего: прошло около 4 лет с тех пор, как я в последний раз должен был его использовать. Но у меня очень уродливые воспоминания из этого опыта. –

2

КОЛЛЕГА и у меня есть и установлен SQL Server Management Studio 2008, и мы оба подключены к одному SQL Server 2005 и 2008 баз данных. Он получает intellisense как в 2005, так и в 2008 году. Я просто получаю его за 2008 год. Мы не можем понять, почему это так.

КОРРЕКЦИЯ: Оказывается, мой коллега думал, что он подключается к серверу 2005 года, но на самом деле он был сервером 2008 года.

Заключение: после консультации с нашими администраторами баз данных это не представляется возможным. Они также провели обширные исследования по этому вопросу.

12

SQLPrompt от Red-Gate делает работу довольно красиво во всех версиях (2000, 2005 и 2008), а также работает внутри VS и даже некоторых текстовых редакторах.

1

есть код в ядро ​​базы данных SQL Server 2008, которая поддерживает функцию IntelliSense в Management Studio 2008.

Нет там нет. Вы совершенно неправы, и его нужно ударить мокрой рыбой.

Все, что он делает, это опрос различных виртуальных таблиц INFORMATION_SCHEMA для открытия. Причина, по которой они отключили его от предыдущих версий, заключается в том, что теоретически это может побудить вас использовать синтаксис, действительный только с 2005 года, но многие люди использовали его со 100% успехами.Конечно, причина, по которой они были отключены, заключается в том, что она уменьшила одно преимущество обновления серверов до 2008 года (именно там они делают реальные деньги).

+4

В соответствии с потоком Connect, они воспроизводили серверный механизм синтаксического анализа на стороне клиента. Комментарий, который вы цитируете, на самом деле в основном правильный. – Rick

1

Вы можете использовать intellisense в DbOctopus - также работает с SQL Server 2005 и 2000. Это в настоящее время бесплатно, но только до 1 сентября 2009 года

Вы не можете найти его здесь:

http://www.cogin.com/dboctopus/

8

Это правда, что IntelliSense в SSMS работает только для SQL Server 2008.

Недавно мы выпустили инструмент автозаполнения для SSMS - dbForge SQL Complete,, который обеспечивает SQL автозаполнения и функциональные возможности форматирования для SQL Server 2008, 2005 и 2000.

dbForge SQL Complete - main view

1

Кстати, в последнее время у нас есть выпустила новую версию SQL Complete, которая предлагает bunch of new features. Все новые функции доступны в условно-бесплатном стандартном выпуске (30-дневная бесплатная пробная версия, 49,95 долларов США).

Вы по-прежнему можете получить все базовые функции, аналогичные версии 1.0, с помощью Express Edition.

2

Если у вас установлена ​​правильная версия, и если у вас все еще нет Intellisense this, это может вам помочь.

1) Убедитесь, что вы подключены к SQL Server 2008 Edition. IntelliSense не работает с предыдущими версиями SQL Server.

2) IntelliSense должен быть включен. Есть два способа проверить , включен ли IntelliSense или нет. а) Из панели инструментов б) Перейдите в раздел Инструменты -> Параметры -> Текстовый редактор -> Transact-SQL -> IntelliSense

3) IntelliSense должен быть обновлен с учетом последних изменений в базе данных.
а) Нажмите CTRL + SHIFT + R б) Перейти к Edit -> IntelliSense -> Refresh Local Cache

4) Перейдите в меню Сервис -> Параметры -> Текстовый редактор -> Transact-SQL -> Общие -> IntelliSense Выберите Auto List Members и проверьте информацию о параметрах.

+0

Спасибо за указатель на необходимость обновления локального кеша, я был что я получаю красную короткую линию – SteveC

16

Еще один бесплатный инструмент для добавления в список ApexSQL Complete. Я использую его в течение последних нескольких месяцев, и я нахожу его немного лучше, чем SSMS intellisense, потому что он предоставляет более полезные всплывающие подсказки.

Как правило, вы не можете ошибиться ни в одном из инструментов, упомянутых здесь, особенно если вы готовы платить за премиальные инструменты.

+0

Работает очень хорошо для меня! Единственная проблема заключается в том, что она немного ресурсоемкая и иногда блокирует SSMS. Может быть, из-за моей VPN или машины. продолжайте использовать его, хотя! – JoeFletch

0

Я использую бесплатное программное обеспечение Atlantis SQL Enywhere уже почти более года и действительно впечатлено им. Работает с версиями SQL 2005 и SQL 2008. Я действительно впечатлен своими особенностями, а сочетания клавиш похожи на VS, поэтому переход действительно плавный к новому редактору.

Некоторые из функций, которые стоит упомянуть.

Intellisense, который фактически работает при использовании нескольких таблиц и объединений с псевдонимами. Предложение объединения при использовании нескольких таблиц (сокращает время при наборе текста, очень аккуратно). Богатое форматирование кода sql, AutoIndent с помощью Ctrl K, Ctrl D. Лучшее представление SQL планы. Выделяет объявления переменных во время их использования. Определение таблицы при наведении мыши.

Все эти функции избавили меня от времени.

Не проверял это на SQL 2012 еще.

Смежные вопросы