如何将 table 的 6 亿行插入另一个 table

How to insert a tables 600mln rows into another table

设置: 主服务器,收集点 4个二级服务器,数据导入

导入服务器有更多表。每个数据库大约 500GB,总共有超过 150 亿条记录

我们在尝试将表从导入的数据库导入主服务器时遇到了问题 运行。

我该怎么做?

您可以使用 SSIS

使用 2 个组件创建常规数据流 - OLE DB 源和 OLE DB 目标(我假设您使用的是 MS SQL 服务器,一般来说,使用您公司用来连接到数据库的任何组件)。

如果有 2 个数据库,则创建 2 个连接管理器,每个都指向其数据库。将 OLE DB 源指向配置为指向数据源的第一个连接管理器,并将 OLE DB 目标指向配置为指向目标 DB 的第二个连接管理器。

现在将 OLE DB 源指向源数据库中的源 table,保留所有字段不变。使用最初从源组件中出来的绿色箭头连接源组件和目标组件。现在将 OLE DB 目标指向目标数据库中的目标 table。双击目标,转到映射并确保它们是正确的(SSIS 尝试使用 strick 名称匹配自动映射),否则(如果名称不同)手动连接源和目标字段。就是这样,您只是不为目标 table.

无法容纳的字段提供映射

或者,您可以在源组件中省略不需要的列 - 双击它,转到“列”并取消选中不需要的列。

问这个问题最好的地方是:https://dba.stackexchange.com/