Sybase自增字段跳号原因及影响:

在Sybase数据库中如果数据库在开启的情况下,因为非正常的原因(死机、断电)而导致数据库服务进程强制结束。

那么自动增长的字段将会产生跳号的情况,再往数据表里面插入记录时,自增字段会跳到一个相当大的值上面,以至于主键的自增值极有可能被用尽,或由于数值太大,应用程序中的数据类型如int型等已无法容下这么大的值,而无法在程序里面进行相关的操作。

Sybase自增字段跳号解决办法:

如下:sybase在执行shutdown with nowait,再重启后,原来的ID值出现跳号。

如何关闭sybase时执行shutdown时,则不会出现跳号情况。

如果还未发生过跳号情况,可按如下办法解决:

1.执行 sp_chgattribute 表名, 'identity_gap', 100

其中的100是凭感觉给的一个值,一般来说这个值越大性能越好,但越大,再发生数据库服务进程非正常结束时,所跳的号也就越大。

2. 若已经发生跳号,需要将表中数据bcp导出,再重建数据表,再执行1。再bcp命令导入数据。

后话:

Sybase自增字段有个最大的问题是,再移植数据库时,如果是按自增主键进行关联的数据表,在数据重新导入后,可能出现主从表的外键无法关联的情况,我是开始时没预料到这样的情况,现木已成舟,没有办法了。 以后还是要慎用自增字段作为主键。

《FROM:http://database.51cto.com/art/201011/235579.htm http://blog.sina.com.cn/s/blog_499ab6b20100xipp.html》

最新文章

  1. 怎样制作web版的folder treeview
  2. .NET 响应式自动缩略图服务器
  3. java使用poi读取ppt文件和poi读取excel、word示例
  4. 使用 IntraWeb (45) - 活用 IntraWeb
  5. java截取日期范围并计算相差月数
  6. Maven(一)简介和基本安装使用
  7. sourcetree使用问题汇总
  8. ASP.NET调用word出错
  9. angularJS笔记
  10. Lucene分页-----SearcherAfter
  11. DataTable举例
  12. Eclipse中使用git把项目导入到osc@git中
  13. python之7-2类的继承与多态
  14. Git一些其它的功能
  15. log4j2日志模板
  16. tornado 基于MongoDB存储 session组件开发
  17. iOS ReplayKit实时录制屏幕实现方案的细节记录
  18. 关于python 文件操作os.fdopen(), os.close(), tempfile.mkstemp()
  19. Kali linux创建和删除用户
  20. 在写makefile过程中遇到的问题

热门文章

  1. Ngnix安装
  2. vim中systemverilog的高亮显示
  3. MenuButton( 菜单按钮)
  4. Web应用程序项目XXXX已配置为使用IIS。无法访问IIS元数据库。您没有足够的特权访问计算机上的IIS网站
  5. css快捷方式
  6. JS 无提示关闭当前窗口
  7. C/C++中new关键字是否加括号的区别
  8. C++拾遗(一)关于main()函数
  9. 深度克隆(对象、数组)--------百度IFE前端task2
  10. 转载:如何查看用户当前shell和修改用户登陆时的默认shell