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

Lock data page vs. lock data row sous SQL Server 2000 SP4

2 réponses
Avatar
Vincent.FRA
Bonjour tout le monde,

Tout d'abord je suis assez débutant sur SQL Server et dans le monde des
bases de données en général... :)
On m'a parlé de deux mode d'accès aux données lors d'une requête. Le
mode "lock data page" qui lock une page entière pour accéder à un
enregistrement, et "lock data row" qui ne lock que la ligne.
Pendant des phases d'ETL, j'ai des problèmes d'accès simultanés à cause
de locks justement.

Ma question est donc la suivante : sous SQL Server 2000 SP4, est-il
possible de changer cette méthode d'accès pour passer en "lock data row"
? (qui parait-il résoudrait peut-être mes problèmes)


Merci d'avance,
Cdt,


Vincent

2 réponses

Avatar
Sylvain Lafontaine
Probablement que vous faites référence aux bases de données JET/MDB et à
l'option « Open databases using record-level locking ».

Avec SQL-Server, il y a des toujours « lock data page » comme tel mais la
question des DeadLock qui se pose probablement dans votre cas est infiniment
plus complexe que juste un choix de type de lock de base et est intimement
associée entre autre aux transactions et au type d'isolation choisi.

Je suggère que vous commenciez par lire l'article suivant comme début
d'explication:
http://www.awprofessional.com/articles/article.asp?p&890&seqNum=1&rl=1

--
Sylvain Lafontaine, ing.
MVP - Technologies Virtual-PC
E-mail: http://cerbermail.com/?QugbLEWINF


wrote in message
news:
Bonjour tout le monde,

Tout d'abord je suis assez débutant sur SQL Server et dans le monde des
bases de données en général... :)
On m'a parlé de deux mode d'accès aux données lors d'une requête. Le mode
"lock data page" qui lock une page entière pour accéder à un
enregistrement, et "lock data row" qui ne lock que la ligne.
Pendant des phases d'ETL, j'ai des problèmes d'accès simultanés à cause de
locks justement.

Ma question est donc la suivante : sous SQL Server 2000 SP4, est-il
possible de changer cette méthode d'accès pour passer en "lock data row" ?
(qui parait-il résoudrait peut-être mes problèmes)


Merci d'avance,
Cdt,


Vincent


Avatar
Fred BROUARD
Bonjour,

a écrit :
Bonjour tout le monde,

Tout d'abord je suis assez débutant sur SQL Server et dans le monde des
bases de données en général... :)
On m'a parlé de deux mode d'accès aux données lors d'une requête. Le
mode "lock data page" qui lock une page entière pour accéder à un
enregistrement, et "lock data row" qui ne lock que la ligne.
Pendant des phases d'ETL, j'ai des problèmes d'accès simultanés à cause
de locks justement.

Ma question est donc la suivante : sous SQL Server 2000 SP4, est-il
possible de changer cette méthode d'accès pour passer en "lock data row"
? (qui parait-il résoudrait peut-être mes problèmes)



Oui, regardez la procédure stockée sp_index_option. Elle permet de
forcer le mode de verouillage des index (si cluster = tables).

A manier avec précautions. Si les verrous sont nombreux il faudra
augmenter le poole de vérouillage (sp_configure)

A +



Merci d'avance,
Cdt,


Vincent




--
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.datasapiens.com ***********************