it编程 > 数据库 > MsSqlserver

SQL Server视图的更新排查及清除缓存的操作方法

11人参与 2025-02-28 MsSqlserver

前言

获取数据的时候,发现数据少了两个字段值,归根原因是java中的实体类少写了两个,后续补充上就好了!

排查方向

在 sql server 中,视图不会自动更新其结构

如果表中添加了新字段,但没有刷新视图,查询视图时仍然返回旧结构的数据

一共有两种解决方案:

exec sp_refreshview '视图名字';

截图如下:

或者重新创建视图:

drop view 视图;
create view dbo.vw_ssboxcheck as 
select ...

第二个排查方向是用户权限的问题!

确保用户可以查询得到

grant select on 视图 to your_user;

第三个排查方向是视图的缓存问题:

sql server 可能存在缓存问题,导致查询的仍然是旧视图结构

dbcc freeproccache;
dbcc dropcleanbuffers;

总的来说

命令作用适用场景影响备注
sp_refreshview刷新视图的元数据视图结构变更后查询异常仅影响视图只影响视图定义,不影响数据或缓存
dbcc freeproccache清空查询执行计划缓存结构变更、索引优化、查询优化影响 sql 解析性能,导致查询重新编译仅清除执行计划,不影响数据缓存
dbcc dropcleanbuffers清空数据缓存进行数据库性能测试或数据更新异常影响查询性能,需要重新加载数据仅清理未修改的缓冲页,不影响脏页

到此这篇关于sql server视图的更新排查及清除缓存的操作方法的文章就介绍到这了,更多相关sql server视图更新排查及清除缓存内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)
打赏 微信扫一扫 微信扫一扫

您想发表意见!!点此发布评论

推荐阅读

Nginx搭建自己的CDN服务器的方法步骤

02-28

SQL server 三种常用的触发器

03-01

Ubuntu 22.04 服务器安装部署(nginx+postgresql)

03-03

nginx启动、关闭及重启等简单命令小结

03-03

SQL 中多表查询的常见连接方式详解

02-20

oracle DBMS_SQL.PARSE的使用方法和示例

02-20

猜你喜欢

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论