我有一组 12 个表,总共约 400 万行,每年需要移动四次。它们来自的数据库服务器无法直接与它们要移动到的服务器通信。数据必须通过 SFTP 文件传输。
这 12 个表已存在于目标数据库中,但可以根据需要删除或截断。目标数据库将在传输期间处于“实时”使用状态。
在理想的情况下,我希望在源服务器上执行一些脚本,将所有数据放入平面文件中,并在目标服务器上执行另一个脚本,从平面文件加载表。
到目前为止我见过的选项:
使用导入/导出数据向导导出到 CSV(尽管我不确定源数据中包含逗号是否会引起麻烦)。我不喜欢随着时间的推移很容易发生错误,例如导入到错误的表中。
编写 powershell 来导出数据(再次是 CSV 文件,我喜欢一些二进制文件,这样我就不必担心解析问题)。
将数据库备份并恢复到服务器上,然后复制所需的表。这需要复制约 100GB 的备份。这会很慢,但会起作用。
必须有一些工具可以完成此类工作!
@JD -为什么是 SFTP?将数据带入该网络的唯一经批准的方法是 SFTP。关键的公共安全系统,所以他们相当挑剔。 还有其他桌子吗?是的,这只是众多表中的 12 个,整个数据库大约为 100GB。