SQL Server View showing outdated / wrong data after changing underlying dependencies

See the sp_refreshview command.

Updates the metadata for the specified non-schema-bound view. Persistent metadata for a view can become outdated because of changes to the underlying objects upon which the view depends.


SQL Server does not cache view data (at least, not in the way you are referring to it).

If a view definition contains 'SELECT *', then the actual column list is defined when the view is created, i.e. the 'SELECT *' is replaced by the actual column list than exists at the time you create the view. That means if you add columns to underlying tables referenced by that view, that won't appear in the view.