码迷,mamicode.com
首页 > 数据库 > 详细

(MSSQL)sp_refreshview刷新视图失败及更新Table字段失败的问题解决

时间:2017-08-23 18:18:56      阅读:265      评论:0      收藏:0      [点我收藏+]

标签:刷新   级别   依赖   ons   logs   权限   fresh   str   www   

在近期工作中遇到一个任务,需要批量更改散布在很多Table中的某字段,同时刷新相关视图,但是在执行脚本时,发现了如下问题

更新字段问题

消息 5074,级别 16,状态 1,第 1 行
对象View_RosterStudent 依赖于 列sName。
消息 4922,级别 16,状态 9,第 1 行
由于一个或多个对象访问此列,ALTER TABLE ALTER COLUMN sName 失败。

刷新视图问题

消息 15165,级别 16,状态 1,过程 sp_refreshsqlmodule_internal,第 55 行
找不到对象 View_RosterStudent,或者您没有所需的权限。

经在网上查找问题相关信息,最终在Stack Overflow发现了同样的问题,在最高赞回答中找到了答案,原因是这个视图架构绑定到了这个表,导致了以上问题,具体细节可百度搜索架构绑定。

但是,因为这个视图创建了索引,且架构绑定是索引所必须的,所以我这里放弃了更改,暂时没有验证重新创建不架构绑定的该视图可以解决以上问题,有兴趣或条件合适的朋友可以尝试一下,可以回复本帖。

 

注:另外导致视图无法刷新的原因可能是MSSQL2008的一个bug,解决方法可以参照这篇文章

 

(MSSQL)sp_refreshview刷新视图失败及更新Table字段失败的问题解决

标签:刷新   级别   依赖   ons   logs   权限   fresh   str   www   

原文地址:http://www.cnblogs.com/Vulpers/p/7419442.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!