triggersment SQL disparaît

J'ai un triggersur dans une table de server sql. Ce triggersur a disparu. Y a-t-il quelque chose de systématique qui pourrait entraîner sa suppression?

Il n'y a pas de réplication sur cette database.

En plus de ce que Randolf a dit, il est possible que d'autres développeurs ou dba aient laissé tomber le triggersur parce qu'il interférait avec ce qu'ils voulaient faire. Tout le monde ne comprend pas les ramifications de faire ces choses stupides afin qu'ils se produisent. Ce serait un bon exemple du besoin de process plus formalisés et de limiter l'access à la production si tel est le cas.

J'espère que vous avez le triggersur sous le contrôle de la source et que vous pouvez facilement le recréer.

Vous pouvez également envisager d'implémenter des triggersurs DDL afin que vous puissiez empêcher de telles choses à l'avenir ou au less voir qui les a fait.

Recréer la table peut laisser tomber un triggersur. La désactivation des triggersurs est également possible. Serait-ce une de ces options?

2 options si disparu

  • DROP / CREATE TABLE …
  • DROP TRIGGER …

Une option si elle ne fonctionne pas_

  • ALTER TABLE … DISABLE TRIGGER …

Vous pouvez voir si la table a été recréée en utilisant ceci. Bien sûr, ça ne vous dit pas qui …

SELECT create_date, modify_date FROM sys.objects WHERE name = 'MyTable' 

Par exemple, un changement de table via l'interface user graphique de SSMS qui s'est mal passé peut laisser tomber un triggersur. Mais il n'y a pas de process systématique pour laisser tomber un triggersur: il nécessite une action explicite de la part de quelqu'un.