SQL Server Management Studio 2008 Intellisense - PullRequest
26 голосов
/ 30 октября 2008

Я только что установил SQL Server Express 2008 из-за функции intellisense. Сначала это сработало, но потом перестало работать. Ища возможность проверить и позже проконсультироваться с Google, я обнаружил, что это выглядит как Microsoft отключил intellisense при подключении к базам данных SQL Server 2005. Это абсолютно правильно?
Есть ли какое-то решение для этого (какой-то реестр "переключатель")?

Ответы [ 13 ]

25 голосов
/ 31 октября 2008

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

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

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

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

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

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

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

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

16 голосов
/ 25 марта 2013

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

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

12 голосов
/ 31 октября 2008

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

8 голосов
/ 01 декабря 2010

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

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

dbForge SQL Complete - main view

6 голосов
/ 30 октября 2008

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

Похоже, что intellisense предлагал «неправильный» синтаксис для баз данных до 2008 года во время CTP и был удален в окончательной первоначальной версии.

2 голосов
/ 23 мая 2011

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

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

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

3) IntelliSense должен быть обновлен с последними изменениями в базы данных.
а) Нажмите CTRL + SHIFT + R б) Перейти в Edit -> IntelliSense -> Обновить локальный кэш

4) Перейдите в Инструменты -> Параметры -> Текстовый редактор -> Transact-SQL -> Общие -> IntelliSense Выберите элементы автоматического списка и проверьте информацию о параметрах.

2 голосов
/ 31 октября 2008

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

ИСПРАВЛЕНИЕ: Оказывается, мой коллега думал, что он подключался к серверу 2005 года, но на самом деле это был сервер 2008 года.

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

1 голос
/ 26 января 2011

Кстати, недавно мы выпустили новую версию SQL Complete, которая предлагает кучу новых функций . Все новые функции доступны в стандартной версии Standard Edition (30-дневная бесплатная пробная версия, $ 49,95).

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

1 голос
/ 02 июля 2009

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

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

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

1 голос
/ 05 января 2009

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

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

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

...