我有超过3000000行的表。我尝试将数据手动导出,并使用SQL Server Management StudioExport data功能将数据导出到Excel,但遇到了几个问题:
Export data
手动复制和粘贴数据时创建.txt文件时(这是多次,因为如果从SQL Server Management Studio复制所有行,则会抛出内存不足错误),我无法使用任何文本编辑器将其打开并进行复制行;
在Export data到Excel不起作用,因为Excel不支持这么多行
最后,使用该Export data功能,我创建了一个.sql文件,但文件大小为1.5 GB,并且无法再次在SQL Server Management Studio中打开它。
.sql
是否可以通过Import data功能导入它,或者通过其他更聪明的方法来备份表中的信息,然后在需要时再次将其导入?
Import data
提前致谢。
我不确定我是否了解您的要求(我不知道您是否需要将数据导出到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”)-如果您要导出大量数据,这会有所帮助。