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

这篇具有很好参考价值的文章主要介绍了SqlServer插入数据不报错但查询不到数据。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

问题背景

近日,某使用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命令提示进行修复后,异常消除。

吐槽

最后不得不专门增加章节吐槽现在的搜索引擎,想搜索资料解决问题越来越难。文章来源地址https://www.toymoban.com/news/detail-526959.html

到了这里,关于SqlServer插入数据不报错但查询不到数据的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • mysql和sqlserver查询数据库表的数量的方法

    一、mysql查询数据库表的数量 1、查询mysql下所有数据库表的数量 2、查询指定数据库的表的数量   二、sqlserver查询数据库表的数量 1、查询指定数据库的表的数量(选择指定的sqlserver数据库后再执行语句) 2、xtype 的描述 (1)数据类型:char(2)。  (2)对象类型。常用列。

    2024年02月07日
    浏览(33)
  • SQLServer批量修改和插入

    今天在工作中遇到这么一个场景,我需要根据条件对表A做批量更新或插入。因为条件比较复杂,所以我使用了临时表B,先把需要更新或插入的数据查询出来放入临时表。然后更新表A的某字段,更新条件是A.id = B.id,更新效果是若记录存在表A中,则更新表A的字段,若不在表

    2024年02月16日
    浏览(28)
  • SQLSERVER 查询语句加with (NOLOCK) 报ORDER BY 报错 除非另外还指定了 TOP、OFFSET 或 FOR XML

    最近有一个项目在客户使用时发现死锁问题,用的数据库是SQLSERVER ,死锁的原因是有的客户经常去点报表,报表查询时间又慢,然后又有人在做单导致了死锁,然后主管要我们用SQLSERVER查询时要加with (NOLOCK),但是我在加完 with (NOLOCK) 后发现已经的用Mybatis-plus的 在mybatis里的分

    2024年02月12日
    浏览(27)
  • SQLServer 报错:(Microsoft.SqlServer.Smo)用户、组或角色‘XXX‘ 在当前数据库中已存在. 错误:15023解决方法

    背景: 最近在迁移SQLServer数据库2019时,新建用户后,做用户映射时。 SQLServer 报错:用户、组或角色\\\'XXX\\\' 在当前数据库中已存在. 错误:15023. 下面讲一下解决的方法。 分析:     将数据库恢复到其他服务器时,数据库中包含一组用户和权限,但可能没有相应的登录或者登录所

    2024年02月15日
    浏览(29)
  • py连接sqlserver数据库报错问题处理。20009

    pymssql模块连接sqlserver出现如下错误: 打开“SQL Server Configuration Manager”,找不到的话,可在计算机管理 - 服务和应用程序中找到。 在SQL Server Network Configuration - Protocols for SQLEXPRESS中启用TCP/IP协议, TCP/IP - Properties - IP Addresses 修改里面ip为127.0.0.1的启用状态。 TCP/IP - Properties

    2024年02月01日
    浏览(35)
  • 【Sql】win11系统安装sqlserver2008r2数据库,找不到文件user.config line 5

    【问题描述】 在win11系统环境下, 安装sql server 2008 r2数据库的时候,提示【Microsoft.NET Framework】窗口错误。 如果点击继续,应用程序将忽略此错误并尝试继续。 具体错误明细: 创建userSettings/Microsoft.SqlServer.Configuration.LandingPageProperties.Settings的配置节处理过程是出错; 未能加

    2024年02月11日
    浏览(41)
  • 达梦数据库——数据迁移sqlserver-dm报错问题整理

    报错情况一:Sql server迁移达梦连接报错’驱动程序无法通过使用安全套接字Q层(SSL)加密与SQL Server 建立安全连接。错误:“The server selected protocol version TLS10 is not accepted by client preferencesITLS127‘ 原因:历史版本的SOL SERVER服务端默认使用TLS1.0版本协议对外提供服务,因安全问题

    2024年02月19日
    浏览(42)
  • 多数据源配置从库连接sqlserver报错,com.microsoft.sqlserver.jdbc.SQLServerException: The driver could not establis

    一开始我自己本地配置如下: 微软家的sqlserver驱动不好用,maven的驱动如下: 然后在本地网段一致的情况下测试是没有问题的,当部署线上环境启动服务时,加载数据源的时候,当加载到sqlserver的数据源的时候就开始异常了,异常信息如下: 网上有说修改JDK什么的解决: 这

    2024年02月11日
    浏览(38)
  • 找不到“SqlServer”模块-- 在此计算机上找不到任何 SQL Server cmdlet。

    https://github.com/PowerShell/PowerShell/releases/tag/v7.2.2SQL Server Management Studio 18 启动触发器报错 标题: 找不到“SqlServer”模块 --------------- 在此计算机上找不到任何 SQL Server cmdlet。 在 https://powershellgallery.com/packages/SqlServer 上获取“SqlServer”模块 不使用 SQL Server cmdlet 启动 PowerShell? 有关帮

    2024年02月09日
    浏览(42)
  • IDEA Java1.8通过sqljdbc4连接sqlserver插入语句

    1. 下载sqljdbc4:https://mvnrepository.com/artifact/com.microsoft.sqlserver.jdbc/sqljdbc4/4.0 下载后在IDEA放入仓库内,可以放在resources下,右键“add as library”。 2. 在控制面板中开启Telnet客户端,默认是不开启的。 若报错“ java.lang.classNotFoundException:com.microsoft.sqlserver.jdbc”说明1或2没有设置成功

    2024年02月09日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包