Вопрос

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

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

Это было полезно?

Решение

Если вы хотите увидеть добавленную функцию, проголосуйте за запрос на 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.

Другие советы

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

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

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

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

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

dbForge SQL Complete - основной вид

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

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

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

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

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

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

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

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

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

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

  

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

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

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

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

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

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

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

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

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

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

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

Toad Soft

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

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

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

Все эти функции сэкономили мне много времени.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top