L'articolo in linea MSDN " Isolamento snapshot in SQL Server " afferma:
- "Un livello di isolamento ha un ambito a livello di connessione e, una volta impostato per una connessione con l'istruzione SET TRANSACTION ISOLATION LEVEL, rimane attivo fino alla chiusura della connessione o all'impostazione di un altro livello di isolamento. Quando una connessione viene chiusa e restituita al pool , viene mantenuto il livello di isolamento dall'ultima istruzione SET TRANSACTION ISOLATION LEVEL . Le connessioni successive che riutilizzano una connessione in pool utilizzano il livello di isolamento in vigore al momento in cui la connessione è in pool "
Non è un paragrafo contraddittorio ("fino a" vs. "mantenuto")?
Quindi, se "il livello di isolamento dall'ultima istruzione SET TRANSACTION ISOLATION LEVEL viene mantenuto " dopo aver chiuso la connessione e averlo restituito a un pool, come dovrebbe essere compreso:
- che il livello di isolamento predefinito avrà un valore arbitrario (connessioni diverse nel pool avranno livelli di isolamento diversi e il suo valore dipenderà dalla riapertura della connessione)?
- o tutti i valori predefiniti su tutte le connessioni nel pool verranno cambiati in ultimo? ma di nuovo abbastanza sconosciuto prima d'ora?