当前位置:  开发笔记 > 后端 > 正文

你最大的SQL Server错误或尴尬事件是什么?

如何解决《你最大的SQLServer错误或尴尬事件是什么?》经验,为你挑选了7个好方法。

你知道我在谈论的那个.

我们已经在某个时候到过那里了.你得到了那种可怕的恐惧感,而我的上帝的实现确实发生了.

当然,你现在可以笑一笑,对,所以继续和我们分享你的SQL Server意外.

如果您可以详细说明如何解决问题,以便我们可以一起从错误中吸取教训,那就更好了.

所以为了让球滚动,我会先走......

这是我早年作为初级SQL Server大师的回归.我正在围绕企业管理器竞争,履行一些管理职责.你知道它是怎么回事,查看几个日志,确保备份运行正常,一点点数据库管理,几乎关于自动驾驶的业务,并按弹出的常规提示点击回车键.

哦,等等,是"你确定要删除此表"提示.太晚了!

只是为了确认任何有抱负的DBA,删除生产表是一件非常非常糟糕的事情!

毋庸置疑,世界纪录被迅速设置为最快的数据库恢复到新的数据库,很快就会进行表迁移,哦是的.当然,其他人都不是明智的,但仍然是一个宝贵的经验教训.浓缩!



1> 小智..:

我想每个人都在某个时候错过了DELETE或UPDATE的WHERE子句......


作为偏执狂,我通常首先编写一个SELECT,运行它,检查它,然后更改为DELETE.

2> JohannesH..:

将500万测试人员插入生产数据库.我认为最大的错误就是让我首先对生产数据库进行写访问.:P坏dba!



3> cletus..:

我最大的SQL Server错误是假设它在并发性方面与Oracle一样强大.

让我解释.

谈到SQL Server中的事务隔离级别,您有两种选择:

    脏读:事务可以看到未提交的数据(来自其他事务); 要么

    选择阻止未提交的更新.

我相信这些来自ANSI SQL.

(2)是默认的隔离级别,(imho)是两个邪恶中的较小者.但对于任何长期运行的流程来说,这都是一个巨大的问题.我不得不批量加载数据,并且只能在数小时内完成,因为它在运行时杀死了网站(因为它插入了50万条记录需要10-20分钟).

另一方面,Oracle拥有MVCC.这基本上意味着每个事务都会看到一致的数据视图.他们不会看到未提交的数据(除非您设置隔离级别来执行此操作).它们也不会阻止未提交的事务(我对这个想法感到惊讶,据称企业数据库会认为这是可以并发的).

我只想说,这是一次学习经历.

而你知道什么? 甚至MySQL都有MVCC.


工具X没有功能Y,但我认为它确实让自己看起来很愚蠢,所以为了保存脸,我把它归咎于工具.
自从2005版本读取快照隔离以来,SQL Server也有此功能
SQL更便宜.为了钱,Oracle应该自己编程

4> Ryan Emerle..:

我在一个高产量的电子商务网站上将所有价格都改为零.我不得不把网站关闭并从备份中恢复数据库..很不好意思.

幸运的是,这是一个LOOONG时间前.



5> SQLMenace..:

忘记在更新或删除时突出显示WHERE子句

脚本首先处理和检查drop依赖对象,然后在生产中运行它



6> Jonas Lincol..:

我正在研究大型在线业务的支付系统.数百万欧元的业务.

从一位同事处获取一些脚本,其中包含一些小更新.

在生产中运行它.

30分钟后从帮助台获取错误报告,抱怨过去30分钟没有购买.

发现所有连接都在等待释放的表锁

发现我的同事的脚本以明确的BEGIN TRANSACTION开始,并希望我在最后手动输入COMMIT TRANSACTION.

向老板解释为什么30分钟的销售损失.

责怪自己没有正确阅读脚本文档.



7> Jonathan..:

从上周开始还原到生产实例而不是开发实例.不是早上好.

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