早上,接到客户电话,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. ms sql 在任何位置 添加列

    摘自: http://bbs.csdn.net/topics/40236129 在任何位置插入列:create proc addcolumn@tablename varchar(30),  --表名@ ...

  2. Solr6.6 IK 中文分词的配置和使用

    1. 首先,下载IKAnalyzer ,下载 2. 将ik的相关文件 拷贝到 webapps\solr\WEB-INF\lib 目录下 或者存放solr-6.6.0\server\solr\test\ ...

  3. 关于windows下自带的forfile批量删除文件bat命令

    最近在开发的过程中,为了节省资源,需要用到windows下批量删除文件的批处理命令,也就是bat 主要内容: forfiles /p "E:\pictures" /m * /d - ...

  4. 【笔记】探索js 的this 对象 (第二部分)

    了解this 对象之后 我们明白了this 对象就是指向调用函数的作用域 那么接下来我们便要清除函数究竟在哪个作用域调用 找到调用的作用域首先要了解一下几点: 1.调用栈: 调用栈就是一系列的函数,表 ...

  5. [Angular] Angular i18n Alternative Expressions Support (select)

    For example we have those code: <div class="course-category" [ngSwitch]="course.ca ...

  6. PHP #2003 - 服务器没有响应怎么办

    1 出现这个问题的时候,首先可以肯定Apache服务器没有问题,因为如果Apache服务器有问题,则根本登不上phpMyadmin,如果你能登上localhost则说明Apache服务器没问题. 2 ...

  7. 新手IOS tweak越狱app开发记录

    需要改变原先程序功能流程的话,是要用到Logos Tweak 开发.另外,.在苹果商城下载到的app,不能直接拿来分析.需要先做一定的前期准备.网上有很多相关的写第一个越狱插件的文章,这里就不在赘言了 ...

  8. 算法笔记_162:算法提高 复数归一化(Java)

    目录 1 问题描述 2 解决方案   1 问题描述 编写函数Normalize,将复数归一化,即若复数为a+bi,归一化结果为a/sqrt(a*a+b*b) + i*b/sqrt(a*a+b*b) . ...

  9. Tomcat性能调整完整教程

    Tomcat性能调整完整教程 发表于:2007-07-13来源:作者:点击数:526 标签: 一. 引言 性能测试与分析是软件 开发 过程中介于架构和调整的一个广泛并比较不容易理解的领域,更是一项较为 ...

  10. Redis源代码解析:13Redis中的事件驱动机制

    Redis中.处理网络IO时,採用的是事件驱动机制.但它没有使用libevent或者libev这种库,而是自己实现了一个很easy明了的事件驱动库ae_event,主要代码只400行左右. 没有选择l ...