Disadvantages to using ON DELETE CASCADE on every foreign key? Our application currently has &quot;soft delete&quot; built-in to most tables with a BIT &quot;deleted&quot; column.
There is now a requirement for &quot;hard delete&quot; functionality.
Are there any disadvantages, gotchas, or things to bear in mind when adding ON UPDATE CASCADE ON DELETE CASCADE to every single foreign key in the database?
Are there any disadvantages, gotchas, or things to bear in mind when adding ON UPDATE CASCADE ON DELETE CASCADE to every single foreign key in the database?

One reason not to : Oops!!
If you accidentally delete the wrong record, then you wipe out everything that references on that record.  If that record happens to be the one at the root of your entire company, then everything goes &quot;Poof!&quot;, everybody starts creaming at you and you're into a major, high-profile, high-pressure Recovery exercise.
Personally, I advocate never cascading deletes.
You want to get rid of data?  You need to know what you're doing! (Or some, centrally managed, piece of code needs to know how to do so on your behalf).