【问题标题】:Append existing data to table with identity将现有数据附加到具有标识的表中
【发布时间】:2018-05-20 05:16:46
【问题描述】:

SQL Server 2014:我正在将旧 SQL Server 中的表导入新服务器。我所做的是将表格下载到 MS Access,然后将其上传到新服务器(不同的环境)。

问题是在上传时,我的主键和自动增量被删除了。 PK 很容易修复,我能够添加一个新的标识列,但现在我无法附加到标识列,因为错误提示 IDENTITY_INSERT 是 ON。所以我把它关掉了,但仍然得到同样的错误。

有什么想法可以解决吗?

【问题讨论】:

  • 什么是“SQL 2014”?
  • 仔细阅读错误。它没有说身份插入已打开。

标签: sql sql-server sql-server-2014


【解决方案1】:

阅读documentation for INDENTITY_INSERT:

在任何时候,会话中只有一个表可以将 IDENTITY_INSERT 属性设置为 ON。如果一个表已经将此属性设置为 ON,并且为另一个表发出了 SET IDENTITY_INSERT ON 语句,则 SQL Server 将返回一条错误消息,指出 SET IDENTITY_INSERT 已为 ON,并报告它为其设置为 ON 的表。

如果您已经尝试为其他表关闭它,您可能正在处理事务 - 尝试发出 COMMIT。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多