Bagikan melalui


Transaksi dan konkurensi

Berlaku untuk: .NET Framework .NET .NET Standard

Mengunduh ADO.NET

Transaksi terdiri dari satu perintah atau sekelompok perintah yang dijalankan sebagai paket. Transaksi memungkinkan Anda menggabungkan beberapa operasi ke dalam satu unit kerja. Jika kegagalan terjadi pada satu titik dalam transaksi, semua pembaruan dapat digulung balik ke status pra-transaksi mereka.

Transaksi harus sesuai dengan properti ACID—atomitas, konsistensi, isolasi, dan durabilitas—untuk menjamin konsistensi data. Sebagian besar sistem database relasional, seperti Microsoft SQL Server, mendukung transaksi dengan menyediakan fasilitas penguncian, pengelogan, dan manajemen transaksi setiap kali aplikasi klien melakukan operasi pembaruan, penyisipan, atau penghapusan.

Catatan

Transaksi yang melibatkan beberapa sumber daya dapat menurunkan konkurensi jika kunci ditahan terlalu lama. Oleh karena itu, lakukan transaksi sesingkat mungkin.

Jika transaksi melibatkan beberapa tabel dalam database atau server yang sama, transaksi eksplisit dalam prosedur tersimpan sering berkinerja lebih baik. Anda dapat membuat transaksi dalam prosedur tersimpan SQL Server dengan menggunakan pernyataan Transact-SQL BEGIN TRANSACTION, COMMIT TRANSACTION, dan ROLLBACK TRANSACTION. Untuk informasi selengkapnya, lihat Buku SQL Server Online.

Transaksi yang melibatkan manajer sumber daya yang berbeda, seperti transaksi antara SQL Server dan Oracle, memerlukan transaksi terdistribusi.

Di bagian ini

Transaksi lokal
Menunjukkan cara melakukan transaksi terhadap database.

Transaksi terdistribusi
Menjelaskan cara melakukan transaksi terdistribusi dalam ADO.NET.

Integrasi System.Transactions dengan SQL Server
Menjelaskan System.Transactions integrasi dengan SQL Server untuk bekerja dengan transaksi terdistribusi.

Konkurensi optimis menggambarkan konkurensi optimis dan pesimis, dan bagaimana Anda dapat menguji pelanggaran konkurensi.

Lihat juga