`

不要乱用DBCC CHECKIDENT ~~~

阅读更多
   今天一大早就收到项目经理的邮件说用户管理的添加用户失败,让我赶紧查查原因,因系统整个权限控制部分是我设计的。当时脑子里第一反映就是难道上周刚上的版本对这块产生影响了???  再想想不对,因新增和修改的部分都不触及权限模块的对象,更没对其逻辑代码做过任何改动啊! 不过本着“先查己”的原则,我还是赶紧做了下测试。
    先进行功能测试,目的错误再现,页面提示有对象冲突错误。看来是实体化时的问题。
    查系统错误日志文件,果然org.hibernate.exception.ConstraintViolationException,用户对象主键冲突。
    这可奇怪了,在上周版本上线前,这个模块一直运行良好,现在怎么会出现这么个低级的冲突错误!!!  应用程序该模块的实体映射到业务逻辑都没做过变动啊~~~,所以数据库端的问题嫌疑很大!
    一怒下,把测试库还原到以前的数据库版本再测试,一切ok! 现在问题可以锁定在数据库上了,数据库变更脚本做了什么坏事了。
     二话不说调出上次的数据库更新脚本,一看~~~  我真谢谢配置管理员了!
     脚本上来就用DBCC CHECKIDENT给我来了个标识符重置,而且还是我权限模块两个关键表,一下全从0开始自增长! 实在不知道这位大哥是从什么角度考虑,要这么做的!
     木办法要解决问题,强行把标识改回来吧:
     DBCC CHECKIDENT (<tableName>,RESEED, <max+1>)
   
    总结:对每种技术或命令,要只其理而用!
分享到:
评论

相关推荐

    DBCC CHECKIDENT 重置数据库标识列从某一数值开始

    DBCC CHECKIDENT 重置数据库标识列从某一数值开始 DBCC CHECKIDENT 命令是 SQL Server 中的一个数据库控制命令语言(DCL),用于重置数据库标识列的当前标识值。该命令可以指定新的标识值,并且可以根据需要重置...

    SQLServer-让标识列重新开始计算

    ### SQL Server - 让标识列重新开始计算 ...通过以上介绍,我们可以了解到如何在SQL Server中使用`DBCC CHECKIDENT`命令来管理标识列的种子值,这对于维护数据库的健康状态以及优化性能都是非常有帮助的。

    SQL Server 中调整自增字段的当前初始值

    DBCC CHECKIDENT 命令可以有三种写法:DBCC CHECKIDENT ('table_name', NORESEED)、DBCC CHECKIDENT ('table_name') 和 DBCC CHECKIDENT ('table_name', RESEED, new_reseed_value)。 DBCC CHECKIDENT ('table_name...

    sql2005自增字段归零.docx

    例如,如果你执行`DBCC CHECKIDENT ('dbo.Person', RESEED, 10)`,那么下一次插入新行时,自增字段将从11开始,因为它是`new_reseed_value`(10)加1。这种方法在你需要保留部分数据,或者需要自增字段从特定值开始...

    DBCC命令 MSSQL

    DBCC CHECKIDENT 验证指定表的标识列的当前值,确保其按照预设规则递增。 ### 9. DBCC SQLPERF(UMSSTATS) 虽然在官方文档中未详细记录,但此命令用于监控系统性能,特别关注CPU利用率和可运行线程的数量。 ### 10...

    T-SQL强化(RAISERROR详解,SQL 注入, OUTPUT , WITH RECOMPILE ,sp_addmessage

    在IT行业中,尤其是在数据库管理与开发领域,T-SQL(Transact-SQL)是SQL Server的重要组成部分,它扩展了标准SQL的功能,提供了更多的控制和处理能力。本篇将深入探讨五个关键知识点:RAISERROR的使用,SQL注入的...

    重建索引例子 DBCC dbreindex dbcc showcontig

    #### 标题:重建索引例子 DBCC dbreindex dbcc showcontig #### 描述:本示例通过使用`dbcc showcontig`来展示索引碎片化情况,并利用`dbcc dbreindex`命令对指定表的索引进行重组。 ### 知识点详解 #### 一、...

    解决sqlserver 2012 中ID 自动增长 1000的问题.zip

    2. **DBCC CHECKIDENT**:使用DBCC CHECKIDENT命令可以重置自增ID种子和步长,错误地使用该命令可能导致跳跃。 3. **还原操作**:如果你从备份或事务日志中恢复数据库,可能会保留原数据库的自增ID状态,跳过当前表...

    SQL SERVER DBCC命令解释

    SQL SERVER DBCC 命令解释 DBCC(Database Consistency Checker)是 SQL Server 中的一个命令,用于检查和维护数据库的完整性和一致性。DBCC 命令可以用来诊断和修复数据库中的问题,例如死锁、锁问题、索引问题等...

    用sql语句dbcclog查看SQLServer数据库的事务日志[定义].pdf

    "用sql语句dbcclog查看SQLServer数据库的事务日志" SQL Server 数据库的事务日志是对数据库中的所有操作进行跟踪和记录的机制,它记录了数据库中的每一个操作,包括INSERT、UPDATE、DELETE等。通过查看事务日志,...

    Sql-Server实用操作-数据库一致性检测工具(DBCC).pdf

    Sql Server 实用操作 - 数据库一致性检测工具 (DBCC) DBCC (Database Consistency Checker) 是一种强大的数据库一致性检测工具,旨在帮助开发者和数据库管理员检测和解决数据库中的问题。.Sql Server 中的 DBCC ...

    identity用法总结

    DBCC CHECKIDENT 语法为:DBCC CHECKIDENT ( table_name [ , { NORESEED | { RESEED [ , new_reseed_value ] } } ] ) [ WITH NO_INFOMSGS ],其中 table_name 是要对其当前标识值进行检查的表名,NORESEED 指定不应...

    推荐SQL Server 重新恢复自动编号列的序号的sql代码

    解决这个问题的方法有两种:使用 TRUNCATE 命令和使用 DBCC CHECKIDENT 命令。 1. 使用 TRUNCATE 命令 TRUNCATE 命令可以删除表中的所有数据,并将 IDENTITY 的 SEED 值恢复到原始值。这意味着,当我们使用 ...

    DBCC命令大全 磅数数据库修复

    ### DBCC命令大全:数据库修复与维护 在数据库管理领域,**DBCC(Database Consistency Checker)**命令集是用于检查、验证以及修复数据库一致性问题的强大工具。本文将详细介绍DBCC命令集中的一些关键命令及其使用...

    如何应用SQL Server中的DBCC避免堵塞

    你可以用两种方法运行 DBCC:通过命令行窗口或查询分析器(Query Analyzer)窗口。如果你认为必要,你还可以确定其操作的时间。 DBCC 命令包括以下扩展: * CheckDB:检测整个数据库的一致性,是检查数据库破坏的...

Global site tag (gtag.js) - Google Analytics