SQL Server在传输数据时生成重复行

SQL Server在传输数据时生成重复行,sql,sql-server,Sql,Sql Server,我正在尝试使用AdventureWorks数据库为另一个数据库生成一些测试数据。当我执行以下查询时,它会生成24个重复的主键。因此,除非我关闭目标db表上的PK,否则查询将不会运行。源数据库不包含这些重复项 INSERT INTO [TestDb] (TestId, Name, Location) SELECT p.[BusinessEntityID], p.[FirstName]+ISNULL(p.[MiddleName], '')+p.[LastName], a.[City] F

我正在尝试使用AdventureWorks数据库为另一个数据库生成一些测试数据。当我执行以下查询时,它会生成24个重复的主键。因此,除非我关闭目标db表上的PK,否则查询将不会运行。源数据库不包含这些重复项

INSERT INTO [TestDb] (TestId, Name, Location)
SELECT
  p.[BusinessEntityID],
  p.[FirstName]+ISNULL(p.[MiddleName], '')+p.[LastName],
  a.[City]
FROM [AdventureWorks2008R2].[Person].[Person] AS p
INNER JOIN [AdventureWorks2008R2].[Person].[BusinessEntityAddress] AS b
ON p.BusinessEntityID = b.BusinessEntityID
INNER JOIN [AdventureWorks2008R2].[Person].[Address] AS a
ON a.AddressID = b.AddressID;
关于为什么要创建副本,有什么建议吗? 是否有更好的方法生成测试数据? 如果我不在乎信息是否丢失,那么删除重复行的最佳方法是什么? 当做
Dave

可能会尝试左键连接,但对此不确定,尽管

如果问题是重复,这根本没有帮助,因为键不是1=1关系