服务器: 消息 8624,级别 16,状态 1,行 442
内部 SQL Server 错误。

郁闷了两天的问题终于得到了解决。记下来

前天突然客户反应[客户订单],用的好好的居然有"内部错误",跟踪有发现是MSSQL的错误。代码如下:

SET NOCOUNT ON

DECLARE
@mm_Key uniqueidentifier

SELECT
@mm_Key='{50A5A02D-0CA7-4864-958A-63205D29E42A}'

DECLARE @DanJuKey uniqueidentifier

SELECT @DanJuKey = @mm_Key

DELETE f_pzjl_d
  FROM mak_GongChengPZJL f_pzjl
  INNER JOIN mak_GongChengPZJL_D f_pzjl_d ON f_pzjl_d.FFormKey = f_pzjl.FFormKey
  INNER JOIN mak_WuLiaoGCPZ f_pz_m ON f_pz_m.FFormKey = f_pzjl.FGongCPZKey
  LEFT JOIN sal_CustOrder_D od_d ON f_pzjl.FFormKey = od_d.FGongChengPZKey
  WHERE f_pzjl.FOwnsFormKey = @DanJuKey  --<1>
        AND (od_d.FKey IS NULL
            OR od_d.FWuLiaoKey <> f_pz_m.FWuLiaoKey)

试了下发现用<1>的@DanJuKey替换常量或者用@mm_Key就可以,我用@mm_Key替换了@DanJuKey暂时解决了问题。郁闷。

今天客户有反应[采购订单]也有相同的问题,我想这次不能这么忽悠过去了,于是认真查了查。网上也找了很久。找不到,突然我看代码的时候发现

DELETE f_pzjl_d
  FROM mak_GongChengPZJL f_pzjl
  INNER JOIN mak_GongChengPZJL_D f_pzjl_d ON f_pzjl_d.FFormKey = f_pzjl.FFormKey
  INNER JOIN mak_GongChengPZJL_D_SL f_pzjl_d_sl ON f_pzjl_d_sl.FKey = f_pzjl_d.FKey  --这一段多
  INNER JOIN mak_WuLiaoGCPZ f_pz_m ON f_pz_m.FFormKey = f_pzjl.FGongCPZKey
  LEFT JOIN sal_CustOrder_D od_d ON f_pzjl.FFormKey = od_d.FGongChengPZKey
  WHERE f_pzjl.FOwnsFormKey = @mm_Key
        AND (od_d.FKey IS NULL
            OR od_d.FWuLiaoKey <> f_pz_m.FWuLiaoKey)

结论:

发现只是那一段多而已。于是查了查,发现mak_GongChengPZJL_D和mak_GongChengPZJL_D_SL的主键有级联的关系。一去掉就可以了,总算是找到了问题...可以安心了

可恶的MSSQL 内部 SQL Server 错误。(臭BUG)相关推荐

  1. SQL Server 无法生成 FRunCM 线程。请查看 SQL Server 错误日志和 Windows 事件日志(转)...

    前言: 今天遇到这个sql服务无法启用 .无法登陆 的情况..在google 百度 搜了一下.发现很多网站都是采集来的数据..(很奇怪这些采集站都那么靠前!) 照着文章里边的方法去试试都不行,,,后来 ...

  2. 转贴:Microsoft OLE DB Provider for SQL Server错误80040e37

    问题原因: 把数据库备份还原到另一个服务器时,可能会产生孤立用户的问题: 解决办法: 步骤:1.把备份的数据库还原到新的数据库服务器中( 1.1企业管理器-->1.2数据库(右键)-->1 ...

  3. SQL SERVER错误:已超过了锁请求超时时段。 (Microsoft SQL Server,错误: 1222)

    在SSMS(Microsoft SQL Server Management Studio)里面,查看数据库对应的表的时候,会遇到"Lock Request time out period e ...

  4. 把SQL Server 错误日志导出为EXCEL 并发送到指定的ftp 或者 共享盘

    /* 2005版本 和2000 版本 sql server 错误日志结果不同. 下面是 适用于 SQL2000的 其中加入了 自己编写的一个ftp小程序 用来上传 相关日志状况 */ IF objec ...

  5. 已超过了锁请求超时时段。 (Microsoft SQL Server,错误: 1222)

    操作SQLServer数据库时.遇到这种问题:已超过了锁请求超时时段. (Microsoft SQL Server,错误: 1222) 经过查找材料了解为资源抢占,照成死锁,杀死进程就OK了.详细操作 ...

  6. SQL Server自动化运维系列——监控磁盘剩余空间及SQL Server错误日志(Power Shell)...

    原文:SQL Server自动化运维系列--监控磁盘剩余空间及SQL Server错误日志(Power Shell) 需求描述 在我们的生产环境中,大部分情况下需要有自己的运维体制,包括自己健康状态的 ...

  7. 使用xp_readerrorlog命令读取SQL Server错误日志

    This article explores the xp_readerrorlog command for reading SQL Server error logs using T-SQL. 本文探 ...

  8. Microsoft OLE DB Provider for SQL Server 错误 ‘80004005‘错误原因和解决方案

    Microsoft OLE DB Provider for SQL Server 错误 '80004005'错误原因和解决方案 方法步骤: 1.在WINSOWS/TEMP目录的安全选项中,添加帐号ev ...

  9. microsoft sql server 错误18456

    忘记截图,我直接描述下错误吧. 我在windows server服务器上安装sql server 2012数据库,一开始的时候,我采用的是Windows身份验证登录数据库,没有问题.之后,由于我要本地 ...

最新文章

  1. 给想学python-零基础的小白,如何学Python才能更快就业?
  2. 大型互联网网站架构心得之二:并、换和其它(转)
  3. java.lang.UnsatisfiedLinkError解决方法汇集
  4. HTML5 基础知识(三)
  5. NIOS2随笔——uCOS-II实时操作系统
  6. 企业注册一站式服务平台公司宝App挂牌新三板
  7. Yate如何打开不同格式的音乐文件?
  8. 51单片机C语言堆栈,《单片机C语言试题》(一)20101027
  9. 灰色关联分析_(案例)相关分析之灰色关联度
  10. 64位win10下usb转485驱动
  11. bzoj3668: [Noi2014]起床困难综合症
  12. 地铁口多了一堆小卡片,事情并不简单?
  13. 电脑使用技巧提升篇10:电脑文件夹加密
  14. 决策树之CART(分类回归树)详解
  15. 依赖缺失问题 CS0246 未能找到类型或命名空间名“SqlConnection”(是否缺少 using 指令或程序集引用?) CS1069 未能在命名空间“System.Data.SqlClient
  16. 《UnityAPI.RenderTexture渲染纹理》(Yanlz+Unity+SteamVR+云技术+5G+AI+VR云游戏+RenderTexture+isCubemap+立钻哥哥++OK++)
  17. OSM(OpenStreetMap)使用简述
  18. 29. 大数据---hive的常用函数(一(最全的函数操作))
  19. wish平台入驻条件
  20. 【JavaLearn】(22)jQuery介绍、选择器、事件、动画、DOM编程、操作CSS、表单验证

热门文章

  1. 最详细的JavaWeb开发基础之java环境搭建(Windows版)
  2. 聊聊数据挖掘竞赛中的套路与深度学习的局限
  3. 关于交换机SVI(转)
  4. Cisco交换机密码恢复
  5. 春天闻香食花——品尝一顿愉悦的花餐
  6. yii2的model数据库配置以及应用(主从数据库配置)
  7. Linux centos6.5 64下oracle10g_静默安装完整版
  8. break 和continue在循环中起到的作用
  9. C 的异常捕捉实现
  10. linux企业常用命令必之必会二