SQL Server - comment définir (nolock) hint par défaut?
-
10-07-2019 - |
Question
y a-t-il un moyen de dire au serveur SQL d'utiliser le conseil (nolock) ou chaque sélection dans une procédure stockée?
est assez fastidieux de l'ajouter à chaque sélection ....
La solution 4
a trouvé ceci ....
Comment forcer nolock hint pour les connexions au serveur SQL
semble que le meilleur moyen d'y parvenir est de publier un
DÉFINITION DU NIVEAU D'ISOLATION DE TRANSACTION EN LECTURE NON COMMANDÉE
une autre idée ???
ps
une autre question connexe ...
Autres conseils
Comme d’autres le disent très justement, une opération globale (nolock) est réalisée à l'aide de READ UNCOMMITTED.
Cependant, avant de suivre cette voie, il vaut la peine d'essayer d'abord READ COMMITTED SNAPSHOT. Cela signifie que vos lectures ne seront pas verrouillées par des insertions / mises à jour en cours et que les données ne sont pas sales, elles sont simplement obsolètes.
Je pense que c'est ce que vous recherchez ...
DÉFINITION DU NIVEAU D'ISOLATION DE TRANSACTION EN LECTURE NON COMMANDÉE
Vous souhaitez utiliser la syntaxe suivante:
DÉFINITION DU NIVEAU D'ISOLATION DE TRANSACTION EN LECTURE NON COMMANDÉE
J'ai trouvé ceci en consultant l'indicateur de table NOLOCK situé ici . . L'indicateur de table WITH (NOLOCK) équivaut à définir le niveau d'isolement sur READ UNCOMMITTED. Voici l'extrait de MSDN :
NOLOCK Est équivalent à READUNCOMMITTED. Pour plus d'informations, voir READUNCOMMITTED plus loin dans cette rubrique.
Cependant, vous pouvez vous retrouver avec des données incorrectes. En 2005, il est préférable d’utiliser l’isolation de capture instantanée: "Quand l'isolement instantané est utile et quand ça fait mal" http://www.devx.com/dbzone/Article/32957