当前位置: 首页 > 面试题库 >

SQL Server 2012列标识增量在第7个条目上从6跃升至1000+

傅泉
2023-03-14
问题内容

我有一个奇怪的场景,其中SQL Server 2012数据库中的自动标识int列未正确递增。

假设我有一个使用int自动标识作为主键的表,它偶尔会跳过增量,例如:

1,2,3,4,5,1004,1005

这是在非常随机的时间在随机数量的表上发生的,无法复制以找到任何趋势。

这是怎么回事?有没有办法使它停止?


问题答案:

这完全是正常的。微软sequences在SQL Server
2012中添加了,最后,我可能添加和更改了生成身份密钥的方式。在这里看看一些解释。

如果您想保留旧的行为,可以:

  1. 使用跟踪标志272-这将导致为每个生成的标识值生成日志记录。身份生成的性能可能会因打开此跟踪标志而受到影响。
  2. 使用具有NO CACHE设置的序列生成器(http://msdn.microsoft.com/en-us/library/ff878091.aspx)


 类似资料:
  • 我在c:/program files/java中安装了JRE 1.6和1.7(以及JDK)/ 我先安装了1.7,然后又安装了1.6。我使用Eclipse作为我的IDE——请注意,我是Java新手。 当我想切换到1.6时,我会转到“运行配置”(在Eclipse中)并选择替代JRE,选择1.6并单击应用。但当我尝试运行一个简单的HelloWorld程序时,我收到了以下警报: 找不到主类:HelloW。

  • 问题内容: 当我在方法中运行代码时,通过点击,进度条将按预期工作。 然而,当我通过列表中的其他方法的方法(即,),进度条刚跳到100%它启动后。 问题答案: 看来您不了解我先前解决方案的逻辑,我将详细说明该过程: 是线程处理程序,因此该类的对象使我们可以在除主线程(称为GUI线程)之外的其他线程上执行任务。 您正在创建一个具有doWork方法的SeleniumWorker对象,该对象是不应在GUI

  • 问题内容: 当我在方法中运行时,通过单击,进度条将按预期工作。 然而,当我通过列表中的其他方法的方法(即,),进度条刚跳到100%它启动后。 问题答案: 看来您不了解我先前解决方案的逻辑,我将详细说明该过程: 是线程处理程序,因此该类的对象使我们可以在除主线程(称为GUI线程)之外的其他线程上执行任务。 您正在创建一个具有doWork方法的SeleniumWorker对象,该对象是不应在GUI线程

  • 但会导致以下错误消息: 行2,列1(id)的大容量加载数据转换错误(类型不匹配或指定代码格式的字符无效)。

  • 问题内容: 我正在运行centos 7并使用epel软件包在主机上安装了docker: 但是docker版本是- Docker的最新稳定分支为1.2 我正在该主机上运行几个容器,那么如何在此主机上安全地更新Docker? yum update docker不会更新到最新版本,因为epel repo具有旧软件包。 问题答案: 请注意,当前的Docker稳定版本实际上是1.3,而不是1.2。 请参阅D

  • 介绍云联壹云产品如何进行升级操作。 升级介绍 本文档介绍如何从 云联壹云 2.13.x版本升级到3.2.x版本。 云联壹云 3.x版本不同于2.x版本采用传统部署方法运行CentOS系统上,而是基于Kubernetes Operator技术部署运行在Kubernetes上,并将平台服务组件等容器化部署运行在Kubernetes集群。 升级前准备 本次升级为停服升级,即控制节点和计算节点都将关闭并禁