OVH Cloud OVH Cloud

Transaction SQL Server vs Oracle

2 réponses
Avatar
Christopher
Bonjour à tous,

Je travaille actuellement sur les transactions Sql Serveur (non
distribuées) et leurs comportements selon le niveau d'isolation choisi.
Je tente de reproduire dans ce domaine le fonctionnement par défaut
d'Oracle, et je bloque sur le problème suivant :
Avec un niveau d'isolation READ COMMITED, par défaut Oracle ne
"lock" aucune demande de lecture sur des enregistrements modifiés dans une
autre transaction (ou connexion) non encore validée. Mise à part les
modifications apportées dans la transaction en cours, le résultat d'un
SELECT retourne toujours la "version" des enregistrements validés. Ainsi, il
n'y a pas de blocage en lecture.
Sql Server 2000 fonctionne différemment avec le même niveau
d'isolation. Une requête SELECT est systématiquement bloquée si le jeu de
résultat doit contenir un enregistrement nouveau ou modifiée non encore
validé. Le mot clé READPAST dans la requête SELECT ne résout que le problème
lié aux nouveaux enregistrements, les renregistrements modifiés bloquent
toujours la demande de lecture !

Y a-t-il une solution ?

Merci d'avance pour votre aide.

CIN.

2 réponses

Avatar
Med Bouchenafa
Le sujet est matière a déclencher... une guerre.
Kimberly a produit un article remarquable.
http://www.microsoft.com/technet/prodtechnol/sql/2005/SQL05B.mspx


--
Bien cordialement
Med Bouchenafa

"Christopher" a écrit dans le message de news:

Bonjour à tous,

Je travaille actuellement sur les transactions Sql Serveur (non
distribuées) et leurs comportements selon le niveau d'isolation choisi.
Je tente de reproduire dans ce domaine le fonctionnement par défaut
d'Oracle, et je bloque sur le problème suivant :
Avec un niveau d'isolation READ COMMITED, par défaut Oracle ne
"lock" aucune demande de lecture sur des enregistrements modifiés dans une
autre transaction (ou connexion) non encore validée. Mise à part les
modifications apportées dans la transaction en cours, le résultat d'un
SELECT retourne toujours la "version" des enregistrements validés. Ainsi,
il n'y a pas de blocage en lecture.
Sql Server 2000 fonctionne différemment avec le même niveau
d'isolation. Une requête SELECT est systématiquement bloquée si le jeu de
résultat doit contenir un enregistrement nouveau ou modifiée non encore
validé. Le mot clé READPAST dans la requête SELECT ne résout que le
problème lié aux nouveaux enregistrements, les renregistrements modifiés
bloquent toujours la demande de lecture !

Y a-t-il une solution ?

Merci d'avance pour votre aide.

CIN.



Avatar
Christopher
En effet. J'ai obtenu une réponse concordante sur le newsgroup
sqlserver.programming.
Merci pour l'information.


"Med Bouchenafa" a écrit dans le message de news:
%
Le sujet est matière a déclencher... une guerre.
Kimberly a produit un article remarquable.
http://www.microsoft.com/technet/prodtechnol/sql/2005/SQL05B.mspx


--
Bien cordialement
Med Bouchenafa

"Christopher" a écrit dans le message de news:

Bonjour à tous,

Je travaille actuellement sur les transactions Sql Serveur (non
distribuées) et leurs comportements selon le niveau d'isolation choisi.
Je tente de reproduire dans ce domaine le fonctionnement par défaut
d'Oracle, et je bloque sur le problème suivant :
Avec un niveau d'isolation READ COMMITED, par défaut Oracle ne
"lock" aucune demande de lecture sur des enregistrements modifiés dans
une autre transaction (ou connexion) non encore validée. Mise à part les
modifications apportées dans la transaction en cours, le résultat d'un
SELECT retourne toujours la "version" des enregistrements validés. Ainsi,
il n'y a pas de blocage en lecture.
Sql Server 2000 fonctionne différemment avec le même niveau
d'isolation. Une requête SELECT est systématiquement bloquée si le jeu de
résultat doit contenir un enregistrement nouveau ou modifiée non encore
validé. Le mot clé READPAST dans la requête SELECT ne résout que le
problème lié aux nouveaux enregistrements, les renregistrements modifiés
bloquent toujours la demande de lecture !

Y a-t-il une solution ?

Merci d'avance pour votre aide.

CIN.