Nombre de objeto no válido del servidor SQL, pero las tablas aparecen en la lista de tablas SSMS
Estoy intentando crear una Stored Procedure
base de datos recién creada. Sin embargo el SSMS
intellisense no reconoce más de la mitad de las tablas que se han creado.
Por ejemplo, mientras que en la columna de la izquierda debajo de las tablas tengo una tabla dbo.Room
, cuando escribo " dbo.
" en la nueva ventana de consulta, esa tabla no aparece en la lista; de hecho, solo se enumeran 17 de 37 tablas.
No veo ninguna diferencia entre las tablas enumeradas por Intellisense y las que no. Si escribo dbo.Room manualmente, aparece subrayado, con un error de
Nombre de objeto no válido 'dbo.Room'..
¿Me he perdido algo al montar las mesas?
ACTUALIZACIÓN: He intentado actualizar la lista de tablas (varias veces)
Intentar:
Edit-> IntelliSense-> Refresh Local Cache o use la tecla de acceso rápido CTRL+ SHIFT+R
Esto debería actualizar los datos almacenados en caché por Intellisense para proporcionar soporte de escritura anticipada y detección de errores previa a la ejecución.
NOTA: Su cursor debe estar en el editor de consultas para que el menú IntelliSense esté visible.
Asegúrese de que la BD seleccionada sea aquella donde está la tabla. Estaba ejecutando el script en Master
. En mi caso tuve que cambiarme a hr_db
.
Error de novato pero podría ayudar a alguien.
Ctrl+ Shift+ Rtambién actualiza intellisense en Management Studio 2008.
Una vez que crea un nuevo objeto de SQL Server, el objeto recién creado no se actualiza en la caché local de IntelliSence y, debido a esto, muestra una línea roja debajo de ese objeto. Por lo tanto, solo necesita actualizar la caché local de SSMS IntelliSence y, una vez que la actualice, IntelliSence
agregará automáticamente el objeto recién creado en la caché y la línea roja desaparecerá. prueba esto
Edit -> IntelliSense -> Refresh Local Cache
o Ctrl+ Shift+R
En mi caso, la caché de IntelliSense enumeraba información de objetos para una base de datos completamente diferente. Si hacía clic en el botón "Nueva consulta" en SSMS, se abriría una consulta en mi catálogo predeterminado en el servidor y ese editor de consultas siempre usaría solo esa base de datos. Actualizar el caché no cambió nada. Reiniciar SSMS no cambió nada. Cambiar la base de datos no cambió nada.
Terminé creando una consulta haciendo clic derecho en la base de datos que realmente quería usar y eligiendo "Nueva consulta" en ese menú contextual. Ahora SSMS usa los objetos correctos para IntelliSense.