Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Rudi Bruchez
Vincent a écrit:
Bonjour à tous ma question va être assez simple.
Est-il possible que suite à une erreur 1205 que je catch et j'annule la transaction, cette transaction s'exécute quand même sur sql server ?
Merci d'avance
Salut,
Que veux-tu dire ? Si tu reçois une erreur 1205, tu es victime d'une situation de deadlock, donc ta transaction est annulée, tu n'as pas besoin de faire un rollback toi-même. Quand la transaction est rollbackée, elle est annulée pour de bon. Ce que tu peux faire, c'est recommencer depuis le début. Ceci dit, si tu es confronté régulièrement à ce problème, essaie de revoir ton code. Essaie de ne pas faire de trop longues transactions explicites, et de ne pas faire des updates sur plusieurs tables dans des séquences opposées.
Il y a qq infos (en anglais), ici : http://www.sql-server-performance.com/deadlocks.asp
-- Rudi Bruchez, MCDBA http://www.babaluga.com/
Vincent a écrit:
Bonjour à tous ma question va être assez simple.
Est-il possible que suite à une erreur 1205 que je catch et j'annule la
transaction, cette transaction s'exécute quand même sur sql server ?
Merci d'avance
Salut,
Que veux-tu dire ? Si tu reçois une erreur 1205, tu es victime d'une
situation de deadlock, donc ta transaction est annulée, tu n'as pas besoin
de faire un rollback toi-même. Quand la transaction est rollbackée, elle
est annulée pour de bon. Ce que tu peux faire, c'est recommencer depuis le
début.
Ceci dit, si tu es confronté régulièrement à ce problème, essaie de revoir
ton code. Essaie de ne pas faire de trop longues transactions explicites,
et de ne pas faire des updates sur plusieurs tables dans des séquences
opposées.
Il y a qq infos (en anglais), ici :
http://www.sql-server-performance.com/deadlocks.asp
Est-il possible que suite à une erreur 1205 que je catch et j'annule la transaction, cette transaction s'exécute quand même sur sql server ?
Merci d'avance
Salut,
Que veux-tu dire ? Si tu reçois une erreur 1205, tu es victime d'une situation de deadlock, donc ta transaction est annulée, tu n'as pas besoin de faire un rollback toi-même. Quand la transaction est rollbackée, elle est annulée pour de bon. Ce que tu peux faire, c'est recommencer depuis le début. Ceci dit, si tu es confronté régulièrement à ce problème, essaie de revoir ton code. Essaie de ne pas faire de trop longues transactions explicites, et de ne pas faire des updates sur plusieurs tables dans des séquences opposées.
Il y a qq infos (en anglais), ici : http://www.sql-server-performance.com/deadlocks.asp
-- Rudi Bruchez, MCDBA http://www.babaluga.com/
Vincent
Je pensais comme toi mais ce qui me perturbe c'est que dans la doc de SQLserver, il est dit que la transaction est annulée mais un peu plus loin on te dit que dans certains cas, on te recommande fortement de l'annuler toi même quand même...
doc SQL serveur: "Il a beau sembler inutile d'annuler un traitement par lots après avoir reçu un message de blocage 1205, cela est néanmoins nécessaire parce que le serveur n'arrête pas toujours le traitement par lots dans une situation de blocage"
"Rudi Bruchez" <"rudi#nospam#[at]babaluga" a écrit :
Vincent a écrit:
> Bonjour à tous ma question va être assez simple. > > Est-il possible que suite à une erreur 1205 que je catch et j'annule la > transaction, cette transaction s'exécute quand même sur sql server ? > > Merci d'avance
Salut,
Que veux-tu dire ? Si tu reçois une erreur 1205, tu es victime d'une situation de deadlock, donc ta transaction est annulée, tu n'as pas besoin de faire un rollback toi-même. Quand la transaction est rollbackée, elle est annulée pour de bon. Ce que tu peux faire, c'est recommencer depuis le début. Ceci dit, si tu es confronté régulièrement à ce problème, essaie de revoir ton code. Essaie de ne pas faire de trop longues transactions explicites, et de ne pas faire des updates sur plusieurs tables dans des séquences opposées.
Il y a qq infos (en anglais), ici : http://www.sql-server-performance.com/deadlocks.asp
-- Rudi Bruchez, MCDBA http://www.babaluga.com/
Je pensais comme toi mais ce qui me perturbe c'est que dans la doc de
SQLserver, il est dit que la transaction est annulée mais un peu plus loin on
te dit que dans certains cas, on te recommande fortement de l'annuler toi
même quand même...
doc SQL serveur:
"Il a beau sembler inutile d'annuler un traitement par lots après avoir reçu
un message de blocage 1205, cela est néanmoins nécessaire parce que le
serveur n'arrête pas toujours le traitement par lots dans une situation de
blocage"
"Rudi Bruchez" <"rudi#nospam#[at]babaluga" a écrit :
Vincent a écrit:
> Bonjour à tous ma question va être assez simple.
>
> Est-il possible que suite à une erreur 1205 que je catch et j'annule la
> transaction, cette transaction s'exécute quand même sur sql server ?
>
> Merci d'avance
Salut,
Que veux-tu dire ? Si tu reçois une erreur 1205, tu es victime d'une
situation de deadlock, donc ta transaction est annulée, tu n'as pas besoin
de faire un rollback toi-même. Quand la transaction est rollbackée, elle
est annulée pour de bon. Ce que tu peux faire, c'est recommencer depuis le
début.
Ceci dit, si tu es confronté régulièrement à ce problème, essaie de revoir
ton code. Essaie de ne pas faire de trop longues transactions explicites,
et de ne pas faire des updates sur plusieurs tables dans des séquences
opposées.
Il y a qq infos (en anglais), ici :
http://www.sql-server-performance.com/deadlocks.asp
Je pensais comme toi mais ce qui me perturbe c'est que dans la doc de SQLserver, il est dit que la transaction est annulée mais un peu plus loin on te dit que dans certains cas, on te recommande fortement de l'annuler toi même quand même...
doc SQL serveur: "Il a beau sembler inutile d'annuler un traitement par lots après avoir reçu un message de blocage 1205, cela est néanmoins nécessaire parce que le serveur n'arrête pas toujours le traitement par lots dans une situation de blocage"
"Rudi Bruchez" <"rudi#nospam#[at]babaluga" a écrit :
Vincent a écrit:
> Bonjour à tous ma question va être assez simple. > > Est-il possible que suite à une erreur 1205 que je catch et j'annule la > transaction, cette transaction s'exécute quand même sur sql server ? > > Merci d'avance
Salut,
Que veux-tu dire ? Si tu reçois une erreur 1205, tu es victime d'une situation de deadlock, donc ta transaction est annulée, tu n'as pas besoin de faire un rollback toi-même. Quand la transaction est rollbackée, elle est annulée pour de bon. Ce que tu peux faire, c'est recommencer depuis le début. Ceci dit, si tu es confronté régulièrement à ce problème, essaie de revoir ton code. Essaie de ne pas faire de trop longues transactions explicites, et de ne pas faire des updates sur plusieurs tables dans des séquences opposées.
Il y a qq infos (en anglais), ici : http://www.sql-server-performance.com/deadlocks.asp
-- Rudi Bruchez, MCDBA http://www.babaluga.com/
Philippe T [MS]
Bonjour,
Il peut ne pas l'annuler si le blocage persiste. Il est toujours préférable de faire explicitement les choses plutôt que de laisser le moteur le faire lui même.
Phil. ________________________________________________________ Philippe TROTIN Microsoft Services France http://www.microsoft.com/france "Vincent" wrote in message news:
Je pensais comme toi mais ce qui me perturbe c'est que dans la doc de SQLserver, il est dit que la transaction est annulée mais un peu plus loin on te dit que dans certains cas, on te recommande fortement de l'annuler toi même quand même...
doc SQL serveur: "Il a beau sembler inutile d'annuler un traitement par lots après avoir reçu un message de blocage 1205, cela est néanmoins nécessaire parce que le serveur n'arrête pas toujours le traitement par lots dans une situation de blocage"
"Rudi Bruchez" <"rudi#nospam#[at]babaluga" a écrit :
Vincent a écrit:
> Bonjour à tous ma question va être assez simple. > > Est-il possible que suite à une erreur 1205 que je catch et j'annule la > transaction, cette transaction s'exécute quand même sur sql server ? > > Merci d'avance
Salut,
Que veux-tu dire ? Si tu reçois une erreur 1205, tu es victime d'une situation de deadlock, donc ta transaction est annulée, tu n'as pas besoin de faire un rollback toi-même. Quand la transaction est rollbackée, elle est annulée pour de bon. Ce que tu peux faire, c'est recommencer depuis le début. Ceci dit, si tu es confronté régulièrement à ce problème, essaie de revoir ton code. Essaie de ne pas faire de trop longues transactions explicites, et de ne pas faire des updates sur plusieurs tables dans des séquences opposées.
Il y a qq infos (en anglais), ici : http://www.sql-server-performance.com/deadlocks.asp
-- Rudi Bruchez, MCDBA http://www.babaluga.com/
Bonjour,
Il peut ne pas l'annuler si le blocage persiste. Il est toujours préférable
de faire explicitement les choses plutôt que de laisser le moteur le faire
lui même.
Phil.
________________________________________________________
Philippe TROTIN
Microsoft Services France http://www.microsoft.com/france
"Vincent" <Vincent@discussions.microsoft.com> wrote in message
news:34768282-9302-42B0-BFA2-41A369A575C2@microsoft.com...
Je pensais comme toi mais ce qui me perturbe c'est que dans la doc de
SQLserver, il est dit que la transaction est annulée mais un peu plus loin
on
te dit que dans certains cas, on te recommande fortement de l'annuler toi
même quand même...
doc SQL serveur:
"Il a beau sembler inutile d'annuler un traitement par lots après avoir
reçu
un message de blocage 1205, cela est néanmoins nécessaire parce que le
serveur n'arrête pas toujours le traitement par lots dans une situation de
blocage"
"Rudi Bruchez" <"rudi#nospam#[at]babaluga" a écrit :
Vincent a écrit:
> Bonjour à tous ma question va être assez simple.
>
> Est-il possible que suite à une erreur 1205 que je catch et j'annule la
> transaction, cette transaction s'exécute quand même sur sql server ?
>
> Merci d'avance
Salut,
Que veux-tu dire ? Si tu reçois une erreur 1205, tu es victime d'une
situation de deadlock, donc ta transaction est annulée, tu n'as pas
besoin
de faire un rollback toi-même. Quand la transaction est rollbackée, elle
est annulée pour de bon. Ce que tu peux faire, c'est recommencer depuis
le
début.
Ceci dit, si tu es confronté régulièrement à ce problème, essaie de
revoir
ton code. Essaie de ne pas faire de trop longues transactions explicites,
et de ne pas faire des updates sur plusieurs tables dans des séquences
opposées.
Il y a qq infos (en anglais), ici :
http://www.sql-server-performance.com/deadlocks.asp
Il peut ne pas l'annuler si le blocage persiste. Il est toujours préférable de faire explicitement les choses plutôt que de laisser le moteur le faire lui même.
Phil. ________________________________________________________ Philippe TROTIN Microsoft Services France http://www.microsoft.com/france "Vincent" wrote in message news:
Je pensais comme toi mais ce qui me perturbe c'est que dans la doc de SQLserver, il est dit que la transaction est annulée mais un peu plus loin on te dit que dans certains cas, on te recommande fortement de l'annuler toi même quand même...
doc SQL serveur: "Il a beau sembler inutile d'annuler un traitement par lots après avoir reçu un message de blocage 1205, cela est néanmoins nécessaire parce que le serveur n'arrête pas toujours le traitement par lots dans une situation de blocage"
"Rudi Bruchez" <"rudi#nospam#[at]babaluga" a écrit :
Vincent a écrit:
> Bonjour à tous ma question va être assez simple. > > Est-il possible que suite à une erreur 1205 que je catch et j'annule la > transaction, cette transaction s'exécute quand même sur sql server ? > > Merci d'avance
Salut,
Que veux-tu dire ? Si tu reçois une erreur 1205, tu es victime d'une situation de deadlock, donc ta transaction est annulée, tu n'as pas besoin de faire un rollback toi-même. Quand la transaction est rollbackée, elle est annulée pour de bon. Ce que tu peux faire, c'est recommencer depuis le début. Ceci dit, si tu es confronté régulièrement à ce problème, essaie de revoir ton code. Essaie de ne pas faire de trop longues transactions explicites, et de ne pas faire des updates sur plusieurs tables dans des séquences opposées.
Il y a qq infos (en anglais), ici : http://www.sql-server-performance.com/deadlocks.asp