如何在备份数据库时保持身份

时间:2017-07-31 08:24:06

标签: sql-server

在进行数据库备份后,当我尝试将其恢复时,身份的种子将重置为0。因此,当我尝试插入任何新值时,id(主键)将启动1

现在的问题是,我有关系数据表。在某些操作之后,请从table x说出数据移至table y。但是当种子设置为0时,table xtable y的id值会发生冲突。这给了我错误。

在进行备份时是否有任何方法,我们也可以保存身份的价值。

P.S。 :

  1. 数据库的大小很大,旁边是手动更改 不可能。
  2. 只有当表为空时,
  3. 身份的种子才会重置为0
  4. 编辑:

    抱歉有点混乱,通过备份,我的意思是导出(我的坏)。由于空表的种子设置为默认,我的表中的主键是冲突的,因此在导出数据库时,我还需要存储每个表的标识值。

    我有什么方法可以做到吗?

1 个答案:

答案 0 :(得分:2)

使用

时,身份种子重置或修改
  • 备份数据库
  • RESTORE DATABASE

您必须导出和导入数据,备份和恢复 我再说一次

  • BACKUP DATABASE是备份数据库的唯一方式
  • RESTORE DATABASE是唯一还原数据库的方式

如果您想保留导出/导入方法,只需使用DBCC CHECKIDENT重置种子。

另请阅读此内容以了解为什么将种子设置为零:
SQL server identity column values start at 0 instead of 1