Artikel online MSDN " Isolasi Snapshot di SQL Server " menyatakan:
- "Level isolasi memiliki lingkup koneksi yang luas, dan sekali diatur untuk koneksi dengan pernyataan SET TRANSACTION ISOLATION, ia akan tetap berlaku sampai koneksi ditutup atau level isolasi lain ditetapkan. Ketika koneksi ditutup dan kembali ke pool , level isolasi dari pernyataan LEVEL SET TRANSACTION ISOLATION SET dipertahankan . Koneksi selanjutnya menggunakan kembali koneksi gabungan menggunakan level isolasi yang berlaku pada saat koneksi dikumpulkan "
Bukankah itu paragraf yang saling bertentangan ("sampai" vs. "dipertahankan")?
Kemudian, jika "level isolasi dari pernyataan SET TRANSACTION ISOLATION LEVEL terakhir dipertahankan " setelah menutup koneksi dan mengembalikannya ke pool, bagaimana itu harus dipahami:
- bahwa tingkat isolasi default akan memiliki nilai arbitrer (koneksi yang berbeda di kumpulan akan memiliki tingkat isolasi yang berbeda, dan nilainya akan tergantung pada koneksi yang dibuka kembali)?
- atau semua nilai default pada semua koneksi dalam kelompok ini akan diubah menjadi yang terakhir? tapi sekali lagi tidak diketahui sebelumnya?
Bukan untuk saya, tetapi saya bisa melihat ada cara lain untuk membacanya. Jika Anda ingin dokumentasi diperbarui agar lebih jelas, tempat yang tepat untuk meminta ini adalah di Microsoft Connect . Orang-orang di sini tidak memelihara dokumentasi Microsoft.
Jika Anda menggunakan kembali koneksi yang terkumpul, maka ya, tingkat isolasi "yang sudah ada" adalah apa yang berlaku ketika koneksi yang dikumpulkan terakhir ditutup. Praktik terbaik adalah secara eksplisit mengatur tingkat isolasi yang diperlukan saat menghubungkan.
Tidak.
sumber
SQL Server 2014 sekarang me-reset tingkat isolasi koneksi gabungan untuk sebagian besar versi protokol TDS. Versi SQL Server sebelumnya tidak me-reset level isolasi.
sumber