Saya memiliki transaksi yang berjalan lama (disebut, katakanlah, T1) yang melakukan beberapa penghapusan, pembaruan, dan sisipan pada tabel di SQL Server 2008 R2. Pada saat yang sama, proses lain secara berkala menjalankan pernyataan pilih dari tabel ini.
Di bawah pengaturan isolasi default (BACA KOMITMEN, saya pikir?), T1 memblokir setiap pernyataan pilihan dari berjalan sampai transaksi dilakukan atau dibatalkan.
Yang ingin saya lihat adalah pernyataan pilih berfungsi pada data yang konsisten bahkan saat transaksi sedang berlangsung. Saya percaya isolasi SNAPSHOT dapat membantu, tetapi saya tidak yakin apakah saya akan ke arah yang benar. Apakah ini akan menjadi tingkat isolasi terbaik untuk aplikasi ini?
Kedua, saya tidak memiliki kontrol atas proses yang memanggil pernyataan pilih, tetapi saya memiliki kontrol atas aplikasi .NET yang memanggil T1. Apakah perubahan level isolasi diperlukan pada pernyataan pilih dan T1, atau apakah itu cukup untuk menandai hanya T1 yang memiliki level isolasi yang berbeda?