SQL Server 数据归档方案

 

目的

本文旨在从数据库管理方面,提供将SQL Server大数据表归档的解决方案。可以作为新业务上线时进行方案设计的参考。

 

归档方案选型

方案一:

方案介绍

BCP导出数据到本地目录目录后,遍历目录文件BCP导入到临时表,再循环删除源表数据。通过Insert into … Left Join …通过主键关联临时表和归档表排除存在的数据。(或通过2008及后续版本的Merge语句,不存在插入,存在更新)

SQL Server 数据归档方案

方案优缺点

优点:BCP性能好、通过SP容易控制逻辑、维护简单

缺点:逻辑略繁琐

 

方案二:

方案介绍

BCP导出数据到远程目录后循环删除源表数据,遍历目录文件BCP导入到临时表,再通过Insert into … Left Join …通过主键关联临时表和归档表排除存在的数据。(或通过2008及后续版本的Merge语句,不存在插入,存在更新)

SQL Server 数据归档方案

方案优缺点

优点:BCP性能好、通过SP容易控制逻辑、维护简单

缺点:逻辑略繁琐,两台主机需要能UNC共享访问

 

方案三:

方案介绍

BCP导出数据到本地目录后FTP到远程目录,再循环删除源表数据,遍历目录文件BCP导入到临时表,再通过Insert into … Left Join …通过主键关联临时表和归档表排除存在的数据。(或通过2008及后续版本的Merge语句,不存在插入,存在更新)

SQL Server 数据归档方案

方案优缺点

优点:BCP性能好、通过SP容易控制逻辑、维护简单

缺点:逻辑略繁琐,远程要架设FTP服务器

 

方案四:

方案介绍

BCP导出数据到远程目录后循环删除源表数据,遍历目录文件SSIS数据导入和更新。

SQL Server 数据归档方案

方案优缺点

优点:BCP性能好

缺点:字段变更后SSIS包需同步修改,SSIS包维护麻烦,两台主机需要能UNC共享访问

 

方案五:

方案介绍

BCP导出数据到本地目录后FTP到远程目录,循环删除源表数据,再遍历目录文件SSIS数据导入和更新。

SQL Server 数据归档方案

方案优缺点

优点:BCP性能好

缺点:字段变更好,SSIS包需同步修改,SSIS包维护麻烦,远程要架设FTP服务器

 

方案六:

方案介绍

数据插入到另一个临时归档库后循环删除源表数据,再将临时归档表复制到远程。

SQL Server 数据归档方案

方案优缺点

优点:逻辑简单

缺点:需要另建一个临时归档库、增加了负载

 

方案七:

方案介绍

数据通过Linkedserver插入远程归档表后循环删除。

SQL Server 数据归档方案

方案优缺点

优点:逻辑简单

缺点:LinkedServer远程性能问题

 

方案八:

方案介绍

切换分区到临时表,数据再通过LinkedServer插入远程归档表。

SQL Server 数据归档方案

方案优缺点

优点:数据归档方便

缺点:只针对分区表

 

方案九:

方案介绍

SSIS将数据插入或更新到归档表后循环删除源表。

SQL Server 数据归档方案

方案优缺点

优点:逻辑集成

缺点:维护成本高,定位问题麻烦

 

方案十:

方案介绍

开源软件,如eyeArchive

方案优缺点

优点:开源软件

缺点:方法单一