SET REMOTE_PROC_TRANSACTIONS (Transact-SQL)

Berlaku untuk:SQL Server

Menentukan bahwa ketika transaksi lokal aktif, menjalankan prosedur tersimpan jarak jauh memulai transaksi terdistribusi Transact-SQL yang dikelola oleh Koordinator Transaksi Terdistribusi Microsoft (MS DTC).

Penting

Fitur ini akan dihapus dalam versi SQL Server yang akan datang. Hindari menggunakan fitur ini dalam pekerjaan pengembangan baru, dan rencanakan untuk memodifikasi aplikasi yang saat ini menggunakan fitur ini. Opsi ini disediakan untuk kompatibilitas mundur untuk aplikasi yang menggunakan prosedur tersimpan jarak jauh. Alih-alih mengeluarkan panggilan prosedur tersimpan jarak jauh, gunakan kueri terdistribusi yang mereferensikan server tertaut. Ini didefinisikan dengan menggunakan sp_addlinkedserver.

Konvensi sintaks transact-SQL

Sintaksis

  
SET REMOTE_PROC_TRANSACTIONS { ON | OFF }   

Catatan

Untuk melihat sintaks Transact-SQL untuk SQL Server 2014 (12.x) dan versi yang lebih lama, lihat Dokumentasi versi sebelumnya.

Argumen

AKTIF | OFF
Ketika ON, transaksi terdistribusi Transact-SQL dimulai ketika prosedur tersimpan jarak jauh dijalankan dari transaksi lokal. Saat NONAKTIF, memanggil prosedur tersimpan jarak jauh dari transaksi lokal tidak memulai transaksi terdistribusi Transact-SQL.

Keterangan

Ketika REMOTE_PROC_TRANSACTIONS AKTIF, memanggil prosedur tersimpan jarak jauh memulai transaksi terdistribusi dan mendaftarkan transaksi dengan MS DTC. Instans SQL Server yang melakukan panggilan prosedur tersimpan jarak jauh adalah asal transaksi dan mengontrol penyelesaian transaksi. Ketika pernyataan COMMIT TRANSACTION atau ROLLBACK TRANSACTION berikutnya dikeluarkan untuk koneksi, instans pengontrol meminta MS DTC mengelola penyelesaian transaksi terdistribusi di seluruh komputer yang terlibat.

Setelah transaksi terdistribusi Transact-SQL dimulai, panggilan prosedur tersimpan jarak jauh dapat dilakukan ke instans SQL Server lain yang telah didefinisikan sebagai server jarak jauh. Server jarak jauh semuanya terdaftar dalam transaksi terdistribusi Transact-SQL, dan MS DTC memastikan bahwa transaksi selesai terhadap setiap server jarak jauh.

REMOTE_PROC_TRANSACTIONS adalah pengaturan tingkat koneksi yang dapat digunakan untuk mengambil alih opsi trans proc jarak jauh sp_configure tingkat instans.

Ketika REMOTE_PROC_TRANSACTIONS NONAKTIF, panggilan prosedur tersimpan jarak jauh tidak dilakukan sebagai bagian dari transaksi lokal. Modifikasi yang dilakukan oleh prosedur tersimpan jarak jauh dilakukan atau digulung balik pada saat prosedur tersimpan selesai. Pernyataan COMMIT TRANSACTION atau ROLLBACK TRANSACTION berikutnya yang dikeluarkan oleh koneksi yang menyebut prosedur tersimpan jarak jauh tidak berpengaruh pada pemrosesan yang dilakukan oleh prosedur.

Opsi REMOTE_PROC_TRANSACTIONS adalah opsi kompatibilitas yang hanya memengaruhi panggilan prosedur tersimpan jarak jauh yang dilakukan ke instans SQL Server yang didefinisikan sebagai server jarak jauh menggunakan sp_addserver. Opsi ini tidak berlaku untuk kueri terdistribusi yang menjalankan prosedur tersimpan pada instans yang didefinisikan sebagai server tertaut menggunakan sp_addlinkedserver.

Pengaturan SET REMOTE_PROC_TRANSACTIONS diatur pada waktu eksekusi atau run time dan bukan pada waktu penguraian.

Izin

Memerlukan keanggotaan dalam peran publik .

Lihat Juga

MULAI TRANSAKSI TERDISTRIBUSI (T-SQL)
Pernyataan SET (Transact-SQL)