为了账号安全,请及时绑定邮箱和手机立即绑定

身份增量在SQLServer数据库中跳转

身份增量在SQLServer数据库中跳转

阿晨1998 2019-06-01 16:21:35
身份增量在SQLServer数据库中跳转在我的桌子上Fee在SQLServer 2012中的“ReceiptNo”列中,数据库标识增量突然开始跳到1000,而不是1,具体取决于以下两点。如果它是1205446,它是跳转到1206306,如果它是1206321,它跳到1207306,如果它是1207314,它跳到1208306。我想让你们注意的是,当跳跃发生时,最后三位数保持不变,即306,如下图所示。此问题发生在我重新启动计算机时。
查看完整描述

4 回答

?
饮歌长啸

TA贡献1951条经验 获得超3个赞

此问题发生在重新启动SQLServer之后。

解决办法是:

  • SQLServer配置管理器.

  • 选择SQLServer服务.


  • 右击SQLServer并选择特性.

  • 在打开的窗户下面启动参数、类型-T272然后点击,然后按应用按钮并重新启动。


查看完整回答
反对 回复 2019-06-01
?
慕后森

TA贡献1802条经验 获得超5个赞

我知道我的回答可能会迟到。但是,通过在SQLServer 2012中添加启动存储过程,我已经以另一种方式解决了问题。

在主数据库中创建以下存储过程。

USE [master]GOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOALTER PROCEDURE [dbo].[ResetTableNameIdentityAfterRestart]ASBEGINbegin TRAN
    declare @id int = 0
    SELECT @id =  MAX(id) FROM [DatabaseName].dbo.[TableName]
    --print @id
    DBCC CHECKIDENT ('[DatabaseName].dbo.[TableName]', reseed, @id)CommitEND

然后使用以下语法将其添加到启动中。

EXEC sp_procoption 'ResetOrderIdentityAfterRestart', 'startup', 'on';

如果你没有几张桌子,这是个好主意。但是,如果您必须对许多表执行此方法,则此方法仍然有效,但不是一个好主意。


查看完整回答
反对 回复 2019-06-01
  • 4 回答
  • 0 关注
  • 520 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信