【发布时间】:2015-01-26 15:24:56
【问题描述】:
我正在尝试将数据从一台服务器传输到另一台服务器作为一次性练习,我已经设置了链接服务器,但身份字段仍然存在问题
SET IDENTITY_INSERT Regions On
INSERT INTO Regions SELECT * FROM ARACHNE.CMT.dbo.Regions
SET IDENTITY_INSERT Regions Off
每当我运行上面的脚本时,它都会出错
Msg 8101, Level 16, State 1, Line 2
An explicit value for the identity column in table 'Regions' can only be specified when a column list is used and IDENTITY_INSERT is ON.
但如果运行 SET IDENTITY_INSERT Regions On 或 SELECT * FROM ARACHNE.CMT.dbo.Regions 我会得到成功的响应。
我已经检查了目标服务器上用户的权限(这是我尝试执行此查询的地方),它确实具有插入数据和打开 identity_insert 的正确权限
【问题讨论】:
-
使用内置的导出和导入数据向导导出数据。?
-
使用 selct * 是一种 SQL 反模式。在插入中使用它是一种更糟糕的反模式。您需要知道一个表中的列与另一表中的正确列相匹配。
标签: sql-server linked-server data-transfer