SSMS 导入大表

SSMS 导入大表

我正在尝试在 2 个 MSSQL 2008 数据库之间移动多个数据表,我为一个相当大的表生成了数据插入脚本(大约 3.5M 行)。该脚本大约有 3GB。当我尝试使用 SSMS 打开脚本时,出现以下错误:

在此处输入图片描述

有没有办法让 SSMS 让我打开这个脚本或者将数据导出为其他更容易导入的格式。

答案1

您的第一个大问题是您试图将 3GB 的数据作为脚本加载到 SSMS 中。我不确定 SSMS 有多聪明,但我敢打赌它试图将整个文件加载到内存中,这将导致它崩溃,因为它是一个 32 位应用程序 - 32 位应用程序的最大地址空间为 4GB,其中 2GB 可供进程使用。

最好使用批量导入/导出工具来完成这项工作,它们更适合移动大量数据:

关于批量导入和批量导出操作

您可能也不想(我怀疑)将其作为事务插入来运行:

优化批量导入性能

批量导入中最少日志记录的先决条件

答案2

您可以尝试从命令行使用 sqlcmd 运行该脚本。

相关内容