sql-server – 糟糕的内部数据库 – 更换它或者卡住硬件?

前端之家收集整理的这篇文章主要介绍了sql-server – 糟糕的内部数据库 – 更换它或者卡住硬件?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
所以 – 我们有一个内部公司数据库,通常的东西:管理客户,电话,销售交易和客户协议/计划.

它是Access 2000前端和sql Server 2000 Standard后端.单服务器,双Xeon 3.2GHz,2GB RAM,Windows Server 2003,整天占用大约40%的cpu负载,分布在OS(HT)可见的4个核心上.

后端数据库设计糟糕,有机增长超过10年,由不熟练的人员维护.它被严重规范化,并且一些明显的问题包括具有数万行而没有主键或索引的表,这些表在系统中使用最频繁的部分的多表连接中也被大量使用(例如,呼叫管理器应用程序,每天在每个人的第二台显示器上运行8小时,并且每隔几秒运行一次效率低下的查询.

前端并不是更好,它是数百种形式的典型混乱,嵌套保存的查询,VBA代码中编写得很差的嵌入式sql,数十种“怪癖”等等,每当做出改变时,一些无关的东西似乎都会破坏.我们已经确定了一个“足够好”的MDB,并且现在对此没有变更政策,因为我们内部没有Access重量级(也没有计划雇用一个).

该公司现在正在慢慢增长,客户数量增加,呼叫数量增加,以及并发用户数量略有增加,而且最近性能明显变差(等待在表单之间移动,等待列表填充等等) )

Perfmon说:

>每秒磁盘传输数:0到30之间,平均为4.
>当前磁盘队列长度:徘徊在1左右

sql Server的分析器每分钟都能看到数十万个查询.客户端上的cpu使用率几乎为零,表明它正在等待服务器端查询执行.我已将此工作负载通过数据库引擎优化顾问,将其建议应用于测试备份,但这并没有太大的区别.

顺便说一下,我们有100MB和千兆以太网的混合,所有这些都在一个子网上,40个用户分为两层.

对于这个问题.

在我看来,我们有两种选择来解决/改善这种情况.

>我们可以废弃它并用全新的CRM系统替换它,无论是定制还是部分定制
>我们可以通过清理硬件来延长该系统的使用寿命.

我们可以构建一个具有疯狂性能数字的Intel i7系统,其成本比更换软件要低一个数量级.

当最终开发出一个新系统时,它可以托管在这个盒子上,因此没有浪费的硬件.一个新的CRM系统不断被推迟,关闭关闭 – 我看不到这种情况发生至少一年.

任何关于这种情况的想法,特别是如果你自己来过这里,都会非常感激.

谢谢

解决方法

我不同意这里的每个人.查了一些硬件.它便宜,快速,简单,并且会为您购买实施适当的CRM解决方案所需的时间.我之所以提倡一些对每个人而言都是诅咒的事情,不仅仅是这个董事会,还有堆栈流,我是一名项目经理/经理,并且已经在“业务”方面工作了一段时间(业务由于我对这个词的仇恨而引用了引号.根据您对软件的描述,将需要将近一年的时间来重建其他内容.只是发现/记录业务规则/怪癖,可能需要2个月.开发也将是令人难以置信的昂贵.特别是与欺骗服务器的成本相比.

出于这个原因,我实际上是要为一家公司托管一套网络应用程序.内部IT部门不会将其转移到更好的硬件上,因为他们希望在新平台上重新开发它们.该成本大约是将其转移到新硬件所需成本的三倍.不用说公司可能在一年内没有续签合同.

猜你在找的MsSQL相关文章