Bonjour à tous

Tout d'abord, merci pour tout ce que j'ai appris grâce à ce forum depuis des années.

Si je prend la plume virtuelle c’est que je n’ai pas réussi à trouver mon bonheur cette fois.


Je cherche à identifier les logins windows qui me bloque l’accès à certaines tables.

Par exemple à la table F_DOCENTETE.

Je sais identifier la liste des documents ouverts grâce à cette fonction :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
DECLARE
	@lBase int,
	@lTable int,
	@lRes int
 
SELECT @lBase = DB_ID()
SELECT @lTable = OBJECT_ID(@cbFile)
EXECUTE master..xp_CBIsRecordLock @@SPID,@lBase,@lTable,@cbMarq,@lRes OUTPUT
RETURN @lRes
Je peux savoir qui se cache derrière un processus, mais il faut que je connaisse son ID.
Je pourrais me servir d'une requête dans ce genre-là.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
SELECT NT_USERNAME,* FROM MASTER..SYSPROCESSES WHERE spid = @@SPID
Bref, je sais quels documents sont bloqués.
Je sais comment identifier si j’ai l’ID, mais je ne sais pas identifier qui bloque quoi ou qui est sur quoi.

Une idée ?

Précision d'importance, il faut que cela fonctionne sous SQL2000.