天天看点

SQLServer · 最佳实践 · 数据库实现大容量插入的几种方式

title: sqlserver · 最佳实践 · 透数据库实现大容量插入的几种方式

很多用户在使用阿里云云数据库sql server时,为了加快插入速度,都尝试使用大容量插入的方式,大家都知道,对于完整恢复模式下的数据库,大容量导入执行的所有行插入操作都会完整地记录在事务日志中。如果使用完整恢复模式,大型数据导入会导致填充事务日志的速度很快。相反,对于简单恢复模式或大容量日志恢复模式,大容量导入操作的按最小方式记录日志减少了大容量导入操作填满日志空间的可能性。另外,按最小方式记录日志的效率也比按完整方式记录日志高 。

通过ado.net sqlbulkcopy 方式

通过jdbc sqlserverbulkcopy 方式

通过bcp方式

第一步:需要将数据bcp到本地

第二步:将导出的文件直接导入到rds的实例中,但需要指定提示:/h "check_constraints"

通过dts/ssis方式

第一种:import/export data方式需要先保存ssis包,然后修改connection manager的属性 ,如下图

SQLServer · 最佳实践 · 数据库实现大容量插入的几种方式

第二种:直接使用sql server business intelligence development stuidio新建 ssis包:

SQLServer · 最佳实践 · 数据库实现大容量插入的几种方式

特别说明

不能在rds通过下列两种方式进行大容量插入 :原因是基于安全考虑不提供上传文件到rds 数据库服务器。

第一种:

第二种:

总结