SQLserver修复种子表示例原创
金蝶云社区-王富贵
王富贵
16人赞赏了该文章 332次浏览 未经作者许可,禁止转载编辑于2024年02月02日 09:00:02



SQLserver修复种子表示例(以T_BD_COMMONCONTACT_L为例):


--查看当前的种子表值
DBCC CHECKIDENT(Z_BD_COMMONCONTACT_L,NORESEED)

--根据现有主键最大值更新种子表值
--以联系人多语言表T_BD_COMMONCONTACT_L为例
DECLARE @NUM BIGINT
SET @NUM = (SELECT MAX(FPKID) FROM T_BD_COMMONCONTACT_L)
DBCC CHECKIDENT(Z_BD_COMMONCONTACT_L,RESEED,@NUM)



注:一般基础资料主表内码取的种子表为Z_BAS_ITEM,因为被多处基础资料所使用(如客户主表、供应商主表、业务员主表等)如果需要修复基础资料种子表,不能仅增加到比当前报错的表主键大,需要将种子值重置到足够大才能超过所有基础资料主键的最大值,可以按照估算值的方式进行估计(按数据量,假设上线时间基础资料最大主键值300000,假账套使用了100天,如果按照每天新增1000算,则需要增加到300000+100*1000 = 400000)


赞 16