zoukankan      html  css  js  c++  java
  • 由SQL Server的job出错调查引起的思考

            最近一段时间数据库上的一个Job频繁报错,刚开始我们没有抽时间进行彻底的调查。只是处理了下不规范的数据
    就没有管了,但是后面我们发现过了几天它又报错了。
            今天我进行了彻底的调查,发现是由于2个表的列的长度不一致引起的。由于产品和产品品类表中都有产品品类代码这一列,由于前段时间系统因为需求变更更改了产品品类表中的品类代码这一列的长度,由原来的nvchar(10)改到了
    nvarchar(50),更新后系统也进行了更新,所以产品品类表中存在了字符长度大于10的数据。
             但是由于我们有一个Job每天晚上都会将产品表中品类ID和品类表中ID一致,但是品名或者代码不一致的数据进行
    更新,以保证数据能够及时同步。所以很显然这次错误的原因也调查出来了。
              由于我们更改基础数据表的字段类型时没有检查其他相关的表中是否有引用了同样的字段,所以导致了今天的错误。因为我们在设计数据库的时候,由于系统业务和性能方面的考虑,我们往往会考虑冗余的设计。比如产品表中加入
    品类ID即可通过Join就可以关联出代码和名称,但是为了方便查询和操作及性能方面的考虑,那么就会考虑将代码和名称也放入产品中。因而我们在有时候修改基础表的结构时一定要确认下改变带来的影响,特别是刚才所说的这种情况。
  • 相关阅读:
    jira 解决结果配置
    .net core ef mysql in 参数化写法
    CentOS安装破解版Jira 亲测有效(附带破解包)
    实现js读取Excel数据
    android权限(permission)大全
    如何搭建Nuget服务器
    WebApi配置Swagger
    Aps.Net WebApi依赖注入
    解决.Net Core跨域问题
    一篇关于Asp.Net Model验证响应消息的问题处理
  • 原文地址:https://www.cnblogs.com/kevinGao/p/3189271.html
Copyright © 2011-2022 走看看