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

2019-06-26 02:28发布

我有超过3个000 000行表。 我有尝试将数据从手动将其与SQL Server Management Studio中导出Export data功能到Excel,但我遇到的几个问题:

  • 当创建.txt文件手动复制和粘贴的数据(这是好几次,因为如果从SQL Server Management Studio中复制所有行会抛出内存不足的错误),我不能用任何文本编辑器打开它,并复制行;

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

最后,随着Export data的功能我已经创建了一个.sql文件,但它是1.5 GB,我不能够在SQL Server Management Studio中再次打开它。

有没有办法与导入Import data功能,或者其他更聪明的方式,使我的表的信息的备份,然后,如果我需要重新导入呢?

提前致谢。

Answer 1:

我不太清楚,如果我理解您的需求(我不知道你是否需要导出数据到Excel或要做出某种备份的)。

为了从单一的表中导出数据,您可以使用批量复制工具 ,它允许您将数据从单个表和导出/导入它以文件导出。 您也可以使用自定义查询导出数据。

这并不产生一个Excel文件,但另一种格式是很重要的。 您可以使用此数据从一个数据库移动到另一个(必须是MS SQL在两种情况下)。

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

BCP [TABLE_TO_EXPORT]格式 “[EXPORT_FILE]” -n -f “[FORMAT_FILE]” -S [SERVER] -E -T -a 65535

从表中导出所有数据:

BCP [TABLE_TO_EXPORT]去 “[EXPORT_FILE]” -f “[FORMAT_FILE]” -S [SERVER] -E -T -a 65535

导入以前导出的数据:

BCP [TABLE_TO_EXPORT]在[EXPORT_FILE]” -f “[FORMAT_FILE]” -S [SERVER] -E -T -a 65535

我从重定向兴田出口/进口业务的日志文件的输出(通过附加“> mylogfile.log”广告的命令结束) - 这可以帮助,如果你正在导出大量的数据。



Answer 2:

这里,又未BCP方式:

  1. 出口模式和数据文件中的

    • 使用SSMS向导数据库>> >>任务生成脚本... >>选择表>>选择数据库模型和模式
    • 保存SQL文件(可以是巨大的)
    • 转印之外的其它服务器上的SQL文件
  2. 在几个文件中分割数据

    • 使用一个程序像textfilesplitter分裂在10万行的文件的文件较小的文件和拆分(因此每个文件都不能太大)
    • 把所有的文件放在同一个文件夹中,有没有别的
  3. 在第二服务器中导入数据

    • 创建在同一文件夹.bat文件,名称execFiles.bat
    • 您可能需要检查表模式中的第一个文件来禁用身份,您可以在完成导入后添加。
    • 这将会对服务器的文件夹,并与数据库中执行所有文件中,-f定义Unicode文本编码应当用于处理口音:

      for %%G in (*.sql) do sqlcmd /S ServerName /d DatabaseName -E -i"%%G" -f 65001 pause



文章来源: SQL Server Management Studio 2012 - Export/Import data from/to table