IntelliSense не работает, но он включен

30

Эта проблема действительно оказывается сложной (и довольно раздражающей).

В SQL Server Management Studio 2008 еще несколько дней назад мой IntelliSense работал отлично. Затем внезапно это прекратилось. Значок, как он активирован в меню панели инструментов и в разделе Инструменты -> Параметры -> Текстовый редактор -> T-SQL -> IntelliSense, говорит, что он там включен.

Я попытался обновить кэш IntelliSense с помощью Ctrl-Shft-R, но это тоже не работает.

Любые идеи, что случилось с моим IntelliSense и что мне нужно сделать, чтобы вернуть его?

Томас Стрингер
источник

Ответы:

31

Есть ряд возможностей, где IntelliSense не работает:

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

Есть два способа обновить кеш:

  1. Хит Ctrl+Shift+R
  2. Перейдите в Edit -> IntelliSense -> Обновить локальный кэш

Если IntelliSense по-прежнему не работает, убедитесь, что IntelliSense включен. Чтобы проверить это из окна редактора запросов T-SQL текущей базы данных:

  1. Перейдите в Инструменты -> Параметры -> Текстовый редактор -> Transact-SQL -> Общие -> IntelliSense
  2. Перейти к Query -> IntelliSense должен быть выбран
  3. Также убедитесь, что редактор T-SQL не запускается в режиме SQLCMD. Проверять:

    • Выберите Сервис -> Параметры -> Выполнение запроса -> SQL Server -> Общие.
    • Убедитесь, что «По умолчанию открывать новые запросы в режиме SQLCMD» не отмечено.
    • или Перейти к запросу -> Режим SQLCMD не должен быть выбран

Подробнее

Ритеш Д
источник
16

У меня была эта проблема, поэтому я последовал совету Ritesh D и пошел в Инструменты -> Параметры -> Текстовый редактор -> Transact-SQL -> Общие . Я проверил IntelliSense и обнаружил, что он уже включен.

Однако я обнаружил, что «Члены автоматического списка» и «Информация о параметрах» не были проверены. Поэтому я проверил их. Это решило мою проблему.

введите описание изображения здесь

Эти две функции, которые я считаю «intellisense», и Microsoft не соглашается :

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

Майкл Керри
источник
9

Убедитесь, что для параметра Максимальный размер сценария установлено значение «Неограничено» в пункте меню «Сервис» -> «Параметры» -> «Текстовый редактор» -> Transact-SQL -> «Общие» -> IntelliSense. Я сделал это и Intellisense начал работать

RT0205
источник
5

Когда вы используете удаленную базу данных с низкой скоростью передачи данных (например, я подключился из Европы к офисному серверу в Дальней Азии) и когда структура базы данных не маленькая (например, много таблиц), тогда SSMS требуется гораздо больше времени для завершения всех данных IntelliSense.

В моем случае мне пришлось ждать более 1 минуты, чтобы получить доступ к IntelliSense (медленное соединение и дБ с около 1000 таблицами). (SSMS не отображает индикатор прогресса или информацию, связанную с процессом загрузки IntelliSense)

Бронек
источник
1

Вне базы данных может привести к intelissense прекратить работу. Вы можете проверить это, переведя любую базу данных на подключенном сервере в положение OFFLINE и вернув ее обратно.

Я могу подтвердить это как ошибку SQL 2016

джинсовый
источник
1

Я заметил эту проблему, когда отозвал некоторые разрешения для публичного пользователя, как это было предложено Azure. Это помогло решить мою проблему:

use master
go
GRANT EXECUTE ON [xp_instance_regread] TO [public]
GRANT EXECUTE ON [xp_regread] TO [public]
Майкл Капобьянко
источник
-3

У меня была такая же проблема с SQL Server 2008 R2. Это было решено только после применения SQL Server 2008R2 Service Pack 1.

Гита
источник
SQL Server 2008 и SQL Server 2008 R2 являются разными версиями. Вопрос о первом, а ваш ответ - о втором.
Андрей М