Bonjour,
J ai développé un trigger, mais malheureusement, il est modifié par un autre.
Est-ce SQL SERVER historise les triggers et les procédures ?
Est-il possible de recuperer la version précédente de trigger ?
Bonjour,
J ai développé un trigger, mais malheureusement, il est modifié par un autre.
Est-ce SQL SERVER historise les triggers et les procédures ?
Est-il possible de recuperer la version précédente de trigger ?
tu n'as qu le retaper si t'as pas de sauvegarde.
sinon faudra que Microsoft pense à des triggers imbriqués genre:
Create trigger Ctrl_Trig on "ton_trigger" after update éventuellement modify... rollback![]()
Vous pouvez aussi regarder dans le journal de transaction à l'aide d'un outil d'exploration comme celui d'Apex pour retrouver la version précédente de votre CREATE TRIGGER.
A +
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
* * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *
Ben moi si, et il suffit d'ailleurs de lire la documentation pour se rendre compte que la modification d'un trigger DML est capturée par EVENTDATA() :Ah oui ?
J'ai pas testé.
Trigger on a CREATE, ALTER, DROP, GRANT, DENY, REVOKE, or UPDATE STATISTICS statement (DDL Trigger)
Un peu plus loin :
event_type
Nom de l'événement du langage Transact-SQL qui, après l'exécution, provoque l'exécution d'un déclencheur DDL. Les événements valides pour les déclencheurs DDL sont répertoriés dans Événements DDL.
La liste des événements DDL capturables est plus qu'exhaustive, et contient bien sûr ALTER TRIGGER, comme pour tout autre module T-SQL.
@++![]()
Partager