如何使用BULK INSERT在两个表之间移动数据?

时间:2016-11-17 13:46:55

标签: sql-server bulkinsert

如何使用BULK INSERT在两个表之间移动数据?我找不到带有示例的教程。我有10万条记录要移动。 SQL Server 2012 SP3。这是一次行动。我无法使用cmdshell,我无法使用SSIS。我必须分批移动数据。这将是一个夜间工作。我说"移动"但我不必删除源中的记录。目标表已经存在,我不必检查一些约束和没有外键。

1 个答案:

答案 0 :(得分:2)

将数据从一个数据库转移到另一个数据库非常容易,只要两者都位于同一个服务器中(就像你写的那样)。

由于您想要使用脚本并且想要从一个表复制记录到另一个表,您可以使用它:

INSERT INTO TargetDB.dbo.TableName(col1,col2,col3...) 
SELECT col1,col2, col3 ... FROM SourceDB.dbo.TableName

这会将所有行从此复制到那里。

在您的问题中,您没有提供足够的信息,但您想使用脚本。以上是一个脚本......

  • 如果您有现有数据,请阅读MERGE
  • 如果Target和Soure没有相同的结构,您可以轻松调整SELECT以准确返回您需要插入的集合
  • 如果您不需要复制所有行,只需添加WHERE子句
  • 即可
  • 如果您连接的用户没有必要的权限,请询问管理员。但是 - 从你的问题或评论 - 我认为,无论如何这将由管理员应用......
  • 如果数据库位于两个不同的服务器中,您可能会阅读linked server
  • 最后你可能会读到import and export,这是SSMS广泛支持的......