IntelliSense no funciona pero está habilitado

30

Este problema realmente está demostrando ser complicado (y bastante molesto).

En SQL Server Management Studio 2008, hasta hace unos días mi IntelliSense funcionaba muy bien. Entonces, de repente, se detuvo. El ícono como está habilitado en el menú de la barra de herramientas y en Herramientas -> Opciones -> Editor de texto -> T-SQL -> IntelliSense dice que está habilitado allí.

He intentado actualizar el caché IntelliSense con Ctrl-Shft-R, pero eso tampoco funciona.

¿Alguna idea de lo que sucedió con mi IntelliSense y lo que necesito hacer para recuperarlo?

Thomas Stringer
fuente

Respuestas:

31

Hay varias posibilidades donde IntelliSense no funciona:

Hay casos en que la memoria caché local utilizada por IntelliSense se vuelve obsoleta. Actualizar el caché es fácil pero no necesariamente obvio.

Hay dos formas de actualizar el caché:

  1. Golpear Ctrl+Shift+R
  2. Vaya a Editar -> IntelliSense -> Actualizar caché local

Si IntelliSense aún no funciona, asegúrese de tener IntelliSense habilitado. Para verificar esto desde la ventana del editor de consultas T-SQL de la base de datos actual:

  1. Vaya a Herramientas -> Opciones -> Editor de texto -> Transact-SQL -> General -> IntelliSense
  2. Vaya a Consulta -> IntelliSense debe estar seleccionado
  3. Verifique también que el Editor T-SQL no se inicie en modo SQLCMD. Verificar:

    • Vaya a Herramientas -> Opciones -> Ejecución de consulta -> SQL Server -> General
    • Asegúrese de que "De forma predeterminada, abrir nuevas consultas en modo SQLCMD" esté desmarcado.
    • o Ir a consulta -> El modo SQLCMD no debe seleccionarse

Lee mas

Ritesh D
fuente
16

Tuve este problema, así que seguí el consejo de Ritesh D y fui a Herramientas -> Opciones -> Editor de texto -> Transact-SQL -> General . Verifiqué IntelliSense y descubrí que ya estaba habilitado.

Sin embargo, descubrí que "Miembros de la lista automática" y "Información de parámetros" no estaban marcados. Así que los revisé. Esto resolvió mi problema.

ingrese la descripción de la imagen aquí

Estas dos características son lo que pienso como "intellisense", y Microsoft no está en desacuerdo :

IntelliSense es el término general para una serie de características: Lista de miembros, Información de parámetros, Información rápida y Palabra completa. Estas características lo ayudan a obtener más información sobre el código que está utilizando, realizar un seguimiento de los parámetros que está escribiendo y agregar llamadas a propiedades y métodos con solo unas pocas teclas.

Michael Currie
fuente
9

Verifique que el Tamaño máximo de script esté configurado en "Ilimitado" en la opción de menú Herramientas -> Opciones -> Editor de texto -> Transact-SQL -> General -> IntelliSense. Hice esto e intellisense comenzó a funcionar

RT0205
fuente
5

Cuando utiliza una base de datos remota con una conexión de baja transferencia (por ejemplo, me conecté desde Europa al servidor de oficina de Asia lejana) y cuando la estructura de la base de datos no es pequeña (por ejemplo, muchas tablas), SSMS tarda mucho más tiempo en completar todos los datos de IntelliSense.

En mi caso, tuve que esperar más de 1 minuto para tener IntelliSense accesible (conexión lenta y db con aproximadamente 1000 tablas). (SSMS no muestra ningún indicador de progreso ni ninguna información relacionada con el proceso de carga de IntelliSense)

Bronek
fuente
1

Las bases de datos OFFLINE pueden hacer que intelissense deje de funcionar. Puede probarlo poniendo cualquier base de datos en su servidor conectado en OFFLINE y volviéndola.

Puedo confirmarlo como un error de SQL 2016

vaquero
fuente
1

Noté este problema cuando revoqué algunos permisos para el usuario público, como lo sugirió Azure. Esto ayudó a resolver mi problema:

use master
go
GRANT EXECUTE ON [xp_instance_regread] TO [public]
GRANT EXECUTE ON [xp_regread] TO [public]
Michael Capobianco
fuente
-3

Tuve el mismo problema con SQL Server 2008 R2. Se resolvió solo después de aplicar el servidor SQL 2008R2 Service Pack 1.

Geeta
fuente
SQL Server 2008 y SQL Server 2008 R2 son versiones diferentes. La pregunta es sobre el primero, y su respuesta, sobre el segundo.
Andriy M