Est-il un moyen de faire en sorte que un déclencheur SQL Server sera exécuté?

dba.stackexchange https://dba.stackexchange.com/questions/10167

  •  16-10-2019
  •  | 
  •  

Question

Mon superviseur hésite à utiliser un déclencheur dans un processus parce que s'il y a une interruption de réseau au bon moment, le processus ne serait pas complet. Est-ce que SQL Server inclut le déclencheur dans la transaction de la procédure d'appel? Sinon, quelle est la meilleure façon de mettre en œuvre ce?

Était-ce utile?

La solution

Oui. Déclencheurs se produisent comme une transaction imbriquée implicite dans le cadre de la transaction de l'appelant. Le déclencheur commettra ou à l'arrière du rouleau dans le cadre de cette transaction.

Voir:

Autres conseils

Il y a assez peu de situations où ne se déclenchent pas, tels que:

  • Une table est supprimée.

  • . Une table est tronquée

  • Paramètres pour les déclencheurs imbriqués et / ou récursifs empêcher un déclenchement de tir.

Ainsi, dans SQL Server un déclencheur est PAS garantie à exécuter. Parfois, il peut être contournée.

En outre un déclencheur peut être juste incorrect. De toute façon, vous pouvez vous retrouver avec des orphelins dans votre base de données.

Si vous publiez ce que vous essayez d'accomplir avec votre détente, nous pouvons peut-être vous aider à mettre en œuvre avec des contraintes.

Licencié sous: CC-BY-SA avec attribution
Non affilié à dba.stackexchange
scroll top