1

总的来说,我对 sql server 和 sql 很陌生,所以我对导入/导出数据有疑问。我在两台不同的服务器上有相同的两张表。我无权修改其中之一,但我仍然可以导入数据。我尝试使用另一张桌子,它奏效了。我有权修改的服务器,我们称它为 Dev 服务器,而我没有修改的服务器是 Prod 服务器。我正在尝试将数据从 Prod 导入 Dev。这个问题是表有一个主键,当我尝试使用 sql server 导入和导出向导导入时,它会说cannot insert duplicate key in object。我试图排除主键列,但它说cannot insert null values(我试图更改该列以接受空值,但它不起作用)。我真的很感激一些帮助!如果您需要更多信息,请与我们联系。我试图在高层次上解释它。谢谢!

4

2 回答 2

0

如果问题是“Prod”上的记录中有一些更新的记录,那么您可以简单地将整个表单独导入您的服务器(作为单独的表),然后将它们合并在一起。这只会为您提供两个表中的不同记录。

于 2019-02-14T19:51:10.937 回答
0

由于您要加载到的目标表具有主键约束,因此该列中只允许唯一值。也不能通过将其从导入中排除来将其保留为空,这对于 SQL Server 和类似的关系数据库是正确的。您可以从目标表中删除主键,在加载该表之前截断该表,或者仅通过增量加载导入新记录。如果您选择采用增量加载方法,SQL Server Integration Services (SSIS) 是处理此问题的好选择。您提到您是 SQL Server 的新手,所以我猜您还没有使用过 SSIS,但是如果您想了解更多关于这方面的信息,Andy Leonard 的SSIS Stairway是一个很好的起点。

于 2019-02-14T19:58:23.090 回答