当前位置:  开发笔记 > 数据库 > 正文

在生产中发生的最严重的数据库事故是什么?

如何解决《在生产中发生的最严重的数据库事故是什么?》经验,为你挑选了2个好方法。

例如:更新customer表的所有行,因为您忘记添加where子句.

    它是什么样的,实现它并向您的同事或客户报告?

    从中学到了什么?

Surgical Cod.. 11

我认为我最大的错误是

truncate table Customers
truncate table Transactions

我没有看到我登录的是什么MSSQL服务器,我想清除我的本地副本...熟悉的"OH s**t"当它删除时间大于半秒钟时,我的老板注意到我去了可见白色,问我刚做了什么.大约半分钟后,我们的网站监控器发疯了,并开始向我们发送电子邮件说该网站已关闭.

学过的知识?永远不要让连接开放的时间超过绝对需要的时间.

直到凌晨4点才恢复备份中的数据!我的老板为我感到难过,给我买了晚餐......



1> Surgical Cod..:

我认为我最大的错误是

truncate table Customers
truncate table Transactions

我没有看到我登录的是什么MSSQL服务器,我想清除我的本地副本...熟悉的"OH s**t"当它删除时间大于半秒钟时,我的老板注意到我去了可见白色,问我刚做了什么.大约半分钟后,我们的网站监控器发疯了,并开始向我们发送电子邮件说该网站已关闭.

学过的知识?永远不要让连接开放的时间超过绝对需要的时间.

直到凌晨4点才恢复备份中的数据!我的老板为我感到难过,给我买了晚餐......


我读到这篇文章时做的第一件事是关闭我与实时数据库服务器的开放SSMS连接......

2> Marshall..:

我在一家小型电子商务公司工作,有2位开发人员和一位DBA,我是开发人员之一.我通常不习惯在动态更新生产数据,如果我们已经更改了存储过程,我们将它们通过源代码控制并进行正式的部署例程设置.

好吧无论如何,用户来找我需要对我们的联系人数据库进行更新,批量更新一堆设施.所以我在我们的测试环境中编写了查询,例如

update facilities set address1 = '123 Fake Street'
    where facilityid in (1, 2, 3)

这样的事情.在测试中,3行更新.将它复制到剪贴板,将其粘贴到我们的生产sql框中的终端服务中,运行它,惊恐地看着它花了5秒钟执行并更新了100000行.不知何故,我复制了第一行,而不是第二行,并没有像I CTRL+ V,CTRL+ E' 那样关注.

我的DBA,一位年长的希腊绅士,可能是我见过的最脾气暴躁的人并不激动.幸运的是我们有一个备份,并没有打破任何页面,幸运的是,该字段仅用于显示目的(和计费/运输).

吸取的教训是关注你正在复制和粘贴的内容,也可能是其他一些内容.

推荐阅读
mobiledu2402851203
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有