早上,接到客户电话,dynamics CRM不能用了,此客户从开始安装程序开始二次开发期间,因电源问题导致服务器多次意外断电,至今也不加UPS电源。前几次,都不是很严重,服务器没有大量文件损坏,操作系统还能正常,远程都可以解决了。

此次,操作系统不正常了,看来问题大了去了。团队人员赶过去,惊呆了。硬盘已坏了一块,数据库没有备份。项目一直因种种原因没有验收,完全还原干净的系统我们只要半小时,但客户使用了一时间,有几万的数据。项目没有验收,先前管理机房人员已辞职,机房在一个全封闭的小仓库中,没有空调,单电源,没有UPS。这种情况,估计再好的服务器也会在高温时挂机。

还好服务器做的raid 5,一块硬盘坏了没有事,但发现在服务器不正常时,遭遇几次意外关机,数据库文件根本不能用,也没有备份。

安先前经验,重新恢复数据,处理几次还是数据质疑,最终去了日志文件,解决了质疑问题。刚松了口气,发现了更大问题。数据库的数据出错了,查询前几千条没事,再多一条就报数据类型,数据值过大等错误。Delete,也不管用。不知各位碰到过这么神奇的问题没,我听说这情况就头大了。

此时,已过了下班时间,当团队其他人都听说此时,全部自动到达客户现场,包括出差刚回济南,包括忙着别的项目,从未接触过此项目的技术人员。大家开始讨论方案,分工合作,发现select 都不能查询导出的数据,可以通过数据库角本生成数据。先将数据角本生成保存出来。一部分人还测试完全解决数据库问题,另一部分人重新生成组织,做了一套全新干净的系统,论证实验怎样通过角本数据还原所有数据。发现原来设计不到50人使用的系统,客户已有200多人用CRM 与呼叫系统,4倍压力,服务器怎么能跑动了?再深入分析数据发现,系统中有一些数据已出错,角本不能直接有,要剔除错误数据,并且修正好再处理,做了很多年系统,第一次处理这样的事。(可能以前都有备份吧)并且这样处理,真是项目浩大工程。最后,发现数据库不可能还原,只能手工修复数据了。

在多数公司中,如果碰到一个与自己无关工作,出现了要出很大力还不敢保证做好的事情,估计多数人会躲的远远的。让我感动之处是,除了我(我在外地出差),都在现场积极处理,分工合作。做过dyanmics crm 多年的同仁们,如果给你一堆角本,剔除错误数据,再分析改正,还原生成到系统中,可能吗?这此问题发生之前,我绝对不相信能搞好。但我们的团队做到了,微软不让开发着动数据库,很多人都不清楚数据放在哪,共享数据在哪,相互关联数据怎样生成。新组织的实体相关数据的ID是会变的。所有这些问题,都在模拟测试一步步攻克,当然团队加班熬夜付出就不谈了。

此次事件,让学深刻学习到了,不可以太纵容客户,实际那是不负责任的;为团队成员感动,让我看到团队很强大,相信我们以后会做得更好。另一方面,对我们云产品CRM早日上线更强烈。

中小企业项目的痛VS感人IT团队的更多相关文章

  1. 团队项目——编写项目的Spec

    团队项目--编写项目的Spec 一.Spec的目标        spec主要用来说明软件的外部功能,和用户的交互情况,主要用来说明软件内部的设计.图片编辑器是与生活息息相关的一个必备软件,随的流行, ...

  2. 干货|人人都是翻译项目的Master

    在平时的工作中,我们都会经常查阅一些英文文档来解决平时遇到的问题和拓宽视野.看到好的文章或者书籍有没有想要和小伙伴分享的冲动,那么我们一起来翻译吧- 翻译主张 "信 达 雅" .& ...

  3. 搜刮一些开源项目的APP

    iOS完整App资源收集 <iOS完整app资源收集>  <GitHub 上有哪些完整的 iOS-App 源码值得参考?> <GitHub 上有哪些完整的 iOS-App ...

  4. 如何修改MyEclipse项目的web context-root

    修改一个MyEclipse项目的名称很容易,右键点项目->rename就行了. 但此时项目的web context-root 还没有改变,需要右键点项目->properties->M ...

  5. 为什么项目的jar包会和tomcat的jar包冲突?

    为什么项目的jar包会和tomcat的jar包冲突? 碰到这个问题,猜测tomcat启动时会将自己的lib和项目的lib在逻辑上归并为一个大的lib,但是并没有做版本区分以及去重,这样相同的包可能就有 ...

  6. spring项目的 context root 修改之后,导致 WebApplicationContext 初始化两次的解决方法

    修改了 spring web 项目的 context root 为 / 之后,在启动项目时,会导致 WebApplicationContext  初始化两次,下面是其初始化日志: 第一次初始化: 四月 ...

  7. 谈谈软件项目的dependency

    说到软件项目的依赖管理,可以从三个方面来考虑: 一.由build system控制的dependency 现在的build system,都支持一定程度上的dependency management, ...

  8. Eclipse中修改Web项目的URL访问路径

    背景 访问路径,也就是指在浏览器中访问该web系统时的根路径,比如http://localhost:8080/xxxx/index.jsp  这里的xxxx,也就是request.getContext ...

  9. 系列文章:老项目的#iPhone6与iPhone6Plus适配#(持续更新中,更新日期2014年10月12日 星期日 )

    本文永久地址为http://www.cnblogs.com/ChenYilong/p/4020399.html ,转载请注明出处. ********************************** ...

随机推荐

  1. ​Mac触控板常用的手势操作

    ​Mac触控板常用的手势操作 学习了:http://topbook.cc/archives/151   一个手指直接点击,类似Windows中鼠标左键功能,同时在苹果Safari等浏览器中,这个手势还 ...

  2. IE测试CSS兼容性测试

    我们知道IE6~8是现在浏览器的主流.但是由IE6开始,我们已经知道IE并不是完全执行W3C标准.我们在编程的时候往往遇到只兼容某一种浏览器. 我们以前经常使用IE Test进行IE的兼容性测试.但是 ...

  3. EffectiveJava(30) -- 全面解析enum类型

    --在大多数项目中,我们会经常使用int类型来声明final类型的常量,它在不考虑安全的情况下确实能满足我们绝大多数的需求.但是在JDK1.5版本发布之后,声明一组固定的常量组成合法值的类型就建议使用 ...

  4. 畅通project(杭电1232)

    畅通project Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total ...

  5. LinkedIn架构这十年

    原文: A Brief History of Scaling LinkedIn 2003年是LinkedIn元年,公司成立的目标是连接你的个人人脉以获得更好的的工作机会.上线第一周才有2700个会员注 ...

  6. C# Meta Programming - Let Your Code Generate Code - Introduction of The Text Template Transformation Toolkit(T4)

    <#@ template language="C#" #> <#@ output extension=".cs" #> <#@ a ...

  7. java泛型介绍

    一.泛型初衷 Java集合不会知道我们需要用它来保存什么类型的对象,所以他们把集合设计成能保存任何类型的对象,只要就具有很好的通用性.但这样做也带来两个问题: –集合对元素类型没有任何限制,这样可能引 ...

  8. 【树莓派】Box相关手册-4 Web代理

    在盒子上安装配置web代理,通过此代理,用户访问盒子的内网地址实现web portal访问.目前我们使用tinyproxy作为web代理 安装: >sudo apt-get install ti ...

  9. 在LoadRunner中查找和替换字符串

    参考<Search & Replace function for LoadRunner>: http://ptfrontline.wordpress.com/2009/03/13/ ...

  10. 五中不同的思路输出helloword

    五中不同的思路输出helloword -- 我也不知道了--