大数据量数据库的简单备份迁移数据技巧

简介:

今天真汗颜啊。。。。由于我的一不小心,我把几百万条数据给删了,囧。客户的几年重要数据就这样没了,我当时愁的,还好后来找回来了。

对于大数据的操作,大家一定要慎重操作。

    在SQLServer2005中,想从一个数据库服务器迁移一个数据表的数据到另一数据库服务器的表中,大家一般会怎么做呢?

    我先来说说我今天的做法:(因为自己的笔记本上没有装软件,不能截图给大家看了,大家可以自己动手操作下)

    刚开始我利用一种方法,很笨且不安全的,大家引以为戒。

    老大交给我任务了,我一想那么多数据,总不能一条一条手工插入吧。我思考了一段时间,我决定利用SQLServer的自带工具,右键点击,导入/导出数据功能。先用T-SQL语句根据条件筛选出需要的数据,在一台数据库服务器上操作,将查询出的数据右键另存为.rpt.txt格式的文件。然后在另一个服务器上导入这些数据。当我操作前几个表的数据正常的时候,我还洋洋得意,到了最后一个表时发现导入的数据再遇到datetime类型时,发现傻眼了,前几十条数据正常导入,到了后面的一条数据以后,后面的几万条数据导不了了啊,有木有?囧!这是为什么呢?我检查了下数据,发现到那条卡壳的数据时,那里有个null值。嗯???为什么空就不能导入了?varchardatetime类型的区别,我想大家都知道吧。对,问题就出在这。当我们把数据导出去的时候,那些数据最严重的缺点就是少了字段描述了,全变成了varchar类型了。不信的话,你用导入工具导入到一个新表里试试(这里没法截图,大家自己可以试试),你会发现默认的数据都成varchar类型了。悲剧,这个方法遗憾失败!

正确的做法是:

一、              T-SQL语句新建一个临时表,这个表和你需要导出数据表的字段定义一样。假设我们要导出的数据库表为A,那么这个临时表叫A_Temp

 

 

T-SQL语句:

 
  1. INSERT  INTO  A_Temp  SELECT  *  FROM  A  WHERE 1 = 1  AND  BeginTime  > ’2012-11-05 00:00:00’ AND BeginTime < ‘2012-11-06 00:00:00’ 

将筛选出来的数据拷贝到A_Temp表中。

 

再在另一个数据库服务器上操作:

 

T-SQL语句新建一个临时表,这个表和你需要导出数据表的字段定义一样。

 

二、              利用SQLServer导入导出工具将22的数据库表A_Temp导入到23的数据库表B_Temp中,现在再将B_Temp表中的数据添加到B表中。这样就搞定了。

 

 
  1. INSERT  INTO  B  SELECT  *  FROM  B_Temp 

 

 

总结这样的好处:

1)         可以很清楚明白的知道你要导出的数据,方便后来维护查询;

2)         不会出现数据类型对不上的情况,当时是因为自己的粗心大意,在查询数据的时候把Delete看成了Select执行了,结果导致严重的后果,差点就赔钱了啊。汗。。。

3)         思路明确,严谨。

 

    好了,今天的总结就到这,学无止境,工作中一定要心细。大家在操作大数量的数据时,每当使用UpdateDeleteInsert时一定要考虑好,重新检查一遍,想想你正在做什么?不要一失足成千古恨,到时候悔之晚矣。


本文转自shyy8712872 51CTO博客,原文链接:http://blog.51cto.com/shuyangyang/1050935,如需转载请自行联系原作者


相关实践学习
简单用户画像分析
本场景主要介绍基于海量日志数据进行简单用户画像分析为背景,如何通过使用DataWorks完成数据采集 、加工数据、配置数据质量监控和数据可视化展现等任务。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps&nbsp;
相关文章
|
24天前
|
存储 Oracle 关系型数据库
Dataphin常见问题之想要周期执行任务如何解决
Dataphin是阿里云提供的一站式数据处理服务,旨在帮助企业构建一体化的智能数据处理平台。Dataphin整合了数据建模、数据处理、数据开发、数据服务等多个功能,支持企业更高效地进行数据治理和分析。
|
28天前
|
SQL Java 数据库连接
从来没想到我们会扒拉nohup文件去找我们想要的数据,然后往数据库中添加。。。...
从来没想到我们会扒拉nohup文件去找我们想要的数据,然后往数据库中添加。。。...
17 0
|
1天前
|
SQL 关系型数据库 MySQL
关系型数据库插入数据的语句
使用SQL的`INSERT INTO`语句向关系型数据库的`students`表插入数据。例如,插入一个`id`为1,`name`为&#39;张三&#39;,`age`为20的记录:`INSERT INTO students (id, name, age) VALUES (1, &#39;张三&#39;, 20)。如果`id`自增,则可简化为`INSERT INTO students (name, age) VALUES (&#39;张三&#39;, 20)`。
5 2
|
1天前
|
SQL 存储 Oracle
关系型数据库查询数据的语句
本文介绍了关系型数据库中的基本SQL查询语句,包括选择所有或特定列、带条件查询、排序、分组、过滤分组、表连接、限制记录数及子查询。SQL还支持窗口函数、存储过程等高级功能,是高效管理数据库的关键。建议深入学习SQL及相应数据库系统文档。
5 2
|
3天前
|
数据采集 搜索推荐 大数据
大数据中的人为数据
【4月更文挑战第11天】人为数据,源于人类活动,如在线行为和社交互动,是大数据的关键部分,用于理解人类行为、预测趋势和策略制定。数据具多样性、实时性和动态性,广泛应用于市场营销和社交媒体分析。然而,数据真实性、用户隐私和处理复杂性构成挑战。解决策略包括数据质量控制、采用先进技术、强化数据安全和培养专业人才,以充分发挥其潜力。
10 3
|
6天前
|
运维 供应链 大数据
数据之势丨从“看数”到“用数”,百年制造企业用大数据实现“降本增效”
目前,松下中国旗下的64家法人公司已经有21家加入了新的IT架构中,为松下集团在中国及东北亚地区节约了超过30%的总成本,减少了近50%的交付时间,同时,大幅降低了系统的故障率。
|
8天前
|
人工智能 Cloud Native 算法
数据之势丨AI时代,云原生数据库的最新发展趋势与进展
AI与云数据库的深度结合是数据库发展的必然趋势,基于AI能力的加持,云数据库未来可以实现更快速的查询和决策,帮助企业更好地利用海量数据进行业务创新和决策优化。
数据之势丨AI时代,云原生数据库的最新发展趋势与进展
|
9天前
|
数据库
使用Navicat Premium 12进行数据库定期自动备份(定时任务)--图文详解
使用Navicat Premium 12进行数据库定期自动备份(定时任务)--图文详解
18 0
|
15天前
|
NoSQL 大数据 数据挖掘
现代数据库技术与大数据应用
随着信息时代的到来,数据量呈指数级增长,对数据库技术提出了前所未有的挑战。本文将介绍现代数据库技术在处理大数据应用中的重要性,并探讨了一些流行的数据库解决方案及其在实际应用中的优势。
|
27天前
|
SQL 数据可视化 Apache
阿里云数据库内核 Apache Doris 兼容 Presto、Trino、ClickHouse、Hive 等近十种 SQL 方言,助力业务平滑迁移
阿里云数据库 SelectDB 内核 Doris 的 SQL 方言转换工具, Doris SQL Convertor 致力于提供高效、稳定的 SQL 迁移解决方案,满足用户多样化的业务需求。兼容 Presto、Trino、ClickHouse、Hive 等近十种 SQL 方言,助力业务平滑迁移。
阿里云数据库内核 Apache Doris 兼容 Presto、Trino、ClickHouse、Hive 等近十种 SQL 方言,助力业务平滑迁移