tabla - Vista de SQL Server que muestra datos obsoletos/incorrectos después de cambiar las dependencias subyacentes
permitir guardar cambios en tabla sql (2)
Tenemos una Vista (llámala X) que es la vista base llamada por otras 2 vistas (llámalas Y y Z).
Hoy hicimos un cambio para ver X, después de eso, la vista Y y Z comenzaron a traer datos que eran incorrectos. Cuando estábamos en Management Studio y ejecutamos Select * from Y
(que es exactamente cómo se llama a la vista en el código), obtendría datos que eran incorrectos. Sin embargo, cuando ejecutamos el SQL real que la vista contenía estaba bien. Probamos varias cosas hasta que un colega sugirió agregar un espacio para ver X y Z y luego ejecutar Alter, que funcionó. Todo volvió a la normalidad y funcionó bien.
Mi pregunta es: ¿MSSQL almacena en caché sus vistas? y si es así, ¿cómo los fuerzan a NO obligarlos a volver a compilar?
Además, cualquier lectura adicional sobre esto sería útil.
SQL Server no almacena en caché los datos de la vista (al menos, no de la forma en que te refieres).
Si una definición de vista contiene ''SELECCIONAR *'', entonces la lista de columnas real se define cuando se crea la vista, es decir, ''SELECCIONAR *'' se reemplaza por la lista de columnas actual que existe en el momento de crear la vista. Esto significa que si agrega columnas a las tablas subyacentes a las que hace referencia esa vista, eso no aparecerá en la vista.
Vea el comando sp_refreshview .
Actualiza los metadatos para la vista específica no vinculada al esquema. Los metadatos persistentes para una vista pueden quedar obsoletos debido a cambios en los objetos subyacentes de los que depende la vista.