SQL Server Management Studio 2008 Intellisense

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

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

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
26
0
23 408
13
Перейти к ответу Данный вопрос помечен как решенный

Ответы 13

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

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

Обновил мой ответ с помощью ссылки «root» от Microsoft.

DilbertDave 30.10.2008 16:29

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

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

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

Жаба Софт

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

Joel Coehoorn 30.10.2008 17:39

Да, первые версии были ужасны, попробуйте еще раз, сейчас они очень стабильны.

user32415 12.11.2008 19:14

но есть ли у него intellisense?

Maslow 01.07.2009 16:29

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

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

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

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

Ответ принят как подходящий

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

Let me share product team’s information about the version support of IntelliSense. This was a truly by-design from the beginning of IntelliSense project and it was a part of business decision. Implementation of IntelliSense requires a full fidelity of engine parser reconstruction in client side using managed code base. Support of multiple server versions means design and implementation of multiple versions of parsers and related infra in parallel. This multiplies time and cost to develop, test and support. At the same time, the core module is an important product base that enables not only IntelliSense feature but also other products including Upgrade Advisor to analyze scripts; in the long term, it is potentially any feature that needs syntactic and semantic understanding of Transact-SQL language.

In CTP5 and CTP6, IntelliSense had a known issue that it did not correctly check the server version so CTP users could connect any version of SQL Server with IntelliSense. While some users didn't notice it, IntelliSense was not correctly working as desired. The impact was that IntelliSense had a high potential to guide users to script incorrect Transact-SQL or to false-negatively indicate that a script has errors while it is perfectly valid in those versions.

Considering the number one goal of IntelliSense is to increase productivity of authoring complex query or stored procedure (or simply Transact-SQL scripts), this issue was regarded as a factor to decrease productivity which is a huge negative impact from a new feature.

In RC0, this known issue was corrected that IntelliSense checks the server version and provides its feature on supported version which is SQL Server 2008.

As a version one, IntelliSense is enabled on a subset of Transact-SQL language. It is because the large scope of work to implement lexer, parser, binder and script document object model in managed code for entire language scope. The product team is moving forward with a focus on expanding the language support scope.

I hope this information provides the background information at minimum why the target version was selected on SQL Server 2008 only.

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

Теперь он закрыт как по замыслу! :(

CoderHawk 19.02.2011 12:15

there is code in the SQL Server 2008 database engine that supports the intellisense feature in Management Studio 2008.

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

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

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

Rick 08.03.2010 04:16

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

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

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

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

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

dbForge SQL Complete - main view

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

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

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

1) Make sure you are connected to SQL Server 2008 Edition. IntelliSense does not work with the previous versions of SQL Server.

2) IntelliSense should be enabled. There are two ways to verify whether IntelliSense is enabled or not. a) From Toolbar b) Go to Tools -> Options -> Text Editor -> Transact-SQL -> IntelliSense

3) IntelliSense should be refreshed with the latest changes in database.
a) Press CTRL+SHIFT+R b) Go to Edit -> IntelliSense -> Refresh Local Cache

4) Go to Tools -> Options -> Text Editor -> Transact-SQL -> General -> IntelliSense Select Auto List Members and Check Parameter Information.

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

SteveC 07.02.2012 15:38

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

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

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

JoeFletch 10.09.2013 20:45

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

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

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

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

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

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