Seperti jawaban lain yang dikatakan, sp_reset_connection
menunjukkan bahwa kumpulan koneksi sedang digunakan kembali. Waspadai satu konsekuensi tertentu!
Blog MSDN Jimmy Mays berkata:
sp_reset_connection TIDAK mereset tingkat isolasi transaksi ke default server dari pengaturan koneksi sebelumnya.
PERBARUI :Dimulai dengan SQL 2014, untuk driver klien dengan TDS versi 7.3 atau lebih tinggi, tingkat isolasi transaksi akan diatur ulang kembali ke default.
ref:SQL Server:Tingkat isolasi bocor di seluruh koneksi gabungan
Berikut ini beberapa informasi tambahan:
Apa yang dilakukan sp_reset_connection?
Lapisan API akses data seperti ODBC, OLE-DB dan System.Data.SqlClient semuanya memanggil prosedur tersimpan (internal)p_reset_connection saat menggunakan kembali koneksi dari kumpulan koneksi. Ini dilakukan untuk mengatur ulang status koneksi sebelum digunakan kembali, namun tidak ada yang didokumentasikan apa pun yang disetel ulang. Artikel ini mencoba mendokumentasikan bagian-bagian dari koneksi yang direset.
sp_reset_connection menyetel ulang aspek koneksi berikut:
Semua status dan nomor kesalahan (seperti @@error)
Menghentikan semua EC (konteks eksekusi) yang merupakan utas anak dari EC induk yang menjalankan kueri paralel
Menunggu I/Operasi luar biasa yang luar biasa
Membebaskan semua buffer yang ditahan di server dengan koneksi
Membuka kunci semua sumber daya buffer yang digunakan oleh koneksi
Melepaskan semua memori yang dialokasikan yang dimiliki oleh koneksi
Menghapus pekerjaan atau tabel sementara yang dibuat oleh koneksi
Membunuh semua kursor global yang dimiliki oleh koneksi
Menutup semua pegangan SQL-XML terbuka yang terbuka
Menghapus semua tabel kerja terkait SQL-XML yang terbuka
Menutup semua tabel sistem
Menutup semua tabel pengguna
Jatuhkan semua objek sementara
Membatalkan transaksi terbuka
Cacat dari transaksi terdistribusi saat terdaftar
Mengurangi jumlah referensi untuk pengguna di database saat ini yang melepaskan kunci database bersama
Membebaskan kunci yang diperoleh
Melepaskan pegangan yang diperoleh
Mengatur ulang semua opsi SET ke nilai default
Menyetel ulang nilai @@rowcount
Mereset nilai @@identity
Menyetel ulang opsi penelusuran tingkat sesi apa pun menggunakan dbcc traceon()
Setel ulang CONTEXT_INFO ke
NULL
di SQL Server 2005 dan yang lebih baru [ bukan bagian dari artikel asli ]sp_reset_connection TIDAK akan disetel ulang:
Konteks keamanan, itulah sebabnya penggabungan koneksi cocok dengan koneksi berdasarkan string koneksi yang tepat
Peran aplikasi dimasukkan menggunakan sp_setapprole, karena peran aplikasi tidak dapat dikembalikan sama sekali sebelum SQL Server 2005. Mulai SQL Server 2005, peran aplikasi dapat dikembalikan, tetapi hanya dengan informasi tambahan yang bukan bagian dari sesi. Sebelum menutup koneksi, peran aplikasi harus dikembalikan secara manual melalui sp_unsetapprole menggunakan nilai "cookie" yang diambil saat
sp_setapprole
dijalankan.
Catatan:Saya menyertakan daftarnya di sini karena saya tidak ingin daftar itu hilang di web sementara.