• Excellent article! It really brings out a very real issue that is overlooked by most -- backups don't protect you from everything. As you say at the end of the article, the job of the DBA is to protect the data and make sure it is available. In my experience user error is the biggest cause of data loss.

    Another thing to consider is a policy-based solution. Who should have ad-hoc query access in the first place? Are developers truly testing and DML statements they are writing? What is *their* responsibility for data loss?

    All to often I see an environment end-users and developers have the ability to change or delete data but no accountability for mistakes they may make to production or QA environments. I think it's the responsibility of the DBA to protect the data and ensure its availability, but I don't believe that this is an entirely *technical* issue.Policy needs to be set to establish guildlines for who has what level ad-hoc query access and to define accountability for altering or deleting data.

    Two cents.