关于数据库中有numeric数据类型的字段出现跳号的问题
来源: 作者: 出处:综艺读书 2006-09-23环境: WIN2000 ADV , SYBASE12.5 中文版.
数据加工生产库, 白天上班应用,晚上关机.
问题描述: 今天早上开服务器,启动SYBASE服务时,感觉比平时慢了许多.
查看NT日志,有一条'
|
|
|||
晕了,昨天晚上没有服务就关服务器了? 服务起来了,当时检查数据库也没发现什么问题..
上班了,有一道工序的员工反应应用程序出现: 'XX值超出最大范围,请与管理员联系' . 检查相应表里的数据,(该表里有一个字段为numeric,设为自动加1,字段定义为 test1 numeric(10,0) IDENTITY ,) 表现该字段最大值为5028502,而它下面比它小的那个字段值为28501,将值为5028502的这条记录删除,再来,最大值成了5028503.删了再来,5028504. 不行了,看来出问题了....
经多方求教,问题已经得到解决,现写出对问题的分析及解决办法,共大家参考:
出现这个错误与SYBASE处理IDENTITY的策略有关.SYBASE在启动时会取出一段值放在内存中,IDENTITY是从内存中取的,在关机时,再写回到数据库中,如果非正常关机,则,,,
分析原因:db-server服务器出现故障或用no wait关机。导致分配ID号码块被‘烧毁’,当db-server服务器再次运行时,它会以先前写入磁盘的块的最高号码为基础,开始为下一号码块编号。依据出现故障前被指派到行中的已分配号码的多少,ID号可能会有很大的间隔。
解决方法: 在该表上加上 with identity_gap = number 参数即可.
with identity_gap 是为表指定标识间距。此值仅替换为此表设置的标识距。
执行sp_chgattribute 'table_name','identity_gap',number
可用sp_help 查看表的identity_gap的设置
number的值不要设置的过低,会使性能降低
建议为50, 这样你的数据最大的数据间隔是50
结果: 执行sp_chgattribute 'table_name','identity_gap',number
问题解决.
教训:一定要正常关机!
其实,这也是大家帮助我解决的,在些也对你们表示感谢!
本人菜鸟一只,但我一直在努力,学习也是一个过程....
发这个帖子的目的,在于抛砖引玉.
希望大家把平时遇到的问题,即使问题已经解决了,
也整理一下,贴出来,对于自己也是一个总结.
对于大家也是一个学习,交流的机会....
说不定对这个问题,还可以有更好的解决办法呢.
相关图文阅读
频道图文推荐
相关专题
·数据库专栏 (4469篇文章)
·数据库处理专题 (7214篇文章)
·城域网专题 (6668篇文章)
·数据库安全技术专题 (11215篇文章)
·数据库安装与卸载 (8929篇文章)
·Linux数据库宝典 (11165篇文章)
·数据库相关文章 (4470篇文章)
·数据库处理专题 (7214篇文章)
·城域网专题 (6668篇文章)
·数据库安全技术专题 (11215篇文章)
·数据库安装与卸载 (8929篇文章)
·Linux数据库宝典 (11165篇文章)
·数据库相关文章 (4470篇文章)
最新技术文档
·常见数据库系统之比较-SYBASE和SQLSERVER 03-26
·SYBASEASEFORLINUX安装及perl连接SYBASE 03-26
·数据仓库领域革命性的产品—Sybase IQ 03-22
·Sybase与Oracle的十二场性能比拼 12-27
·超级PK:Sybase与Oracle的十二场性能比拼 12-22
·Sybase和Oracle安装过程中常遇到的问题 11-24
·Sybase SQL Studio 6.0.3程序员指南 10-31
·.NET中使用oledb连接sybase和csv格式文件的连接 10-17
·Sybase数据库死锁对策 09-30
·SYBASE数据库日志详解 09-30
·SYBASEASEFORLINUX安装及perl连接SYBASE 03-26
·数据仓库领域革命性的产品—Sybase IQ 03-22
·Sybase与Oracle的十二场性能比拼 12-27
·超级PK:Sybase与Oracle的十二场性能比拼 12-22
·Sybase和Oracle安装过程中常遇到的问题 11-24
·Sybase SQL Studio 6.0.3程序员指南 10-31
·.NET中使用oledb连接sybase和csv格式文件的连接 10-17
·Sybase数据库死锁对策 09-30
·SYBASE数据库日志详解 09-30
站内各频道最新更新文档
站内最新制作专题
|
|||
| ·win98频道 ·Windows XP频道 ·Windows Vista频道 ·Windows 2000频道 ·win2003频道 ·Freebsd频道 ·Oracle频道 ·安全频道 |
·Linux频道 ·Windows频道 ·邮件服务器专题 ·协议大全 ·数据恢复指南教程 ·FreeBSD使用教程 ·Linux数据库宝典 ·Linux基础知识 |
||
热门关键字导读
站内频道文章精选
| · 秘密:Vista隐蔽的动态屏保 · 腾讯开发新电子宠物--QQ熊 · 惠普否认2999元PC有价无货 |
· 驱逐Win系统“流氓”文件 · WinXP中获取未使用的IP地址 · 尝试format C:格式化硬盘? |
| · 在DOS下恢复回收站中的文件 · 拯救WinXP崩溃的救命稻草 · Linux系统中超级权限的应用 |
· 搜狗PK谷歌:谁能代言拼... · 昨日重现,一键GHOST轻松.. · 实现Web迅雷在空闲时杀毒 |
| · AVIFile函数制做AVI文件 · VC中链接动态链接库的方法 · 熊猫烧香核心源码(Delphi) |
· DateDiff函数祥解 · JavaScript去除空格的三种 · js效果 图片加载进度实时.. |
| · SQL Server数据库优化方案 · Oracle的初学者入门心得 · JSP连接Mysql数据库 |
· Photoshop为美女做艺术处理 · 用Freehand创建发光字特效 · 设计自己的个性QQ动态表情 |
百度推荐,商机无限
搜索您感兴趣的内容




