Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk: SQL Server
Detail
| Atribut | Nilai |
|---|---|
| Nama Produk | SQL Server |
| ID Peristiwa | 3988 |
| Sumber Kejadian | MSSQLSERVER |
| Komponen | SQLEngine |
| Nama Simbolis | XACT_UNSUPPORT_PARALLEL_TRAN2 |
| Teks Pesan | Transaksi baru tidak diperbolehkan karena ada utas lain yang berjalan dalam sesi. |
Penjelasan
Kesalahan ini terjadi saat Anda menjalankan kueri terdistribusi yang menggabungkan beberapa tabel yang dihosting oleh instans jarak jauh SQL Server saat XACT_ABORT pengaturan sesi AKTIF. Pesan kesalahan yang mirip dengan yang berikut ini dilaporkan kepada pengguna:
Msg 3988, Level 16, State 1, Line #
Transaksi baru tidak diperbolehkan karena ada utas lain yang berjalan dalam sesi.
Penyebab
Ada beberapa batasan desain dalam cara SQL Server menangani kueri terdistribusi (DQ) ketika kondisi berikut ini benar:
- SQL Server menggabungkan beberapa tabel dari satu sumber data SQL Server jarak jauh.
- Sesi yang mengeluarkan kueri tidak terdaftar dalam transaksi terdistribusi.
Dalam situasi ini, upaya untuk menjalankan kueri dapat menimbulkan salah satu dari dua kesalahan yang disebutkan di bagian Penjelasan .
Tindakan pengguna
Untuk mengatasi masalah ini, sertakan kueri terdistribusi dalam pernyataan 'mulai transaksi terdistribusi':
BEGIN DISTRIBUTED TRANSACTION
/*The actual Distributed Query goes next, outside of comments*/
COMMIT TRANSACTION