|
|
|
#1 |
|
Messages: n/a
Hébergeur: |
Bonjour,
j'ai un traitement qui dure habituellement 25 heures sur une base de données de 180 GO sur SQL SERVER 2000, qui a été arrêté killé par maladresse, et il affiche une durée (estimation) de 30 heures pour le rollback. existe-il un moyen pour forcer ce roollback, je pensais à sortir tous les users par : Alter DATABASE SET SINGLE_USER WITH ROOLBACK IMMEDIATE qu'est ce qui va se passer? merci de votre aide, hugueslouz |
|
|
|
#2 |
|
Messages: n/a
Hébergeur: |
Bonjour,
> j'ai un traitement qui dure habituellement 25 heures sur une base de données > de 180 GO sur SQL SERVER 2000, qui a été arrêté killé par maladresse, et il > affiche une durée (estimation) de 30 heures pour le rollback. > > existe-il un moyen pour forcer ce roollback Non, c'est le principe même d'un environnement transactionnel : tu ne peux pas te débarrasser d'une transaction comme ça. Le rollback doit prendre le temps de se faire. Ceci dit, un traitement de 25 heures, c'est exagérément long. il y a certainement moyen d'optimiser. -- Rudi Bruchez Consultant independant, MCDBA, MCITP, MCT http://www.babaluga.com/ http://rudi.developpez.com/ |
|
|
|
#3 |
|
Messages: n/a
Hébergeur: |
hugueslouz a écrit :
> Bonjour, > j'ai un traitement qui dure habituellement 25 heures sur une base de données > de 180 GO sur SQL SERVER 2000, qui a été arrêté killé par maladresse, et il > affiche une durée (estimation) de 30 heures pour le rollback. C'est effectievment horriblement long : pensez à optimiser !!!! > Un rollback est souvent beaucoup plus long que la finalisation en COMMIT d'une transaction. La raison en est simple: le journal des transactions est fait pour être lu en avant (et il est optimisé dans ce sens) alors q'uen arrière, c'est pas terrible. Or on ne peut optimiser les deux. > existe-il un moyen pour forcer ce roollback, je pensais à sortir tous les > users par : > > Alter DATABASE SET SINGLE_USER WITH ROOLBACK IMMEDIATE Comme cela vous allez ajouter à ce rollback le temps du rollback des autres utilisateurs.... > > qu'est ce qui va se passer? > merci de votre aide, > > hugueslouz A + -- 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 *********************** http://www.sqlspot.com ************************* |
|
|
|
#4 |
|
Messages: n/a
Hébergeur: |
je vous remrecie beaucoup.
Hugueslouz "Fred BROUARD" a écrit : > hugueslouz a écrit : > > Bonjour, > > j'ai un traitement qui dure habituellement 25 heures sur une base de données > > de 180 GO sur SQL SERVER 2000, qui a été arrêté killé par maladresse, et il > > affiche une durée (estimation) de 30 heures pour le rollback. > > C'est effectievment horriblement long : pensez à optimiser !!!! > > > > > Un rollback est souvent beaucoup plus long que la finalisation en COMMIT > d'une transaction. La raison en est simple: le journal des transactions > est fait pour être lu en avant (et il est optimisé dans ce sens) alors > q'uen arrière, c'est pas terrible. Or on ne peut optimiser les deux. > > > existe-il un moyen pour forcer ce roollback, je pensais à sortir tous les > > users par : > > > > Alter DATABASE SET SINGLE_USER WITH ROOLBACK IMMEDIATE > > Comme cela vous allez ajouter à ce rollback le temps du rollback des > autres utilisateurs.... > > > > > qu'est ce qui va se passer? > > merci de votre aide, > > > > hugueslouz > > A + > > > -- > 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 > *********************** http://www.sqlspot.com ************************* > |
|
![]() |
| Outils de la discussion | |
|
|