Enable and Disable All the Triggers in a SQL Server Database

A database developer recently asked on the MSDN forums for a quick way to enable and disable all the triggers in a SQL Server 2005/2008 database. In my opinion, the quickest option is to use the undocumented stored procedure sp_MSforeachtable

To Disable All the Triggers

sp_MSforeachtable "ALTER TABLE ? DISABLE TRIGGER ALL"

To Enable All the Triggers

sp_MSforeachtable "ALTER TABLE ? ENABLE TRIGGER ALL"
 

Similarly to Enable and Disable all the Constraints, use this query:

sp_MSforeachtable "ALTER TABLE ? NOCHECK CONSTRAINT ALL"
sp_MSforeachtable "ALTER TABLE ? WITH CHECK CHECK CONSTRAINT ALL"


About The Author

Suprotim Agarwal, MCSD, MCAD, MCDBA, MCSE, is the founder of DotNetCurry, DNC Magazine for Developers, SQLServerCurry and DevCurry. He has also authored a couple of books 51 Recipes using jQuery with ASP.NET Controls and a new one recently at The Absolutely Awesome jQuery CookBook.

Suprotim has received the prestigous Microsoft MVP award for nine times in a row now. In a professional capacity, he is the CEO of A2Z Knowledge Visuals Pvt Ltd, a digital group that represents premium web sites and digital publications comprising of Professional web, windows, mobile and cloud developers, technical managers, and architects.

Get in touch with him on Twitter @suprotimagarwal, LinkedIn or befriend him on Facebook

1 comment:

Larry said...

Thanks, I tried many different versions, including Microsoft Suggestion. Yours is the one that actually works.

Larry
www.archergroup.com.au