OVH Cloud OVH Cloud

poser des verrous

3 réponses
Avatar
Nico
Bonjour,
je suis nouveau venu sur SQL Server et pour faire des tests je voudrais
poser des verrous sur des enregistrements
(pour simuler un probleme dans une transaction, et verifier que mes rollback
se font bien, ect...)

Merci

Nicolas

3 réponses

Avatar
bruno reiter [MVP]
il y a toujours des verrous posés, mais heureusement ils sont lachés en fin
de transaction.

si tu veux garder un verrou, démarres une transaction utilisateur que tu ne
termines pas
ex

begin tran
update table
set ...
where ...

ou

begin tran
select ... from table with (holdlock)
where ...

tu pourras pour terminer faire
commit tran
ou bien
rollback tran

HTH

br

"Nico" wrote in message
news:
Bonjour,
je suis nouveau venu sur SQL Server et pour faire des tests je voudrais
poser des verrous sur des enregistrements
(pour simuler un probleme dans une transaction, et verifier que mes


rollback
se font bien, ect...)

Merci

Nicolas




Avatar
Nico
merci pour ta réponse, cela m'a effectivement permis de bloquer ma
transaction mais celle-ci reste en attente jusqu'a ce que je fasse le commit
manquant
il y a surement un time out à configurer mais je ne trouve pas !
meme probleme lorsque j'appelle ma procédure contenant la transaction via
foxPro, le programme "ne répond pas" jusqu' a ce que je fasse le commit

"bruno reiter [MVP]" <remove.this! a écrit dans le message
de news:
il y a toujours des verrous posés, mais heureusement ils sont lachés en


fin
de transaction.

si tu veux garder un verrou, démarres une transaction utilisateur que tu


ne
termines pas
ex

begin tran
update table
set ...
where ...

ou

begin tran
select ... from table with (holdlock)
where ...

tu pourras pour terminer faire
commit tran
ou bien
rollback tran

HTH

br

"Nico" wrote in message
news:
> Bonjour,
> je suis nouveau venu sur SQL Server et pour faire des tests je voudrais
> poser des verrous sur des enregistrements
> (pour simuler un probleme dans une transaction, et verifier que mes
rollback
> se font bien, ect...)
>
> Merci
>
> Nicolas
>
>




Avatar
Fred BROUARD
c'est le fonctionnement normal d'un SGBDR consistant !!!

Le seul moyen est soit le commit ou rollback imposé, soit la déconnexion brutale
de l'utilisateur....

A +

Nico a écrit:
merci pour ta réponse, cela m'a effectivement permis de bloquer ma
transaction mais celle-ci reste en attente jusqu'a ce que je fasse le commit
manquant
il y a surement un time out à configurer mais je ne trouve pas !
meme probleme lorsque j'appelle ma procédure contenant la transaction via
foxPro, le programme "ne répond pas" jusqu' a ce que je fasse le commit

"bruno reiter [MVP]" <remove.this! a écrit dans le message
de news:

il y a toujours des verrous posés, mais heureusement ils sont lachés en



fin

de transaction.

si tu veux garder un verrou, démarres une transaction utilisateur que tu



ne

termines pas
ex

begin tran
update table
set ...
where ...

ou

begin tran
select ... from table with (holdlock)
where ...

tu pourras pour terminer faire
commit tran
ou bien
rollback tran

HTH

br

"Nico" wrote in message
news:

Bonjour,
je suis nouveau venu sur SQL Server et pour faire des tests je voudrais
poser des verrous sur des enregistrements
(pour simuler un probleme dans une transaction, et verifier que mes



rollback

se font bien, ect...)

Merci

Nicolas













--
Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
************************ www.datasapiens.com *************************