OVH Cloud OVH Cloud

Lock ressource

6 réponses
Avatar
Brigitte
Bonjour,

Pouvez-vous me dire comment résoudre ceci ? :

The SQL Server cannot obtain a LOCK resource at this time. Rerun your
statement when there are fewer active users or ask the system administrator
to check the SQL Server lock and memory configuration.

Merci

Bonne journée


Brigitte

6 réponses

Avatar
Philippe T [MS]
Bonjour,

Vous pouvez utiliser sp_lock pour voir les locks et utiliser sp_who /
sp_who2

Phil.
________________________________________________________
Philippe TROTIN
Microsoft Services France http://www.microsoft.com/france
"Brigitte" wrote in message
news:
Bonjour,

Pouvez-vous me dire comment résoudre ceci ? :

The SQL Server cannot obtain a LOCK resource at this time. Rerun your
statement when there are fewer active users or ask the system
administrator
to check the SQL Server lock and memory configuration.

Merci

Bonne journée


Brigitte


Avatar
Rudi Bruchez
Brigitte a écrit:

The SQL Server cannot obtain a LOCK resource at this time. Rerun your
statement when there are fewer active users or ask the system administrator
to check the SQL Server lock and memory configuration.



Bonjour,

Essaie de lancer ceci (tu dois avoir des droits sa) :

sp_configure 'show advanced options',1
Reconfigure
exec sp_configure 'locks'

pour voir si le paramètre est à zéro. Si non, cela veut dire que le nombre
de locks concurrents a été limité sur le serveur.

Cela pourrait aussi venir d'un trace flag qui empêche l'escalade des locks:
http://support.microsoft.com/default.aspx?scid=kb;en-us;323630&sd=tech
Si c'est ça, c'est une assez mauvaise idée. Tu as des indications pour
enlever le flag dans l'article.

--
Rudi Bruchez, MCDBA
http://www.babaluga.com/
Avatar
Brigitte
Bonjour,

J'ai ces paramètres :
locks 5000 2147483647 30000 30000
Il n' y a pas de trace flag.
Par contre, je voulais savoir si le hotfix installé qui permet de résoudre
les problèmes de networkio peut occasionner ce problème :
http://support.microsoft.com/default.aspx?scid=kb;en-us;884554

Merci

Bonne journée

Brigitte
"Rudi Bruchez" <"rudi#nospam#[at]babaluga" a écrit :
Par contre, je voulais savoi
Brigitte a écrit:

> The SQL Server cannot obtain a LOCK resource at this time. Rerun your
> statement when there are fewer active users or ask the system administrator
> to check the SQL Server lock and memory configuration.

Bonjour,

Essaie de lancer ceci (tu dois avoir des droits sa) :

sp_configure 'show advanced options',1
Reconfigure
exec sp_configure 'locks'

pour voir si le paramètre est à zéro. Si non, cela veut dire que le nombre
de locks concurrents a été limité sur le serveur.

Cela pourrait aussi venir d'un trace flag qui empêche l'escalade des locks:
http://support.microsoft.com/default.aspx?scid=kb;en-us;323630&sd=tech
Si c'est ça, c'est une assez mauvaise idée. Tu as des indications pour
enlever le flag dans l'article.

--
Rudi Bruchez, MCDBA
http://www.babaluga.com/



Avatar
Rudi Bruchez
Brigitte a écrit:

J'ai ces paramètres :
locks 5000 2147483647 30000 30000
Il n' y a pas de trace flag.



Ce résultat signifie que quelqu'un a limté le nombre de locks simultanés à
30'000... pour économiser de la RAM peut-être ?
C'est de ce côté qu'il faut chercher. La valeur par défaut est 0, ce qui
permet à SQL Server d'allouer dynamiquement de l'espace mémoire pour les
locks.

Sur un système de production, 30'000 est peut-être insuffisant. Regarde
peut-être avec le performance monitor le compteur locks requests/sec dans
le groupe SQL Server - locks, pour voir comment évolue ton serveur en terme
de besoin de locks (qui peuvent grandir si tes requêtes font beaucoup de
scan).

Note que Microsoft recommande de laisser cette valeur de configuration à 0,
et c'est le plus sage, à moins peut-être que la serveur soit très limité en
mémoire.

--
Rudi Bruchez, MCDBA
http://www.babaluga.com/
Avatar
Brigitte
Merci, beaucoup.
Je peux donc faire un sp_configure 'locks', '0'
reconfigure with override.

Bonne fin de journée

Brigitte

"Rudi Bruchez" <"rudi#nospam#[at]babaluga" a écrit :

Brigitte a écrit:

> J'ai ces paramètres :
> locks 5000 2147483647 30000 30000
> Il n' y a pas de trace flag.

Ce résultat signifie que quelqu'un a limté le nombre de locks simultanés à
30'000... pour économiser de la RAM peut-être ?
C'est de ce côté qu'il faut chercher. La valeur par défaut est 0, ce qui
permet à SQL Server d'allouer dynamiquement de l'espace mémoire pour les
locks.

Sur un système de production, 30'000 est peut-être insuffisant. Regarde
peut-être avec le performance monitor le compteur locks requests/sec dans
le groupe SQL Server - locks, pour voir comment évolue ton serveur en terme
de besoin de locks (qui peuvent grandir si tes requêtes font beaucoup de
scan).

Note que Microsoft recommande de laisser cette valeur de configuration à 0,
et c'est le plus sage, à moins peut-être que la serveur soit très limité en
mémoire.

--
Rudi Bruchez, MCDBA
http://www.babaluga.com/



Avatar
Brigitte
"Rudi Bruchez" <"rudi#nospam#[at]babaluga" a écrit :

Brigitte a écrit:

> J'ai ces paramètres :
> locks 5000 2147483647 30000 30000
> Il n' y a pas de trace flag.

Ce résultat signifie que quelqu'un a limté le nombre de locks simultanés à
30'000... pour économiser de la RAM peut-être ?
C'est de ce côté qu'il faut chercher. La valeur par défaut est 0, ce qui
permet à SQL Server d'allouer dynamiquement de l'espace mémoire pour les
locks.

Sur un système de production, 30'000 est peut-être insuffisant. Regarde
peut-être avec le performance monitor le compteur locks requests/sec dans
le groupe SQL Server - locks, pour voir comment évolue ton serveur en terme
de besoin de locks (qui peuvent grandir si tes requêtes font beaucoup de
scan).

Note que Microsoft recommande de laisser cette valeur de configuration à 0,
et c'est le plus sage, à moins peut-être que la serveur soit très limité en
mémoire.

--
Rudi Bruchez, MCDBA
http://www.babaluga.com/