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



     今天真汗颜啊。。。。由于我的一不小心,我把几百万条数据给删了,囧。客户的几年重要数据就这样没了,我当时愁的,还好后来找回来了。Gqs思考者日记网-束洋洋个人博客

对于大数据的操作,大家一定要慎重操作。Gqs思考者日记网-束洋洋个人博客

    在SQLServer2005中,想从一个数据库服务器迁移一个数据表的数据到另一数据库服务器的表中,大家一般会怎么做呢?Gqs思考者日记网-束洋洋个人博客

    我先来说说我今天的做法:(因为自己的笔记本上没有装软件,不能截图给大家看了,大家可以自己动手操作下)Gqs思考者日记网-束洋洋个人博客

    刚开始我利用一种方法,很笨且不安全的,大家引以为戒。Gqs思考者日记网-束洋洋个人博客

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

正确的做法是:Gqs思考者日记网-束洋洋个人博客

一、              用T-SQL语句新建一个临时表,这个表和你需要导出数据表的字段定义一样。假设我们要导出的数据库表为A,那么这个临时表叫A_Temp。Gqs思考者日记网-束洋洋个人博客

215157978.jpgGqs思考者日记网-束洋洋个人博客

看T-SQL语句:Gqs思考者日记网-束洋洋个人博客

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表中。Gqs思考者日记网-束洋洋个人博客

再在另一个数据库服务器上操作:Gqs思考者日记网-束洋洋个人博客

02.jpgGqs思考者日记网-束洋洋个人博客

用T-SQL语句新建一个临时表,这个表和你需要导出数据表的字段定义一样。Gqs思考者日记网-束洋洋个人博客

 Gqs思考者日记网-束洋洋个人博客

二、              利用SQLServer导入导出工具将22的数据库表A_Temp导入到23的数据库表B_Temp中,现在再将B_Temp表中的数据添加到B表中。这样就搞定了。Gqs思考者日记网-束洋洋个人博客

 Gqs思考者日记网-束洋洋个人博客

INSERT  INTO  B  SELECT  *  FROM  B_Temp 

 Gqs思考者日记网-束洋洋个人博客

总结这样的好处:Gqs思考者日记网-束洋洋个人博客

1)         可以很清楚明白的知道你要导出的数据,方便后来维护查询;Gqs思考者日记网-束洋洋个人博客

2)         不会出现数据类型对不上的情况,当时是因为自己的粗心大意,在查询数据的时候把Delete看成了Select执行了,结果导致严重的后果,差点就赔钱了啊。汗。。。Gqs思考者日记网-束洋洋个人博客

3)         思路明确,严谨。Gqs思考者日记网-束洋洋个人博客

 Gqs思考者日记网-束洋洋个人博客

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

 

(转载本站文章请注明作者和出处 思考者日记网|束洋洋个人博客 ,请勿用于任何商业用途)

『访问 思考者日记网404页面 寻找遗失儿童』

告知
  •     本站90%以上文章均属原创,部分转载已加上原作者出处。 如需转载本站文章请您务必保留本站出处!
  •     打广告评论者请自重,请为广大网友提供一个健康干净的网络空间。
  •  感谢主机屋提供网站空间;
  •  感谢万网阿里云提供域名解析;
  •  感谢EmpireCMS提供CMS系统;
  •  感谢bootstrap展示本站前端页面;
  •  感谢Glyphicons Halflings提供字体;
  •  感谢大家一直以来对本站的喜爱,感谢大家!
近期文章 建议与反馈