我在同一个数据库中有两个具有相同列结构的表:TableA
和TableB
。如何在同一个数据库中将大量数据从一个表复制到另一个表中?
TableA
没有任何索引,但TableB
有一个非聚簇唯一索引。
TableA
有290万行数据需要复制到TableB
。
,因为它们都具有相同的结构,我已经试过
INSERT INTO TableB
SELECT *
FROM TableA;
它是为执行时间和产生的填充磁盘巨大的日志文件。结果磁盘空间不足,查询被终止。
我可以收缩日志文件。我怎样才能有效地将这些多行数据复制到另一个表中?
检查了这可能会帮助你。 http://dba.stackexchange.com/questions/99367/insert-into-table-select-from-table-vs-bulk-insert –
要复制2.9亿行,您将要将其分解为大块。不知道每行中有多少数据,但是当您在单个语句中执行此操作时,必须记录所有数据,以便在发生错误时可以回滚。将其分解为块或使用BulkInsert将缓解日志压力,因为它不会每个事务都需要太多数据。 –
你有一个主键列,如果是的话是什么数据类型? –