Je veux supprimer et modifier les déclencheurs créés précédemment, mais je ne peux pas les trouver n'importe où dans la base de données. Où ils existent et comment les modifier ou les supprimer
Vous pouvez trouver des déclencheurs sous le nœud Table:
Sous le nœud Tables
dans SSMS (SQL Server Management Studio), pour chaque table se trouve un nœud Triggers
.
Vous pouvez gérer vos déclencheurs à partir de là.
Voici une meilleure façon:
select a.[name] as trgname, b.[name] as [tbname]
from sys.triggers a join sys.tables b on a.parent_id = b.object_id
Assurez-vous simplement de l'exécuter sur la base de données où vous pensez que le déclencheur est situé.
Vous pouvez également rechercher les déclencheurs en interrogeant les vues de gestion dans SQL Server Management Studio:
SELECT
OBJECT_NAME(object_id) 'Table name', *
FROM
sys.triggers
Cela vous donne une liste de tous les déclencheurs et sur quelle table ils sont définis pour votre base de données actuelle. Vous pouvez ensuite les désactiver ou les supprimer.
Pour développer un peu les réponses précédentes, dans toutes les versions récentes de SQL Server, vous pouvez cliquer avec le bouton droit sur un déclencheur et choisir: Script Trigger as… ALTER To… "New Query Editor Window"
Cela ouvrira un script SQL avec les détails du déclencheur, si vous lisez le code, vous remarquerez qu'il inclut la syntaxe ALTER: ALTER TRIGGER [dbo].triggername ...
Cela signifie que vous pouvez modifier le SQL et appuyer sur Exécuter pour modifier le déclencheur - cela écrasera la définition précédente.
Si les déclencheurs ont été créés à l'aide d'outils automatisés, vous pouvez trouver du code en double dans la définition de déclencheur que vous souhaitez supprimer.
Il vaut la peine d'essayer d'exécuter le script avant d'essayer de modifier quoi que ce soit, cela vous dira si la définition du déclencheur est valide. Si une table ou une colonne a été renommée, les choses peuvent se désynchroniser.
De la même manière que pour supprimer/supprimer un déclencheur, sélectionnez complètement: Script Trigger as… DROP To… "New Query Editor Window"
, puis exécutez-le.