bonjour
[SQL2005]
je voudrais ajouter un serveur lié dans un trigger
or le trigger est une transaction et sp_addlinkedserver refuse d'être executé dans une transaction (message en titre)
quelqu'un aurait une solution ?
merci
bonjour
[SQL2005]
je voudrais ajouter un serveur lié dans un trigger
or le trigger est une transaction et sp_addlinkedserver refuse d'être executé dans une transaction (message en titre)
quelqu'un aurait une solution ?
merci
bonjour,
Pourquoi ne pas le faire directement dans la procédure stockée appelante ?
Vous pouvez aussi écrire une procédure stockée dédiée à l'ajout d'un serveur lié, et l'appeler dans vos procédures stockées qui mettent à jour la table à laquelle est attaché votre trigger
@++![]()
Vous pouvez commencer par commiter dans le trigger.
Cela dit ce genre de chose est à ne jamais faire dans un trigger, à moins que vous ne vouliez pourrir les performances de votre système.
Par essence le code d'un trigger doit :
1) être le plus léger possible
2) ne toucher qu'aux données de la base et donc à rien d'extérieur (pas de base externe, ni fichier, ni IHM).
3) ne comporter que du code ensembliste
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/ * * * * *
avec du commit ca fonctionne à moitié, l'execution passe bien mais ca ressort avec un
Msg*3609, Niveau*16, État*1, Ligne*1
La transaction s'est terminée dans le déclencheur. Le traitement a été abandonné.
de toute facon un trigger sans transaction ca n'a pas trop de sens en fait ...
Partager