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


Выявление проблем с технологией IntelliSense с помощью SQL Server Management Studio (SSMS)

Применимо: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure azure Synapse Analytics Analytics Platform System (PDW)

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

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

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

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

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

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

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

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

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

    WHERE FirstName LIKE 'Patri%|'

  • Автоматические параметры отключены.

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

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

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

Следующие проблемы относятся к ядро СУБД Редактор запросов SQL Server:

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

  • IntelliSense доступен только в том случае, если ядро СУБД Редактор запросов подключен к экземпляру ядро СУБД из SQL Server 2008 (10.0.x) или более поздней версии. IntelliSense недоступна, если Редактор запросов подключены к более ранним версиям ядро СУБД.

  • IntelliSense отключен в ядро СУБД Редактор запросов при установке режима SQLCMD.

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

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

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

    • Отключите окно редактора от экземпляра ядро СУБД и повторное подключение.

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

  • Списки завершения могут перестать работать, если вы потеряете подключение к экземпляру ядро СУБД. В этом случае необходимо восстановить соединение с экземпляром.