开发者社区> 技术小甜> 正文

SQL Server 数据归档方案

简介:
+关注继续查看

目的

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

 

归档方案选型

方案一:

方案介绍

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

clip_image001

方案优缺点

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

缺点:逻辑略繁琐

 

方案二:

方案介绍

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

clip_image002

方案优缺点

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

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

 

方案三:

方案介绍

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

clip_image003

方案优缺点

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

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

 

方案四:

方案介绍

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

clip_image004

方案优缺点

优点:BCP性能好

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

 

方案五:

方案介绍

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

clip_image005

方案优缺点

优点:BCP性能好

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

 

方案六:

方案介绍

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

clip_image006

方案优缺点

优点:逻辑简单

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

 

方案七:

方案介绍

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

clip_image007

方案优缺点

优点:逻辑简单

缺点:LinkedServer远程性能问题

 

方案八:

方案介绍

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

clip_image008

方案优缺点

优点:数据归档方便

缺点:只针对分区表

 

方案九:

方案介绍

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

clip_image009

方案优缺点

优点:逻辑集成

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

 

方案十:

方案介绍

开源软件,如eyeArchive

方案优缺点

优点:开源软件

缺点:方法单一


















本文转自UltraSQL51CTO博客,原文链接:http://blog.51cto.com/ultrasql/1579443 ,如需转载请自行联系原作者


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
27964 0
SQL Server 2008数据类型
在创建表时,必须为表中的每列指派一种数据类型。本节将介绍SQL Server中最常用的一些数据类型。即使创建自定义数据类型,它也必须基于一种标准的SQL Server数据类型。例如,可以使用如下语法创建一种自定义数据类型(Address),但要注意,它基于SQL Server标准的varchar数据类型。
748 0
Sql Server数据库数据导入到SQLite数据库中
背景:Sql Serve数据库中有个表格A,想把数据导入到SQLite数据库中 工具下载地址:点击打开链接 用法: 原作者地址及下载地址:点击打开链接
1030 0
C# 连接 SQL Server 数据库,出现异常:provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接
System.Data.SqlClient.SqlException: 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。
1421 0
将DataTable 数据插入 SQL SERVER 数据库
原文: 将DataTable 数据插入 SQL SERVER 数据库 以下提供3中方式将DataTable中的数据插入到SQL SERVER 数据库: 一:使用sqlcommand.
917 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
20101 0
SQL SERVER的数据类型
  数据类弄是数据的一种属性,表示数据所表示信息的类型。任何一种计算机语言都定义了自己的数据类型。当然,不同的程序语言都具有不同的特点,所定义的数据类型的各类和名称都或多或少有些不同。SQLServer 提供了 25 种数据类型:   ·Binary [(n)]   ·Varbinary [(n...
635 0
+关注
10140
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载