DFo*_*k42 2 view sql-server-2014
今天我们遇到了一个奇怪的案例,一个执行“select * from table”的视图有几个日期时间字段作为整数返回。这在以前一直有效,直到最近。视图本身并没有强制这些列作为整数返回。
另一个奇怪的事情是重写视图以显式选择所有列会使数据作为日期时间返回。我在想这可能是某种糟糕的缓存计划,但我不确定。
数据错误回撤的罪魁祸首是什么?
Aar*_*and 10
发生这种情况是因为表的定义自上次修改视图以来发生了变化。也许有人更改了一个或多个列,或者表被删除并重新创建了具有不同顺序、不同类型等的列。
临时修复:
EXEC sys.sp_refreshview N'dbo.viewname';
Run Code Online (Sandbox Code Playgroud)永久修复: