问题描述:
执行存储过程报错,如下:
服务器:消息7102,级别20,状态7,过程 P_TJXSZL,行139
sqlSERVER 内部错误。文本管理器无法继续执行当前语句。
连接中断
问题跟踪:
首先,根据报错的行数定位存储过程中的语句,并把语句单独摘出来执行,如果执行通过,则表示问题不在这里,继续下一次的跟踪;
然后,对该存储过程进行调试;调试后发现过程还未执行就报错了。这说明在调用过程开始的地方就有问题;
然后,从头对存储过程中的语句逐句执行,看是哪句出错。也可以分段批量执行语句,直到找出报错的语句;
最后,分析此语句,定位原因。
原因分析:
TR_FDZDMXK表损坏,需重建,但是删除此表时提示如下信息:(使用修复表语句不管用,原因待查。。)
服务器: 消息 7105,级别 22,状态 3,行 1
text、ntext 或 image 节点的页 (1:117376),槽 0 不存在。
连接中断
临时解决方法:
步骤1、将损坏的名进行重命名
EXEC SP_RENAME 'TR_FDZDMXK','TR_FDZDMXK_BAK'
步骤2、删除系统表中保存的损坏的表约束与主键
EXEC SP_RENAME 'TR_FDZDMXK','TR_FDZDMXK_BAK'GODELETE FROM SYSOBJECTS WHERE NAME LIKE '%DF__TR_FDZDMX%' OR NAME LIKE '%PK_TR_FDZDMXK%'
步骤3、在查询分析器中,找到相应的数据库下的此表,并生成创建(CREATE)表的语句。
步骤4、执行创建表的语句。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。