1

Je suis en train d'obtenir cet interblocage même si j'ai défini le niveau de transaction sur Non validée. Y a-t-il quelque chose que je fais de mal? Je pensais que je devais faire une lecture sale ici.Blocage de SQL Server avec niveau d'isolation de transaction Lecture non validée

SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; 

    SELECT 
      DISTINCT 
      venueCourt.Id, 

Erreur

System.Data.SqlClient.SqlException: Transaction (Process ID 73) was deadlocked on thread | communication buffer resources with another process and has been chosen as the deadlock victim. Rerun the transaction. 
+0

Pouvez-vous partager plus de la requête? Je me demande s'il y a quelque chose d'autre qui l'affecte. En outre, si cela s'exécute dans une procédure stockée ou un déclencheur, le niveau d'isolation est temporaire. – David

+0

Plan d'exécution réel s'il vous plaît. L'image est suffisante pour commencer. – usr

+0

SP, et beaucoup de jointures dans la requête –

Répondre

0

Vous pouvez obtenir si la requête des interblocages est parallèle sur vous ... bien que je serais assez surpris par une telle requête simple.

Essayez d'ajouter OPTION (MAXDOP 1) à la fin de la requête.

+0

Eh bien la requête n'est pas si simple, assez complexe, je viens d'ajouter le sommet de celui-ci –

+0

Pouvez-vous expliquer ce que OPTION (MAXDOP 1) va faire? –

+0

Il force SQL Server à n'utiliser qu'un seul cœur de processeur (pas de parallélisme). Devrait éclaircir votre impasse si c'est ce qui le cause. – TDavis