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
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
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.
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.
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.
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 *************************
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 *************************
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 *************************
hugueslouz
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 *************************
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 *************************
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 *************************