To deny drop permission for a table, deny ALTER on its schema, because DENY DELETE only stops row deletes. This post tests both on a demo database and shows what each deny blocks and what it leaves open.
SQL SERVER – Types of Triggers
The types of triggers in SQL Server include DML, DDL and logon triggers. A customer requested this three-part summary.
Trigger Blocks Index Maintenance: How to Let Rebuilds Pass
A trigger blocks index maintenance when it guards every index event, because a rebuild is an index event too. This post shows the failure, then a trigger that reads EVENTDATA and lets rebuilds through while it still blocks create, drop and disable.
Prevent Unauthorized Index Modifications – SQL in Sixty Seconds #183
Many people asked me to create a video on the same topic, so we have Prevent Unauthorized Index Modifications. Here is the video.
Prevent Index Changes in SQL Server With a DDL Trigger
To prevent index changes in one database, create a DDL trigger on the index events that rolls back the statement and says why. This post tests the trigger, shows what it blocks, and lists the index changes that slip past it.
SQL SERVER – Trigger on Database to Prevent Table Creation
A Trigger on Database scope can reject CREATE_TABLE events. A customer required this rule, though I preferred ordinary permissions.
SQL SERVER – Enabling or Disabling Triggers with the Correct Scope
To disable all triggers correctly, I first identify the required scope. My original customer case concerned expensive table-trigger work.







