Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

KILLED/ROLLBACK

6 réponses
Avatar
Ch.
Bonjour,

nous avons des tables qui nous servent à faire des calculs. (plusieurs
millions de lignes)
Quand pour X ou Y raisons il faut interrompre la procedure stockée du
calcul, il fait un enorme rollback qui peut durer plusieurs heures parfois
meme plus que le temps du calcul en cours.

sachant que l'ont peut se permettre de detruire ces valeurs comment puis je
faire pour interrompre le calcul de manniere immediate ?

thank's !
Ch.

6 réponses

Avatar
Fred BROUARD
Bonjour,

Ch. a écrit :
Bonjour,

nous avons des tables qui nous servent à faire des calculs. (plusieurs
millions de lignes)
Quand pour X ou Y raisons il faut interrompre la procedure stockée du
calcul, il fait un enorme rollback qui peut durer plusieurs heures
parfois meme plus que le temps du calcul en cours.

sachant que l'ont peut se permettre de detruire ces valeurs comment puis
je faire pour interrompre le calcul de manniere immediate ?



Cela n'est pas possible. Un SGBDR n'est pas un tableur. La
journalisation des transactions est donc inévitable pour conserver
l'intégrité de la base.
Ce que vous pouvez faire éventuellement, c'est découper votre traitement
en plusieurs petites transactions, par exemple en stockant certains
résultats intermédiaires dans des tables temporaires. Dès lors le
rollback se produira sur une moins grande portion du journal.

A +


thank's !
Ch.





--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
Enseignant aux Arts & Métiers PACA et à L'ISEN Toulon - Var Technologies
*********************** http://www.sqlspot.com *************************
Avatar
Ch.
je l'ai posé même si ej me doutais du resultat.
y a quand meme une chose que je n'ai pas compris.
le lancement avait ete fait par un DEV sur 15mns, il a coupé en appuyant sur
cancel.

mais 24h apres il etait tjrs en rollback.
donc j'ai du utiliser une maniere drastique, mais que justement je n'aime
pas trop.
je m'etais donc dis qu'il y avait peut etre une commande de kill, sans qu'il
utilise le rollback.
car comme c'est une table calculée je me fou qu'elle soit pas bonne elle
sera droppée de toute maniere.


tant pis.
je vais leur dire...
Ch.


"Fred BROUARD" a écrit dans le message de
news:
Bonjour,

Ch. a écrit :
Bonjour,

nous avons des tables qui nous servent à faire des calculs. (plusieurs
millions de lignes)
Quand pour X ou Y raisons il faut interrompre la procedure stockée du
calcul, il fait un enorme rollback qui peut durer plusieurs heures
parfois meme plus que le temps du calcul en cours.

sachant que l'ont peut se permettre de detruire ces valeurs comment puis
je faire pour interrompre le calcul de manniere immediate ?



Cela n'est pas possible. Un SGBDR n'est pas un tableur. La journalisation
des transactions est donc inévitable pour conserver l'intégrité de la
base.
Ce que vous pouvez faire éventuellement, c'est découper votre traitement
en plusieurs petites transactions, par exemple en stockant certains
résultats intermédiaires dans des tables temporaires. Dès lors le rollback
se produira sur une moins grande portion du journal.

A +


thank's !
Ch.





--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
Enseignant aux Arts & Métiers PACA et à L'ISEN Toulon - Var Technologies
*********************** http://www.sqlspot.com *************************
Avatar
Fred BROUARD
Il est parfaitement normal qu'un rollback sur un grosse proc dure très
longtemps. En effet, jouer un journal "à l'envers" pour défaire des
modifs est bien plus couteux que de le le laisser continuer. EN effet
l'agorithme ARIES des JT est basé sur le principe du WAL : write Ahead
Log. Pendant que beaucoup de monde écrit en ajout, votre rollback doit
lire le journal en arrière !
Seule solution pour optimiser le rollback : passer la base en
utilisateur unique.

Ch. a écrit :
je l'ai posé même si ej me doutais du resultat.
y a quand meme une chose que je n'ai pas compris.
le lancement avait ete fait par un DEV sur 15mns, il a coupé en appuyant
sur cancel.

mais 24h apres il etait tjrs en rollback.
donc j'ai du utiliser une maniere drastique, mais que justement je
n'aime pas trop.
je m'etais donc dis qu'il y avait peut etre une commande de kill, sans
qu'il utilise le rollback.
car comme c'est une table calculée je me fou qu'elle soit pas bonne elle
sera droppée de toute maniere.


tant pis.
je vais leur dire...
Ch.


"Fred BROUARD" a écrit dans le message de
news:
Bonjour,

Ch. a écrit :
Bonjour,

nous avons des tables qui nous servent à faire des calculs.
(plusieurs millions de lignes)
Quand pour X ou Y raisons il faut interrompre la procedure stockée du
calcul, il fait un enorme rollback qui peut durer plusieurs heures
parfois meme plus que le temps du calcul en cours.

sachant que l'ont peut se permettre de detruire ces valeurs comment
puis je faire pour interrompre le calcul de manniere immediate ?



Cela n'est pas possible. Un SGBDR n'est pas un tableur. La
journalisation des transactions est donc inévitable pour conserver
l'intégrité de la base.
Ce que vous pouvez faire éventuellement, c'est découper votre
traitement en plusieurs petites transactions, par exemple en stockant
certains résultats intermédiaires dans des tables temporaires. Dès
lors le rollback se produira sur une moins grande portion du journal.

A +


thank's !
Ch.





--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
Enseignant aux Arts & Métiers PACA et à L'ISEN Toulon - Var Technologies
*********************** http://www.sqlspot.com *************************







--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
Enseignant aux Arts & Métiers PACA et à L'ISEN Toulon - Var Technologies
*********************** http://www.sqlspot.com *************************
Avatar
Serguei Tarassov
On 16/03/2010 09:10, Ch. wrote:
Bonjour,

nous avons des tables qui nous servent à faire des calculs. (plusieurs
millions de lignes)
Quand pour X ou Y raisons il faut interrompre la procedure stockée du
calcul, il fait un enorme rollback qui peut durer plusieurs heures
parfois meme plus que le temps du calcul en cours.

sachant que l'ont peut se permettre de detruire ces valeurs comment puis
je faire pour interrompre le calcul de manniere immediate ?

thank's !
Ch.



Bonjour,

Cela vous dit de faire une capture instantanée de la base de données
(database snapshot) en faisant la restauration à partir de cette capture
en cas d'échec ?

A+
Serguei TARASSOV
MCITP SQL Server Dev/DBA
http://sgbd.arbinada.com
Avatar
Ch.
fred est-ce que je peux passer en utilisateur unique en cours de rollback ?


"Fred BROUARD" a écrit dans le message de
news:
Il est parfaitement normal qu'un rollback sur un grosse proc dure très
longtemps. En effet, jouer un journal "à l'envers" pour défaire des modifs
est bien plus couteux que de le le laisser continuer. EN effet l'agorithme
ARIES des JT est basé sur le principe du WAL : write Ahead Log. Pendant
que beaucoup de monde écrit en ajout, votre rollback doit lire le journal
en arrière !
Seule solution pour optimiser le rollback : passer la base en utilisateur
unique.

Ch. a écrit :
je l'ai posé même si ej me doutais du resultat.
y a quand meme une chose que je n'ai pas compris.
le lancement avait ete fait par un DEV sur 15mns, il a coupé en appuyant
sur cancel.

mais 24h apres il etait tjrs en rollback.
donc j'ai du utiliser une maniere drastique, mais que justement je n'aime
pas trop.
je m'etais donc dis qu'il y avait peut etre une commande de kill, sans
qu'il utilise le rollback.
car comme c'est une table calculée je me fou qu'elle soit pas bonne elle
sera droppée de toute maniere.


tant pis.
je vais leur dire...
Ch.


"Fred BROUARD" a écrit dans le message de
news:
Bonjour,

Ch. a écrit :
Bonjour,

nous avons des tables qui nous servent à faire des calculs. (plusieurs
millions de lignes)
Quand pour X ou Y raisons il faut interrompre la procedure stockée du
calcul, il fait un enorme rollback qui peut durer plusieurs heures
parfois meme plus que le temps du calcul en cours.

sachant que l'ont peut se permettre de detruire ces valeurs comment
puis je faire pour interrompre le calcul de manniere immediate ?



Cela n'est pas possible. Un SGBDR n'est pas un tableur. La
journalisation des transactions est donc inévitable pour conserver
l'intégrité de la base.
Ce que vous pouvez faire éventuellement, c'est découper votre traitement
en plusieurs petites transactions, par exemple en stockant certains
résultats intermédiaires dans des tables temporaires. Dès lors le
rollback se produira sur une moins grande portion du journal.

A +


thank's !
Ch.





--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
Enseignant aux Arts & Métiers PACA et à L'ISEN Toulon - Var Technologies
*********************** http://www.sqlspot.com *************************







--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
Enseignant aux Arts & Métiers PACA et à L'ISEN Toulon - Var Technologies
*********************** http://www.sqlspot.com *************************
Avatar
Fred BROUARD
Bonne idée... J'ai jamais essayé. Faut tenter avec un wait

A +

Ch. a écrit :
fred est-ce que je peux passer en utilisateur unique en cours de rollback ?


"Fred BROUARD" a écrit dans le message de
news:
Il est parfaitement normal qu'un rollback sur un grosse proc dure très
longtemps. En effet, jouer un journal "à l'envers" pour défaire des
modifs est bien plus couteux que de le le laisser continuer. EN effet
l'agorithme ARIES des JT est basé sur le principe du WAL : write Ahead
Log. Pendant que beaucoup de monde écrit en ajout, votre rollback doit
lire le journal en arrière !
Seule solution pour optimiser le rollback : passer la base en
utilisateur unique.

Ch. a écrit :
je l'ai posé même si ej me doutais du resultat.
y a quand meme une chose que je n'ai pas compris.
le lancement avait ete fait par un DEV sur 15mns, il a coupé en
appuyant sur cancel.

mais 24h apres il etait tjrs en rollback.
donc j'ai du utiliser une maniere drastique, mais que justement je
n'aime pas trop.
je m'etais donc dis qu'il y avait peut etre une commande de kill,
sans qu'il utilise le rollback.
car comme c'est une table calculée je me fou qu'elle soit pas bonne
elle sera droppée de toute maniere.


tant pis.
je vais leur dire...
Ch.


"Fred BROUARD" a écrit dans le message de
news:
Bonjour,

Ch. a écrit :
Bonjour,

nous avons des tables qui nous servent à faire des calculs.
(plusieurs millions de lignes)
Quand pour X ou Y raisons il faut interrompre la procedure stockée
du calcul, il fait un enorme rollback qui peut durer plusieurs
heures parfois meme plus que le temps du calcul en cours.

sachant que l'ont peut se permettre de detruire ces valeurs comment
puis je faire pour interrompre le calcul de manniere immediate ?



Cela n'est pas possible. Un SGBDR n'est pas un tableur. La
journalisation des transactions est donc inévitable pour conserver
l'intégrité de la base.
Ce que vous pouvez faire éventuellement, c'est découper votre
traitement en plusieurs petites transactions, par exemple en
stockant certains résultats intermédiaires dans des tables
temporaires. Dès lors le rollback se produira sur une moins grande
portion du journal.

A +


thank's !
Ch.





--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage
SQL
Le site sur le langage SQL et les SGBDR :
http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning,
optimisation
Enseignant aux Arts & Métiers PACA et à L'ISEN Toulon - Var
Technologies
*********************** http://www.sqlspot.com
*************************







--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
Enseignant aux Arts & Métiers PACA et à L'ISEN Toulon - Var Technologies
*********************** http://www.sqlspot.com *************************







--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
Enseignant aux Arts & Métiers PACA et à L'ISEN Toulon - Var Technologies
*********************** http://www.sqlspot.com *************************