你的#1的方式要小心现场数据库?

对于我的客户,我偶尔在他们的活数据库中工作,以解决他们为自己创建的问题,或为了修复我的产品的错误创建的坏数据。很像Unix root访问,它只是危险。我应该提前学习什么教训?

你做的第一件事是什么,要小心操作实时数据?

三年来,我学到了这些年来的艰苦经验…

首先,如果要对实时数据进行更新或删除,请首先使用要使用的WHERE子句编写SELECT查询。确保它的工作。确保它是正确的。然后将UPDATE / DELETE语句添加到已知工作的WHERE子句。

你永远不想有

DELETE FROM Customers

坐在查询分析器中等待你写WHERE子句…意外点击“执行”,你刚刚杀了你的Customer表。糟糕。

此外,根据您的平台,了解如何采取一个快速的“不干净的备份表。在SQL Server 2005中,

SELECT *
INTO CustomerBackup200810032034
FROM Customer

会将整个Customer表中的每一行都复制到一个名为CustomerBackup200810032034的新表中,然后在完成更新并确保一切正常后,即可将其删除。如果最糟糕的情况发生,从这个表恢复丢失的数据比从磁盘或磁带尝试和恢复昨晚的备份更容易。

最后,警惕级联删除删除的东西,你不打算删除 – 检查你的表的关系和关键约束,然后修改任何东西。

http://stackoverflow.com/questions/168486/whats-your-1-way-to-be-careful-with-a-live-database

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:你的#1的方式要小心现场数据库?