Saya memiliki dua prosedur tersimpan yang menemui jalan buntu ketika sistem sedang dimuat. Proc A memilih dari tabel sementara Proc B memasukkan ke dalam tabel yang sama. Grafik Kunci menunjukkan bahwa Proc A memiliki kunci halaman mode S yang Proc B menginginkan kunci mode IX, namun Proc A sedang menunggu kunci halaman mode S untuk halaman yang berbeda yang Proc B sudah memiliki kunci halaman mode IX aktif. .
Jelas ini bisa disortir dengan memastikan bahwa kedua kueri mengunci halaman di tabel dalam urutan yang sama, tapi saya tidak tahu bagaimana melakukannya.
Pertanyaan saya adalah: Bagaimana SQL Server menentukan urutan untuk mengunci halaman saat melakukan INSERT dan SELECT dan bagaimana Anda dapat memodifikasi perilaku ini?