大约 7 年前,我在加班后为客户的数据库生成更改脚本。我只更改了存储过程,但是当我生成 SQL 时,我检查了“脚本相关对象”。我在本地机器上运行它,一切似乎都运行良好。我在客户端的服务器上运行它,脚本成功了。
然后我加载了该网站,该网站是空的。令我震惊的是,“脚本相关对象”设置为我的存储过程触及的每个表都做了一个 DROP TABLE
。
我立即打电话给首席开发人员和老板,让他们知道发生了什么,并询问可以找到数据库的最新备份在哪里。其他 2 位开发人员参加了会议,我们得出的结论是,甚至没有备份系统到位,也无法恢复任何数据。客户丢失了他们整个网站的内容,而我是根本原因。结果是我们的客户获得了 5000 美元的信用。
对我来说这是一个很好的教训,现在我对运行任何更改脚本和首先备份数据库都非常谨慎。我今天还在同一家公司工作,每当出现关于备份或数据库脚本的笑话时,总会有人提起著名的“DROP TABLE”事件。