一尘不染

SQL Server Management Studio 2012-从表导出/导入数据

sql

我有超过3000000行的表。我尝试将数据手动导出,并使用SQL Server Management StudioExport data功能将数据导出到Excel,但遇到了几个问题:

  • 手动复制和粘贴数据时创建.txt文件时(这是多次,因为如果从SQL Server Management Studio复制所有行,则会抛出内存不足错误),我无法使用任何文本编辑器将其打开并进行复制行;

  • Export data到Excel不起作用,因为Excel不支持这么多行

最后,使用该Export data功能,我创建了一个.sql文件,但文件大小为1.5 GB,并且无法再次在SQL Server Management
Studio中打开它。

是否可以通过Import data功能导入它,或者通过其他更聪明的方法来备份表中的信息,然后在需要时再次将其导入?

提前致谢。


阅读 431

收藏
2021-03-17

共1个答案

一尘不染

我不确定我是否了解您的要求(我不知道您是否需要将数据导出到excel或要进行某种备份)。

为了从单个表中导出数据,您可以使用大 容量复制工具 ,该 工具 允许您从单个表中导出数据并将其导出/导入到文件中。您还可以使用自定义查询来导出数据。

重要的是,这不会生成Excel文件,而是另一种格式。您可以使用它将数据从一个数据库移动到另一个数据库(在两种情况下都必须是MS SQL)。

示例:创建一个格式文件:

Bcp [TABLE_TO_EXPORT]格式“ [EXPORT_FILE]” -n -f“ [FORMAT_FILE]” -S [服务器] -E -T
-a 65535

导出表中的所有数据:

bcp [TABLE_TO_EXPORT] out“ [EXPORT_FILE]” -f“ [FORMAT_FILE]” -S [服务器] -E -T
-a 65535

导入先前导出的数据:

bcp [EXPORT_FILE]中的[TABLE_TO_EXPORT]“ -f” [FORMAT_FILE]“ -S [服务器] -E -T -a
65535

我将输出从导出/导入操作重定向到日志文件(通过在命令末尾添加“> mylogfile.log”)-如果您要导出大量数据,这会有所帮助。

2021-03-17