大数据量数据库如何简单备份迁移数据

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

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

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

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

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

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

正确的做法是:

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

看T-SQL语句:

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’

本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/database/storage/

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

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

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

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

INSERT  INTO  B  SELECT  *  FROM  B_Temp

总结这样的好处:

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

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

3) 思路明确,严谨。

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

本文出自 “On My Way” 博客,请务必保留此出处http://shuyangyang.blog.51cto.com/1685768/1050935

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索数据库
, 服务器
, 数据
, 语句
, 数据表
, sql2012 文件导入
一个
jira 迁移备份数据库、数据库迁移、mysql 数据库迁移、oracle 数据库迁移、数据库迁移方案,以便于您获取更多的相关知识。

时间: 2024-08-30 19:38:41

大数据量数据库如何简单备份迁移数据的相关文章

sqlserver 大数据量数据库设计问题请教

问题描述 sqlserver 大数据量数据库设计问题请教 小弟不才,第一次接大数据量项目,其中一个主要表用于存储采集数据(每秒一条数据,共5个采集点)数据量如下: 数据量估算(按秒): 采集点 1 5 一天数据 86400 432000 十天数据 864000 4320000 一个月数据 2592000 12960000 一年数据 31536000 157680000 我原先的设计就是很简单,按照上面数据估算,5个采集点,建立5个对应的表,然后每十天(也就是旬)创建一个历史表保存数据. 但是,头

针对Sqlserver大数据量插入速度慢或丢失数据的解决方法

我的设备上每秒将2000条数据插入数据库,2个设备总共4000条,当在程序里面直接用insert语句插入时,两个设备同时插入大概总共能插入约2800条左右,数据丢失约1200条左右,测试了很多方法,整理出了两种效果比较明显的解决办法: 方法一:使用Sql Server函数: 1.将数据组合成字串,使用函数将数据插入内存表,后将内存表数据复制到要插入的表. 2.组合成的字符换格式:'111|222|333|456,7894,7458|0|1|2014-01-01 12:15:16;1111|222

迁移数据时oracle字符集的转换迁移数据时oracle字符集的转换

按照oracle官方文档所说,数据库字符集在创建后原则上不能更改.因此,在设计和安装之初考虑使用哪一种字符集十分重要.对数据库server而言,错误的修改字符集将会导致很多不可测的后果,可能会严重影响数据库的正常运行.但是由于每家软件公司使用的字符集一样,迁移数据时肯定是会遇到字符集转换的问题.比如最常遇到是英文字符集转换成中文,中文的转换成英文.而且在迁移数据时都是上百GB的dmp文件啊.在迁移数据过程中我使用过两种方法一是修改dmp文件的字符集一是修改数据库的字符集.修改dmp文件字符集,d

使用perl实现拆分数据表(mysql)并迁移数据实例_perl

随着业务量的增长,可能需要对表进行拆分来提高性能. 下面这个例子是将www.jb51.net的users表拆分成10个表ttlsa_user_0-ttlsa_user_9. 拆分迁移数据程序如下所示: 1.创建ttlsa_user_0-ttlsa_user_9表 复制代码 代码如下: #!/usr/bin/perl ################################### ### author: www.jb51.net ### ### QQ群:232608061  ### ###

求大神解答数据库问题-简单的数据库查询问题,求大神解决!!HELP!

问题描述 简单的数据库查询问题,求大神解决!!HELP! SELECT buyplan.buyPlanNo,handState,buyplan.unitNo,buyplan.ownNo,ownof.ownName, unit.unitname,goodsNo,buyTypeNo,buyWayNo,goodsName,onePrice,calculateUnit,buyCount, totalPrice,technologyIndex,operatePeople,newAddTime,newAdd

6大对象和数据库操作简单学

ASP学习步骤: 1.5个对象 Request.Response.Session.Server.Applictaion  2.两个数据库组件 Adodb.Recordset Adodb.Connection 3.Request.From("表单名称") 得到From表单数据 4.Request.QueryString("Url参数") 得到Url参数 5.index.asp?act=save  6.Request.QueryString("act"

数据量过大时数据库操作的处理

数据|数据库 随着"金盾工程"建设的逐步深入和公安信息化的高速发展,公安计算机应用系统被广泛应用在各警种.各部门.与此同时,应用系统体系的核心.系统数据的存放地――数据库也随着实际应用而急剧膨胀,一些大规模的系统,如人口系统的数据甚至超过了1000万条,可谓海量.那么,如何实现快速地从这些超大容量的数据库中提取数据(查询).分析.统计以及提取数据后进行数据分页已成为各地系统管理员和数据库管理员亟待解决的难题. 在以下的文章中,我将以"办公自动化"系统为例,探讨如何在

大数据史记2013:盘点中国2013行业数据量

说人类步入了信息时代,有个事情是非常重要的,就是物理世界的信息化,包括信息基础设施建设和数字化,紧接着就是如何将数字化的东西(数据)进行储存.传输.交换以及使用,这一脉络伴随着移动互联网,云计算.大数据以及各种各样智能终端的出现,显得也越来越清晰.很多人都已认可,我们可能来到一个工业革命之后,一个比我们想象地更加重要的变革时代,我们把它命名为产业互联网的时代.毕竟这一切都是互联网出现之后才发生的,无论是云,通过网络随需调用的计算资源:大数据,关联的可分析在线数据:还是各种智能终端,都要依托互联网

拍砖闲话大数据——各行数据量“七嘴八舌”

说人类步入了信息时代,有个事情是非常重要的,就是物理世界的信息化,包括信息基础设施建设和数字化,紧接着就是如何将数字化的东西(数据)进行储存.传输.交换以及使用,这一脉络伴随着移动互联网,云计算.大数据以及各种各样智能终端的出现,显得也越来越清晰.很多人都已认可,我们可能来到一个工业革命之后,一个比我们想象地更加重要的变革时代,我们把它命名为产业互联网的时代.毕竟这一切都是互联网出现之后才发生的,无论是云,通过网络随需调用的计算资源:大数据,关联的可分析在线数据:还是各种智能终端,都要依托互联网