La question est assez simple, comme le dit le titre. Cependant, je ne trouve aucune référence pour confirmer ou contredire cela.
Le problème me conduisant à cette question est que j'ai une vue en rejoignant plusieurs autres vues et tables. L'une de ces tableaux (appelons la table A) n'a pas eu de couverture indice non clusterné sur les colonnes dans les conditions de jointure et une analyse d'index en cluster a été publiée à la place.
L'effet était que toutes les autres requêtes qui utilisaient également la table A et utilisaient une analyse d'index en cluster à effectuer attendre après la première requête (pas de blocage, car j'ai un délai important). Dès que j'ai créé un index non clusterné sur la table A pour les colonnes de jointure, l'indice en clustered n'était plus utilisé et les requêtes ont commencé à fonctionner correctement en parallèle.
Quoi qu'il en soit, si mon hypothèse est correcte, existe-t-il un moyen de détecter la serrure? Je n'ai pas encore essayé d'émettre des drapeaux de trace lié à verrouillage? Je n'ai utilisé que 'sp_who2' et quelques autres requêtes trouvées ici pour l'instant.
Si vous avez trébuché sur cela avant, veuillez partager vos pensées.
Il y a beaucoup de nombreux autres facteurs en jeu.
Je suggère que vous suivez la procédure décrite dans capturer des statistiques d'attente pour une seule opération Pour capturer les statistiques d'attente des scans que vous avez observés comme blocage. SE Si en effet, ils bloquent des serrures tenues par l'opération de balayage de la table. Si le scénario est vraiment tel que vous avez décrit (lire scanner contre d'autres opérations de lecture), il n'y a aucune raison de bloquer pour que autre chose soit en jeu. Vous pouvez également donner sp_whoisactive un coup.