(MSSQL)sp_refreshview刷新视图失败及更新Table字段失败的问题解决
Posted Vulper
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(MSSQL)sp_refreshview刷新视图失败及更新Table字段失败的问题解决相关的知识,希望对你有一定的参考价值。
在近期工作中遇到一个任务,需要批量更改散布在很多Table中的某字段,同时刷新相关视图,但是在执行脚本时,发现了如下问题
更新字段问题
消息 5074,级别 16,状态 1,第 1 行 对象\'View_Simple\' 依赖于 列\'Name\'。 消息 4922,级别 16,状态 9,第 1 行 由于一个或多个对象访问此列,ALTER TABLE ALTER COLUMN Name 失败。
刷新视图问题
消息 15165,级别 16,状态 1,过程 sp_refreshsqlmodule_internal,第 55 行 找不到对象 \'View_Simple\',或者您没有所需的权限。
经在网上查找问题相关信息,最终在Stack Overflow发现了同样的问题,在最高赞回答中找到了答案,原因是这个视图架构绑定到了这个表,导致了以上问题,具体细节可百度搜索架构绑定。
但是,因为这个视图创建了索引,且架构绑定是索引所必须的,所以我这里放弃了更改,暂时没有验证重新创建不架构绑定的该视图可以解决以上问题,有兴趣或条件合适的朋友可以尝试一下,可以回复本帖。
注:另外导致视图无法刷新的原因可能是MSSQL2008的一个bug,解决方法可以参照这篇文章。
以上是关于(MSSQL)sp_refreshview刷新视图失败及更新Table字段失败的问题解决的主要内容,如果未能解决你的问题,请参考以下文章