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

方案优缺点

优点:开源软件

缺点:方法单一

时间: 2024-10-11 08:12:31

SQL Server 数据归档方案的相关文章

SQL Server数据归档的解决方案

SQL Server数据归档的解决方案 最近新接到的一项工作是把SQL Server中保存了四五年的陈年数据(合同,付款,报销等等单据)进行归档,原因是每天的数据增量很大,而历史数据又不经常使用,影响生产环境的数据查询等操作.要求是: 1 归档的数据与生产环境数据分开保存,以便提高查询效率和服务器性能. 2 前端用户能够查询已归档的数据,即系统提供的功能不能发生改变 看起来要求不是很高,我自然会联想到两种方法,第一种新建一个与生产环境一样的数据库,把归档数据保存到这个数据库中:第二种在生产环境为

sql server数据同步方案-日志传送

1 功能描述 本方案采用日志传送模式,把核心数据库(主数据库)定期同步到灾备数据库(辅助服务器)及备份库(辅助服务器,便于其他系统使用,减轻主数据压力),期间,如果发生异常导致无法同步,将以电子邮件.短信方式通知管理人员. 2 系统环境 2.1硬件 主数据库: SQLHA 灾备库服务器:DisaterDBSVRA 备份库服务器:BackupDataSVR 2.2软件 主数据库: Win2008 x64 SQL2005 SP4 x64 灾备库: Win2008 x64 SQL2005 SP4 x6

SQL Server 高可用方案

方案一:Asynchronous Mirror + Alias 方案介绍 数据库服务器配置异步镜像关系,程序客户端连接串配置别名连接. 1. 在SQL Server客户端配置中创建别名,在客户端的连接串设置中用别名代替服务器名或IP地址. 2. 写一个实用程序,在镜像角色切换的时候,更新别名. 3. 更新别名可通过修改相应的注册表字符串来完成,位于HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\ConnectTo 方案优缺点 优点

SQL Server 数据导入Mysql详细教程

SQL Server 数据导入Mysql详细教程 SQL Server数据库和Mysql 数据库都是关系型数据库,虽然很多数据库都对SQL语句进行了再开发和扩展,使得在不同的数据库中执行的方法或用法不一,但是 SQL Server,Mysql ,Access等都采用了SQL语言标准,不同的数据库中的数据是可以导入的.对于大数据的导入是有相当大的意义. 今天,我和大家一起分享一下,我用的便捷的"sql server 数据导入mysql 中的方法",希望能给大家的项目开发中"sq

SQL Server数据全同步及价值分析[终结版]

SQL Server数据全同步[终结版] 版权全部.转载请注明出处.谢谢! 经过两天的同步编写和測试.出了第一个Release版本号: 1. 本函数仅支持单向同步.即从一个主数据库想多个从数据库同步 2.主数据库的不论什么增删改都会同步到全部从数据库上 3. 最重要的一点:同步数据库的价值所在:当主数据库server不可用时,程序能够使用其它从数据库或者备用数据库,这对于未来公有云和私有云应用具有重大价值! 代码: <span style="font-size:18px;">

MySQL 之 导入外部SQL Server数据

在上一篇博客<MySQL 之 5.6.22安装教程>中,我们介绍了MySQL的安装.今天我们主要讲解一下怎么在MySQL中导入外部SQL Server数据,简而言之就是我们怎么将SQL Server数据库中的数据迁移到MySQL数据库中. 为了实现我们想要的数据迁移,我们首先需要下载一个小工具SQLyog,然后安装到我们的电脑上,接下来我们就一步一步用这个小工具开始我们的数据迁移: 首先看看我们SQL Server数据库中的表结构和表中的数据 打开SQLyog,设置数据连接: 创建跟SQL S

Sql Server 数据分页

1.引言 在列表查询时由于数据量非常多,一次性查出来会非常慢,就算一次查出来了,也不能一次性显示给客户端,所以要把数据进行分批查询出来,每页显示一定量的数据,这就是数据要分页. 2.常用的数据分页方法 我们经常会碰到要取n到m条记录,就是有分页思想,下面罗列一下一般的方法. 我本地的一张表 tbl_FlightsDetail,有300多W记录,主键 FlightsDetailID(Guid),要求按照FlightsDetailID排序 取 3000001 到3000010 之间的10条记录,也是

sql server 数据页缓冲区的内存瓶颈分析

查看数据库的计数器: SELECT * FROM  sys.dm_os_performance_counters **也可以使用系统的性能计监测器查看. 右键图表-> 添加计数器. 添加要监控的项 计数器中一些项的说明 : http://www.cnblogs.com/flysun0311/archive/2012/02/29/2373390.html 资料: http://www.cnblogs.com/Joe-T/archive/2012/07/31/2617060.html http://

SQL server数据库内置账户SA登录设置

SQL server数据库内置账户SA登录不了 设置SQL Server数据库给sa设置密码的时候  提示18456 解决步骤: 第二步:右击sa,选择属性: 第三步:点击状态选项卡:勾选授予和启用.然后确定. 第四步:右击实例名称(就是下图画红线的部分),选择属性 第五步:点安全性,确认选择了SQL SERVER 和Windows身份验证模式. 最后验证sa用户登录  成功~