L'article en ligne MSDN « Isolation de capture instantanée dans SQL Server » indique:
- «Un niveau d'isolement a une portée à l'échelle de la connexion et une fois défini pour une connexion avec l'instruction SET TRANSACTION ISOLATION LEVEL, il reste en vigueur jusqu'à ce que la connexion soit fermée ou qu'un autre niveau d'isolement soit défini. Lorsqu'une connexion est fermée et renvoyée au pool , le niveau d'isolement de la dernière instruction SET TRANSACTION ISOLATION LEVEL est conservé . Les connexions suivantes réutilisant une connexion regroupée utilisent le niveau d'isolement qui était en vigueur au moment où la connexion est regroupée "
N'est-ce pas un paragraphe contradictoire ("jusqu'à" vs "retenu")?
Ensuite, si "le niveau d'isolement de la dernière instruction SET TRANSACTION ISOLATION LEVEL est conservé " après la fermeture de la connexion et son retour dans un pool, comment il doit être compris:
- que le niveau d'isolement par défaut aura une valeur arbitraire (différentes connexions dans le pool auront différents niveaux d'isolement, et sa valeur dépendra de la connexion étant rouverte)?
- ou toutes les valeurs par défaut sur toutes les connexions dans votre pool seront modifiées pour durer? mais encore une fois assez inconnu à l'avance?