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


Устранение неполадок с IntelliSense для Transact-SQL

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

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

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

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

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

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

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

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

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

    WHERE FirstName LIKE 'Patri%|'

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

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

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

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

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

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

  • Технология IntelliSense доступна, только если Database Engine Query Editor подключен к экземпляру SQL Server 2008 Database Engine. Технология IntelliSense недоступна, если редактор запросов подключен к предыдущим версиям Database Engine.

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

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

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

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

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

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

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

См. также

Другие ресурсы