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

Vulper      2022-02-13     368

关键词:

在近期工作中遇到一个任务,需要批量更改散布在很多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,解决方法可以参照这篇文章

 

使用sp_refreshview刷新视图(代码片段)

...结构改变时,出现了列错乱的情况。最近刚好看到了sp_refreshview,才知道当表结构发生改变时,可以使用sp_refreshview刷新相关的视图。sp_refreshview(Transact-SQL) 查看详情

为啥 sp_refreshview 在未绑定架构的视图上引发异常?

】为啥sp_refreshview在未绑定架构的视图上引发异常?【英文标题】:Whydoessp_refreshviewraiseanexceptiononviewsthatarenotschemabound?为什么sp_refreshview在未绑定架构的视图上引发异常?【发布时间】:2014-12-2917:30:09【问题描述】:我使用具有sy... 查看详情

Azure Synapse 专用 SQL 池中的“sp_refreshview”是不是有任何等效项

】AzureSynapse专用SQL池中的“sp_refreshview”是不是有任何等效项【英文标题】:Isthereanyequivalentistherefor\'sp_refreshview\'inAzureSynapseDedicatedSQLPoolAzureSynapse专用SQL池中的“sp_refreshview”是否有任何等效项【发布时间】:2021-12-0116:48:12【问... 查看详情

MSSQL -- 使用 PK 创建视图

】MSSQL--使用PK创建视图【英文标题】:MSSQL--CreateViewwithPK【发布时间】:2008-12-1904:51:54【问题描述】:我的创建视图代码是这样的createVIEW[dbo].[vw_test]ASSELECT\'B\'ASrtype,IDFROMTB_AUNIONALLSELECT\'V\'ASrtype,IDFROMTB_BGO如何创建PK。我需要进行全... 查看详情

使用 php 连接到 MSSQL 数据库视图

】使用php连接到MSSQL数据库视图【英文标题】:ConnectingtoaMSSQLdatabaseviewwithphp【发布时间】:2012-04-2811:51:30【问题描述】:我从未在MSSQL上使用过Views,所以我希望我注意到我提出了一个愚蠢的问题。我有一个MSSQL数据库,我可以轻... 查看详情

Mssql Server 到 MySql 之间的迁移视图

】MssqlServer到MySql之间的迁移视图【英文标题】:migrationviewbetweenMssqlServertoMySql【发布时间】:2019-02-2709:58:45【问题描述】:我将数据库表从mssql迁移到mysql。现在我想在mssql到mysql数据库之间迁移一个视图,我尝试手动执行此操作... 查看详情

遍历查询 MSSQL2008 找到的视图名称列表

】遍历查询MSSQL2008找到的视图名称列表【英文标题】:IteratingthroughalistofviewnamesfoundbyaqueryMSSQL2008【发布时间】:2016-08-2312:09:06【问题描述】:SELECTt.nameASview_nameFROMsys.viewsAStORDERBYview_name我使用这个找到了我的数据库中所有视图的... 查看详情

MSSQL:C# 函数可以实现视图吗?

】MSSQL:C#函数可以实现视图吗?【英文标题】:MSSQL:CanaC#functionimplementaview?【发布时间】:2017-02-1308:40:03【问题描述】:对于使用MSSQL服务器的现有应用程序,是否可以实现将映射为SQL表的C#功能?换句话说,能否从旧版SQL查询... 查看详情

sql使用schemabinding的mssql视图(代码片段)

查看详情

sql带有检查选项的mssql视图(代码片段)

查看详情

如何在 mssql 服务器视图中查询访问表

】如何在mssql服务器视图中查询访问表【英文标题】:Howtoqueryaccesstableinamssqlserverview【发布时间】:2019-04-2610:54:31【问题描述】:我想创建一个视图来查询访问表。我知道每个视图都必须包含一个“SELECT”子句,所以我想我必须... 查看详情

MSSQL:如何创建将列显示为逗号分隔值的视图 [重复]

】MSSQL:如何创建将列显示为逗号分隔值的视图[重复]【英文标题】:MSSQL:HowtocreateaVIEWthatshowscolumnascommaseparatedvalue[duplicate]【发布时间】:2013-07-1605:06:42【问题描述】:我正在使用MSSQL数据库,并且我有一个名为UserDepartments的表,... 查看详情

具有多个基表和完整性能的 Microsoft SQL Server (MSSQL) 可更新视图

】具有多个基表和完整性能的MicrosoftSQLServer(MSSQL)可更新视图【英文标题】:MicrosoftSQLServer(MSSQL)updatableviewwithmultiplebasetablesandfullperformance【发布时间】:2014-01-2114:25:51【问题描述】:我正在使用MSSQL2008R2。它具有可更新视图的便利... 查看详情

为啥mysql很少人用视图,mysql的视图和mssql的视图有啥本质区别。

MSSQL推荐用视图,可以提高查询性能,MYSQL又不提倡视图,这到底是为什么?问题一:为什么MYSQL很少人用视图?    答:mysql并不是很少人用,而是大部分一般直接通过sql查询的方式来实现类似view功能,不愿意去增... 查看详情

如何更改 MSSQL 中所有表、视图和存储过程的架构

】如何更改MSSQL中所有表、视图和存储过程的架构【英文标题】:Howtochangeschemaofalltables,viewsandstoredproceduresinMSSQL【发布时间】:2013-07-0810:01:36【问题描述】:最近我们的数据库服务器出现问题,经过长时间的努力,我们决定更换... 查看详情

反应原生:滚动视图刷新控制拉刷新不从顶部刷新

】反应原生:滚动视图刷新控制拉刷新不从顶部刷新【英文标题】:Reactnative:Scrollviewrefreshcontrolpulltorefreshnotrefreshingfromtop【发布时间】:2021-10-2411:45:20【问题描述】:我添加了拉动以使用滚动视图刷新内部Web视图。它正在工作,... 查看详情

PostgreSQL物化视图刷新“堆叠”

】PostgreSQL物化视图刷新“堆叠”【英文标题】:PostgreSQLMaterializedViewRefresh"stacking"【发布时间】:2017-10-1116:53:27【问题描述】:版本:9.4.10是否请求刷新物化视图堆栈?例如:我有一个物化视图,它根据我的主表上的INSERT... 查看详情

并发刷新物化视图

】并发刷新物化视图【英文标题】:Refreshmaterializedviewswithconcurrency【发布时间】:2017-06-0719:28:11【问题描述】:我有一个PostgreSQL数据库,我在其中使用物化视图。当我尝试刷新这些物化视图时会出现问题。REFRESHMATERIALIZEDVIEWproduc... 查看详情