SqlServer插入数据不报错但查询不到数据

这篇博客记录了一次使用Sql Server的系统遇到的问题,即部分数据无法入库,表现为JDBC入库影响行数为-2。通过dbcc命令检查发现表存在B树链链接不匹配等错误。经过修复后,异常消除。博客揭示了数据库异常诊断与修复的过程,同时也反映了当前搜索引擎在技术问题查找上的挑战。
摘要由CSDN通过智能技术生成

问题背景

近日,某使用SqlServer作为数据库的系统,由于服务器磁盘损坏修复后,部分数据一直无法入库,进一步跟踪收集现象,发现以下特点:

  • 这些数据抽取出来使用SQL直接入库,没有提示数据影响行数,数据库无法查询到这部分数据;
  • JDBC入库返回影响行数为-2;
  • 仅有部分数据无法入库,其他数据正常;

解决过程

根据现象通过搜索引擎查询类似情况,由于某些未知原因,难以查找到类似情况。
根据服务器异常时间点和系统时间点存在重合,假设数据库存在异常,以此反推查找证据,发现SqlServer存在dbcc命令可以检查数据库的表、数据库等,使用dbcc命令检查异常表如下:

DBCC CHECKTABLE('test_tb')
[42000] [Microsoft][SQL Server Native Client 10.0][SQL Server]表错误: 对象 ID 1467204327,索引 ID 1,分区 ID 72057594143178752,分配单元 ID 72057594181779456 (类型为 In-row data)。B 树链链接不匹配。(1:1348087)->next = (1:18684),但 (1:18684)->Prev = (1:1348146)(8936)
[42000] [Microsoft][SQL Server Native Client 10.0][SQL Server]表错误: 对象 ID 1467204327,索引 ID 1,分区 ID 72057594143178752,分配单元 ID 72057594181779456 (类型为 In-row data)。B 树链链接不匹配。(1:1348086)->next = (1:1065444),但 (1:1065444)->Prev = (1:1348148)(8936)
[42000] [Microsoft][SQL Server Native Client 10.0][SQL Server]表错误: 对象 ID 1467204327,索引 ID 1,分区 ID 72057594143178752,分配单元 ID 72057594181779456 (类型为 In-row data)。页 (1:1348148) 缺少上一页 (1:1348086) 对它的引用。可能是链链接有问题。 (8978)
[42000] [Microsoft][SQL Server Native Client 10.0][SQL Server]表错误: 对象 ID 1467204327,索引 ID 1,分区 ID 72057594143178752,分配单元 ID 72057594181779456 (类型为 In-row data)。页 (1:1348146) 缺少上一页 (1:1348087) 对它的引用。可能是链链接有问题。 (8978)
[01000] [Microsoft][SQL Server Native Client 10.0][SQL Server]test_tb的 DBCC 结果。 (2536)
[01000] [Microsoft][SQL Server Native Client 10.0][SQL Server]对象 'test_tb'409103 页中有 2629508 行。 (2593)
[01000] [Microsoft][SQL Server Native Client 10.0][SQL Server]CHECKTABLE 在表 'test_tb' (对象 ID 1467204327)中发现 0 个分配错误和 4 个一致性错误。 (8990)
[01000] [Microsoft][SQL Server Native Client 10.0][SQL Server]对于由 DBCC CHECKTABLE (Station_qh.dbo.test_tb)发现的错误,repair_rebuild 是最低的修复级别。 (8958)
[01000] [Microsoft][SQL Server Native Client 10.0][SQL Server]DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。 (2528)

根据上述信息,得到数据库异常的确切证据,根据dbcc命令提示进行修复后,异常消除。

吐槽

最后不得不专门增加章节吐槽现在的搜索引擎,想搜索资料解决问题越来越难。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值