I'm using SQL Server, and I received an error indicating that one or more of my SQL views is out of sync with its underlying SQL table.
'MySQLServerName' returned data that does not match expected data length for column 'MyColumnName'. The (maximum) expected data length is 50, while the returned data length is 52.
This occurs if you update the definition of the underlying SQL table, but forget to update the associated SQL view(s). A quick fix for this error is to run sp_refreshview:
use MySQLDatabaseName
go
EXECUTE sp_refreshview N'MyViewName';
But what if I have a long list of broken views, or I don't even know which views are broken, or I don't know which underlying table definitions are no longer matching those views? What if I want to save time by running sp_refreshview across every view in my database. What's an easy way to accomplish that task?