Partager via


MSSQLSERVER_8525

S’applique à : SQL Server

Détails

Attribut Valeur
Nom du produit SQL Server
ID de l’événement 8525
Source de l’événement MSSQLSERVER
Composant SQLEngine
Nom symbolique
Texte du message La transaction distribuée est terminée. Inscrivez cette session, soit dans une nouvelle transaction, soit dans une transaction NULL.

Explication

Le modèle de programmation pour l’utilisation du coordinateur de transactions distribuées avec SQL Server nécessite que les applications s’inscrivent explicitement à une transaction distribuée et qu’elles défautnt.

Cette erreur se produit lorsque les quatre conditions suivantes sont réunies :

  • L'application est inscrite dans une transaction distribuée.

  • La transaction est terminée, validée ou restaurée, pour une raison quelconque.

  • L'application utilisateur n'est pas explicitement désinscrite d'une transaction distribuée ni explicitement inscrite dans une nouvelle transaction distribuée.

  • L'application tente d'effectuer une opération transactionnelle qui n'est ni la désinscription d'une transaction distribuée existante ni l'inscription dans une nouvelle transaction distribuée. Il peut s'agir par exemple de l'émission d'une requête ou du démarrage d'une transaction locale.

L'état d'erreur 1 est utilisé lorsque l'application effectue une opération qui permet de créer des transactions locales et l'état 2 est utilisé lorsque l'application tente une inscription dans une session associée.

Action de l’utilisateur

Une fois qu'une application est inscrite dans une transaction distribuée, l'application doit être explicitement désinscrite de la transaction distribuée ou inscrite dans une autre transaction distribuée. Cela entraînera la désinscription implicite d'une transaction inscrite antérieure. Pour obtenir la syntaxe exacte relative à la désinscription ou à l'inscription dans une transaction distribuée, consultez le manuel de l'interface de programmation de l'application.