Je n'essaie pas de démarrer une discussion de type Windows / Mac.
Personnellement, je n'ai pas besoin de convaincre, ce NOLOCK
n'est pas une bonne idée comme pratique réflexive. Il semble que lorsque vous développez, tout devrait être utile et non réactionnaire (/ amen)
Alors ... le programmeur responsable insiste sur NOLOCK
la voie à suivre. Recommande avec toutes les requêtes ad hoc et chaque fois que vous interrogez la production. Je n'ai pas vu de procédure stockée sans indice nolock sur chaque table.
Je ne veux pas être ce gars qui arrive et dit à tout le monde qu'une croyance fondamentale est fausse sans quelque chose pour la sauvegarder.
En regardant les sessions de commentaires sous les différents articles de blog, l'envoi d'un lien peut ne pas être suffisant. Des croyances anciennes, etc ... Certaines personnes ne sont pas convaincues que ce soit un problème. Voir la section Commentaires sous chaque article de blog nolock que j'ai lu.
Actuellement, d'autres DBA se débattent avec un blocage mystérieux. Comment déterminer si les NOLOCK sont la source?
Il a été suggéré de regarder XML à partir de traces, etc., mais cela n'indiquera pas explicitement que les blocages sont à l'origine du problème, n'est-ce pas? Je n'ai jamais vu de messages d'erreur aussi simples. Est-ce vrai?
Sinon, comment ces blocages pourraient-ils être épinglés?
Les déclarations DDL comme CREATE
seraient un indice. Y a-t-il des sorties sur lesquelles je pourrais pointer ou des données que je pourrais trouver qui pourraient corroborer ma théorie avant de déclencher l'alarme?
Ou suis-je en train d'exécuter des indicateurs de trace ou des événements étendus pour identifier ce qui fonctionne lorsque les blocages se produisent, puis déduire des instructions DDL?
En regardant toutes les différentes façons dont les données peuvent être gâchées avec des astuces nolock, il semble difficile de déterminer de manière décisive.
la source