要用Java做一个客户端程序,连接两台sql server服务器,将一台服务器中的一个数据库表的数据导入到另外一台服务器的数据库表中,源数据表有2000万条以上的记录,需要全部导入,请问有什么解决方案,能快速地实现导入功能??????大数据解决方案SQL Server服务器数据库

解决方案 »

  1.   

    摘自《SQLServer 2005 Performance Tuning 效能调校》——胡百敬
    最佳化大量导入的方法:
    1、使用最少记录。
    2、从多个用户端平行导入数据到单一表使用批次。
    3、停用触发程序
    4、停用条件约束
    5、控制锁定行为
    6、以原生格式导入数据
      

  2.   

    删除目标表中的所有索引,然后早导入。
    如果是我,直接用SSIS导入
      

  3.   

     除了楼上提到的禁用触发器和约束,和删除索引外,我这里提出一点就是:把目标数据库改成大容量日志模式
    或简单模式 ALTER DATABASE [DBname] SET RECOVERY BULK_LOGGED WITH NO_WAIT
      

  4.   

    可以直接使用sql自带的导入数据的工具,尝试一下
      

  5.   

    直接做个SSIS,客户要用的时候执行一下Package,或者每个月都有Task跑..
      

  6.   


    C#100万条数据导入SQL SERVER数据库仅用4秒
    http://kb.cnblogs.com/page/73491/
    这篇文章有提到好多种,我使用的是第四种方法,仅供参考
      

  7.   


    把数据文件发到数据库服务器上,在上面执行 BCP in
      

  8.   

    bcp 导出到文件,压缩--copy--导入到一个新建表
    然后再从新表弄过去。