Los disparadores son un requisito para cualquier regla de integridad de datos compleja. No se pueden aplicar en ningún otro lugar, excepto en la base de datos, o tendrá problemas de integridad de datos.
También son el mejor lugar para auditar a menos que no desee capturar todos los cambios en la base de datos (que es el problema de auditar desde la aplicación).
Los desencadenantes pueden causar problemas de rendimiento si no se escriben con cuidado y no hay suficientes desarrolladores que tengan los conocimientos necesarios para escribirlos bien. Esto es parte de donde obtienen su mala reputación.
Los desencadenadores suelen ser más lentos que otros medios para mantener la integridad de los datos, por lo que si puede usar una restricción de verificación, utilícela en lugar de un desencadenante.
Es fácil escribir disparadores erróneos que hacen cosas estúpidas como intentar enviar correos electrónicos. ¿Realmente desea no poder cambiar los registros en la base de datos si el servidor de correo electrónico se cae?
En el servidor SQL, los disparadores operan en un lote de registros. Con demasiada frecuencia, los desarrolladores piensan que solo necesitan manejar inserciones, actualizaciones o eliminaciones de un registro. Ese no es el único tipo de cambio de datos que le sucede a una base de datos y todos los desencadenantes deben probarse bajo las condiciones de 1 cambio de registro y muchos cambios de registro. Olvidar hacer la segunda prueba puede provocar desencadenantes con un rendimiento extremadamente bajo o una pérdida de integridad de los datos.