Foxtable(狐表)用户栏目专家坐堂 → 重定向数据库报错


  共有2809人关注过本帖树形打印复制链接

主题:重定向数据库报错

帅哥哟,离线,有人找我吗?
rjh4078
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3360 积分:24780 威望:0 精华:0 注册:2012/3/26 21:47:00
重定向数据库报错  发帖心情 Post By:2020/4/21 20:42:00 [显示全部帖子]

语句已终止。
违反了 PRIMARY KEY 约束 'PrimaryKey_fox'。不能在对象 'dbo.fox' 中插入重复键。

在A数据库上正常,将数据库覆盖还原到另外一台服务器上后新建单据就报这样的错误。

 回到顶部
帅哥哟,离线,有人找我吗?
rjh4078
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3360 积分:24780 威望:0 精华:0 注册:2012/3/26 21:47:00
  发帖心情 Post By:2020/4/21 21:00:00 [显示全部帖子]

SEL ECT * FROM fox
WHERE (_identify) IN  (SELE CT _identify FROM fox GROUP BY _identify HAVING COUNT(*) > 1)

sel ect * from{fox} where _ident ify is null
这两个语句都没查出记录

 回到顶部
帅哥哟,离线,有人找我吗?
rjh4078
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3360 积分:24780 威望:0 精华:0 注册:2012/3/26 21:47:00
  发帖心情 Post By:2020/4/22 8:27:00 [显示全部帖子]

主键是自增的 
两种操作都会报错
tables("fox").addnew
datatables("fox").addnew

datatables("fox").save



 回到顶部
帅哥哟,离线,有人找我吗?
rjh4078
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3360 积分:24780 威望:0 精华:0 注册:2012/3/26 21:47:00
  发帖心情 Post By:2020/4/22 9:23:00 [显示全部帖子]

不仅仅是这个表 是所有表都不行

 回到顶部
帅哥哟,离线,有人找我吗?
rjh4078
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3360 积分:24780 威望:0 精华:0 注册:2012/3/26 21:47:00
  发帖心情 Post By:2020/4/22 9:47:00 [显示全部帖子]

我发现这个数据库BAK有点不同了 他是从一个订阅服务器上备份的 不是从原始生产服务器上备份的  

 回到顶部
帅哥哟,离线,有人找我吗?
rjh4078
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3360 积分:24780 威望:0 精华:0 注册:2012/3/26 21:47:00
  发帖心情 Post By:2020/4/22 12:08:00 [显示全部帖子]


图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20200422120719.png
图片点击可在新窗口打开查看

有点费解 系统获取的_identify值和实际的不一致

 回到顶部
帅哥哟,离线,有人找我吗?
rjh4078
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3360 积分:24780 威望:0 精华:0 注册:2012/3/26 21:47:00
  发帖心情 Post By:2020/4/22 12:30:00 [显示全部帖子]

并没有用这个做关联,另外完整备份的数据库还原时不可能从头算的。 现在是备份文件恢复以后 无法新增记录。这个是一个简单的分布式需求,A是生产服务器,B是备份服务器,当A宕机以后切换到B的时候发现无法新增记录。网上找了一堆资料,大部分建议使用Guid。

 回到顶部
帅哥哟,离线,有人找我吗?
rjh4078
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3360 积分:24780 威望:0 精华:0 注册:2012/3/26 21:47:00
  发帖心情 Post By:2020/4/22 13:52:00 [显示全部帖子]

不行 用DBCC查看_identify值 最大是X 当前是1 所以新增是从2开始 但是数据库里已经有2了 所以会出现这个报错。现在只能手动把主键列种子重置一遍,没办法热切,只能冷切 聊胜于无。

 回到顶部