Поделиться через


Устранение сбоев в работе IntelliSense (среда SQL Server Management Studio)

В некоторых случаях параметры технологии IntelliSense могут работать не так, как ожидается.

Условия, влияющие на работу технологии IntelliSense

Следующие условия могут повлиять на работу технологии IntelliSense.

  • Выше позиции курсора есть ошибка кода.

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

  • Позиция ввода находится внутри комментария.

    Параметры технологии IntelliSense недоступны в том случае, если позиция ввода находится в исходном файле внутри комментария.

  • Позиция ввода находится внутри строкового литерала.

    Параметры технологии IntelliSense недоступны в том случае, если позиция ввода находится внутри кавычек, содержащих строковый литерал, например:

    WHERE FirstName LIKE 'Patri%|'

  • Функции автоматизации отключены.

    Многие функции технологии IntelliSense работают автоматически по умолчанию, но любую из них можно отключить.

    Даже если автоматическое завершение инструкций отключено, то использование функции технологии IntelliSense возможно. Дополнительные сведения см. в статье Настройка IntelliSense (среда SQL Server Management Studio).

Поддержка технологии IntelliSense в редакторе запросов к ядру СУБД

В отношении редактора запросов Компонент SQL Server Database Engine действуют следующие ограничения.

  • Функция IntelliSense в редакторе запросов ядра СУБД поддерживает не все элементы синтаксиса языка Transact-SQL. Справка по параметрам не предоставляется по параметрам некоторых объектов, например расширенных хранимых процедур. Дополнительные сведения см. в разделе Синтаксис языка Transact-SQL, поддерживаемый технологией IntelliSense.

  • Технология Intellisense доступна только в случае, если редактор запросов компонента Компонент Database Engine подключен к экземпляру Компонент Database Engine версии SQL Server 2008 или более поздней версии. Технология Intellisense не доступна, когда редактор запросов подключен к экземпляру компонента Компонент Database Engineболее ранней версии.

  • Поддержка технологии IntelliSense отключается в редакторе запросов компонента Компонент Database Engine при включении режима SQLCMD.

  • Функциональность технологии IntelliSense не охватывает объекты базы данных, созданные в другом соединении, установленном после подключения окна редактора к базе данных. Если в функциях технологии IntelliSense отсутствуют такие объекты, как списки завершения, можно выбрать один из трех механизмов обновления кэша объектов для окна редактора.

    • В меню Правка выберите пункт IntelliSense, а затем пункт Обновить локальный кэш.

    • Используйте сочетание клавиш CTRL+SHIFT+R.

    • Отключите окно редактора от экземпляра компонента Компонент Database Engine и установите соединение повторно.

  • В списки завершения не включаются объекты базы данных, на которые нет разрешений. Ссылки на объекты, для которых есть разрешения, в технологии IntelliSense отмечаются флагами. Например, если открыть скрипт, написанный другим пользователем, все ссылки на объекты, для которых у другого пользователя есть разрешения, а у вас нет, отмечаются флагами как неверные.

  • Списки завершения могут перестать функционировать при разрыве соединения с экземпляром компонента Компонент Database Engine. В этом случае необходимо восстановить соединение с экземпляром.