J'ai une table dans ma base de données qui sert essentiellement de destination d'enregistrement. Je l'utilise avec suivant modèle de code dans mon code SQL:Données INSERT ignorant la transaction en cours
BEGIN TRY
...
END TRY
BEGIN CATCH
INSERT INTO [dbo.errors] (...)
VALUES (ERROR_PROCEDURE(), ERROR_NUMBER(), ERROR_MESSAGE(), ...)
END CATCH
Pour faire longue histoire courte partie de ce code doit être exécutaient withing une transaction. Je me rends compte que rien n'est écrit dans le journal, car la restauration de la transaction va également annuler les entrées du journal des erreurs. Tout peut être fait à ce sujet?
EDIT: Je sais comment contourner en effectuant un rollback/commit avant un INSERT pour se connecter. Ma question était la suivante: existe-t-il un moyen connu d'insérer des données afin qu'elles ne soient pas affectées par une transaction en cours? Par exemple: cela pourrait être fait si je l'insère en utilisant une connexion séparée. Seulement, je voulais trouver le moyen de le faire dans une instruction SQL unique
EDIT2: Précision: ceci est sur Microsoft SQL
non ... Microsoft SQL – galets
@Justin Savage suffit de jeter un oeil a les étiquettes ci-dessous la question pour plus de détails – sra