如何将 table 数据从一台 SQL 服务器复制到另一台 SQL 服务器?
How to copy table data from one SQL Server into another SQL server?
如何将数据从一个 SQL 服务器数据复制到另一个服务器。我正在尝试将 table 数据从服务器 1 复制到服务器 2。在 server1.table1 中,来自 table 的数据得到 added/deleted 例如,如果我有 10 行并且添加了另外 5 行,一段时间后前 10 行被删除。另一方面,我正在复制到另一台服务器 server2.table2。我正在使用 EXCEPT 函数来复制 int data2 is server2。我的以下代码是。
对于服务器 1。
CREATE TABLE database1.dbo.Data1
(MachineId bigint IDENTITY(1,1) PRIMARY KEY,
MachineName varchar(50) NOT NULL,
ProgramName varchar(255) NOT NULL,
);
GO
对于服务器 2。
CREATE TABLE database2.dbo.Data2
(MachineId bigint IDENTITY(1,1) PRIMARY KEY,
MachineName varchar(50) NOT NULL,
ProgramName varchar(255) NOT NULL,
);
GO
SET IDENTITY_INSERT [Server2].[database2].[dbo].[Data2] ON
GO
Insert into [Server2].[database2].[dbo].[Data2] SELECT * from [Server1].[database1].[dbo].[Data1] EXCEPT SELECT * from [Server2].[database2].[dbo].[Data2]
但是我得到一个错误:
An explicit value for the identity column in table
'[Server2].[database2].[dbo].[Data2]' can only be specified when a
column list is used and IDENTITY_INSERT is ON
不过我用过身份插入
由于消息很明确,您还必须定义列定义才能在标识列中明确插入值,如下所示。您只需要替换最后一个 insert
块
INSERT INTO [Server2].[database2].[dbo].[Data2] (MachineId, MachineName, ProgramName)
SELECT * FROM [Server1].[database1].[dbo].[Data1]
EXCEPT
SELECT * FROM [Server2].[database2].[dbo].[Data2]
注意:这只是针对您的错误消息的解决方案,我希望查询的其余部分能够按您的预期工作。
如何将数据从一个 SQL 服务器数据复制到另一个服务器。我正在尝试将 table 数据从服务器 1 复制到服务器 2。在 server1.table1 中,来自 table 的数据得到 added/deleted 例如,如果我有 10 行并且添加了另外 5 行,一段时间后前 10 行被删除。另一方面,我正在复制到另一台服务器 server2.table2。我正在使用 EXCEPT 函数来复制 int data2 is server2。我的以下代码是。
对于服务器 1。
CREATE TABLE database1.dbo.Data1
(MachineId bigint IDENTITY(1,1) PRIMARY KEY,
MachineName varchar(50) NOT NULL,
ProgramName varchar(255) NOT NULL,
);
GO
对于服务器 2。
CREATE TABLE database2.dbo.Data2
(MachineId bigint IDENTITY(1,1) PRIMARY KEY,
MachineName varchar(50) NOT NULL,
ProgramName varchar(255) NOT NULL,
);
GO
SET IDENTITY_INSERT [Server2].[database2].[dbo].[Data2] ON
GO
Insert into [Server2].[database2].[dbo].[Data2] SELECT * from [Server1].[database1].[dbo].[Data1] EXCEPT SELECT * from [Server2].[database2].[dbo].[Data2]
但是我得到一个错误:
An explicit value for the identity column in table '[Server2].[database2].[dbo].[Data2]' can only be specified when a column list is used and IDENTITY_INSERT is ON
不过我用过身份插入
由于消息很明确,您还必须定义列定义才能在标识列中明确插入值,如下所示。您只需要替换最后一个 insert
块
INSERT INTO [Server2].[database2].[dbo].[Data2] (MachineId, MachineName, ProgramName)
SELECT * FROM [Server1].[database1].[dbo].[Data1]
EXCEPT
SELECT * FROM [Server2].[database2].[dbo].[Data2]
注意:这只是针对您的错误消息的解决方案,我希望查询的其余部分能够按您的预期工作。