SQL Server 数据归档方案
本文旨在从数据库管理方面,提供将SQL Server大数据表归档的解决方案。可以作为新业务上线时进行方案设计的参考。
BCP导出数据到本地目录目录后,遍历目录文件BCP导入到临时表,再循环删除源表数据。通过Insert into … Left Join …通过主键关联临时表和归档表排除存在的数据。(或通过2008及后续版本的Merge语句,不存在插入,存在更新)
优点:BCP性能好、通过SP容易控制逻辑、维护简单
缺点:逻辑略繁琐
BCP导出数据到远程目录后循环删除源表数据,遍历目录文件BCP导入到临时表,再通过Insert into … Left Join …通过主键关联临时表和归档表排除存在的数据。(或通过2008及后续版本的Merge语句,不存在插入,存在更新)
优点:BCP性能好、通过SP容易控制逻辑、维护简单
缺点:逻辑略繁琐,两台主机需要能UNC共享访问
BCP导出数据到本地目录后FTP到远程目录,再循环删除源表数据,遍历目录文件BCP导入到临时表,再通过Insert into … Left Join …通过主键关联临时表和归档表排除存在的数据。(或通过2008及后续版本的Merge语句,不存在插入,存在更新)
优点:BCP性能好、通过SP容易控制逻辑、维护简单
缺点:逻辑略繁琐,远程要架设FTP服务器
BCP导出数据到远程目录后循环删除源表数据,遍历目录文件SSIS数据导入和更新。
优点:BCP性能好
缺点:字段变更后SSIS包需同步修改,SSIS包维护麻烦,两台主机需要能UNC共享访问
BCP导出数据到本地目录后FTP到远程目录,循环删除源表数据,再遍历目录文件SSIS数据导入和更新。
优点:BCP性能好
缺点:字段变更好,SSIS包需同步修改,SSIS包维护麻烦,远程要架设FTP服务器
数据插入到另一个临时归档库后循环删除源表数据,再将临时归档表复制到远程。
优点:逻辑简单
缺点:需要另建一个临时归档库、增加了负载
数据通过Linkedserver插入远程归档表后循环删除。
优点:逻辑简单
缺点:LinkedServer远程性能问题
切换分区到临时表,数据再通过LinkedServer插入远程归档表。
优点:数据归档方便
缺点:只针对分区表
SSIS将数据插入或更新到归档表后循环删除源表。
优点:逻辑集成
缺点:维护成本高,定位问题麻烦
开源软件,如eyeArchive
优点:开源软件
缺点:方法单一
本文出自 “滴水石穿” 博客,请务必保留此出处http://ultrasql.blog.51cto.com/9591438/1579443
原文地址:http://ultrasql.blog.51cto.com/9591438/1579443