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

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
简介:

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

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

    在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,如需转载请自行联系原作者


相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps&nbsp;
相关文章
|
1月前
|
数据采集 数据库 Python
有哪些方法可以验证用户输入数据的格式是否符合数据库的要求?
有哪些方法可以验证用户输入数据的格式是否符合数据库的要求?
139 75
|
1天前
|
存储 NoSQL MongoDB
数据库数据恢复—MongoDB数据库迁移过程中丢失文件的数据恢复案例
某单位一台MongoDB数据库由于业务需求进行了数据迁移,数据库迁移后提示:“Windows无法启动MongoDB服务(位于 本地计算机 上)错误1067:进程意外终止。”
|
2月前
|
存储 人工智能 数据管理
|
1月前
|
运维 关系型数据库 MySQL
体验领礼啦!体验自建数据库迁移到阿里云数据库RDS,领取桌面置物架!
「技术解决方案【Cloud Up 挑战赛】」上线!本方案介绍如何将自建数据库平滑迁移至云数据库RDS,解决业务增长带来的运维难题。通过使用RDS MySQL,您可获得稳定、可靠和安全的企业级数据库服务,专注于核心业务发展。完成任务即可领取桌面置物架,每个工作日限量50个,先到先得。
|
1月前
|
存储 人工智能 数据管理
媒体声音|专访阿里云数据库周文超博士:AI就绪的智能数据平台设计思路
在生成式AI的浪潮中,数据的重要性日益凸显。大模型在实际业务场景的落地过程中,必须有海量数据的支撑:经过训练、推理和分析等一系列复杂的数据处理过程,才能最终产生业务价值。事实上,大模型本身就是数据处理后的产物,以数据驱动的决策与创新需要通过更智能的平台解决数据多模处理、实时分析等问题,这正是以阿里云为代表的企业推动 “Data+AI”融合战略的核心动因。
|
2月前
|
弹性计算 关系型数据库 数据库
自建数据库迁移到云数据库实操
本课程详细介绍了自建数据库迁移到阿里云RDS的实操步骤。主要内容包括:创建实例资源、安全设置、配置自建的MySQL数据库、数据库的迁移、从自建数据库切换到RDS以及清理资源。通过这些步骤,学员可以掌握如何将自建数据库安全、高效地迁移到云端,并确保应用的正常运行。
166 26
|
2月前
|
弹性计算 关系型数据库 数据库
从自建到云端,数据库迁移全攻略
本文详细介绍了将自建数据库迁移至阿里云RDS的全过程,涵盖WordPress网站安装、数据库迁移配置及验证等步骤。通过DTS数据传输服务,实现库表结构、全量和增量数据的无缝迁移,确保业务连续性和数据一致性。方案具备零成本维护、高可用性(最高99.99%)、性能优化及全面的数据安全保障等核心优势。此外,提供了详细的图文教程,帮助用户快速上手并完成迁移操作,确保业务稳定运行。点击文末“阅读原文”了解更多详情及参与活动赢取精美礼品。
162 13
|
2月前
|
SQL 存储 人工智能
化整为零:湖仓数据平台一站式迁移
本文介绍了湖仓平台迁移的概况、痛点及解决方案。首先概述了数据湖和数据仓库迁移的现状与背景,强调其重要性及挑战。接着分析了迁移过程中的主要痛点,如数据量大、业务变更频繁等。最后提出了一种化整为零的新范式,通过精细化设计和自动化工具提升迁移效率,并展示了一站式湖仓迁移中心的关键阶段和产品大图,旨在加速迁移过程并减少人工成本。
|
2月前
|
SQL 存储 运维
从建模到运维:联犀如何完美融入时序数据库 TDengine 实现物联网数据流畅管理
本篇文章是“2024,我想和 TDengine 谈谈”征文活动的三等奖作品。文章从一个具体的业务场景出发,分析了企业在面对海量时序数据时的挑战,并提出了利用 TDengine 高效处理和存储数据的方法,帮助企业解决在数据采集、存储、分析等方面的痛点。通过这篇文章,作者不仅展示了自己对数据处理技术的理解,还进一步阐释了时序数据库在行业中的潜力与应用价值,为读者提供了很多实际的操作思路和技术选型的参考。
53 1
|
2月前
|
存储 Java easyexcel
招行面试:100万级别数据的Excel,如何秒级导入到数据库?
本文由40岁老架构师尼恩撰写,分享了应对招商银行Java后端面试绝命12题的经验。文章详细介绍了如何通过系统化准备,在面试中展示强大的技术实力。针对百万级数据的Excel导入难题,尼恩推荐使用阿里巴巴开源的EasyExcel框架,并结合高性能分片读取、Disruptor队列缓冲和高并发批量写入的架构方案,实现高效的数据处理。此外,文章还提供了完整的代码示例和配置说明,帮助读者快速掌握相关技能。建议读者参考《尼恩Java面试宝典PDF》进行系统化刷题,提升面试竞争力。关注公众号【技术自由圈】可获取更多技术资源和指导。