Pemrosesan transaksi kaskade asinkron
Transaksi tertentu dapat dikonfigurasi untuk kaskade di semua rekaman terkait. Ini berarti perubahan pada rekaman induk ditransaksikan (mengalir ke bawah) semua rekaman turunan. Relasi berantai dikonfigurasi pada tingkat tabel. Untuk informasi lebih lanjut tentang kaskading Relasi, lihat Mengkonfigurasi perilaku kaskading relasi tabel.
Mode sinkron vs. asinkron
Secara default, operasi Cascading dilakukan sebagai transaksi sinkron. Untuk transaksi Cascading sinkron, Semua rekaman yang terkena dampak diidentifikasi oleh sistem. Setelah rekaman diproses, file akan dikunci oleh sistem. Setelah semua perubahan selesai, rekaman akan dibuka dan transaksi selesai.
Transaksi sinkron dengan sejumlah besar catatan dapat menyebabkan masalah performa untuk lingkungan ketika transaksi yang berjalan lama gagal karena batas waktu server. Catatan dikunci, mencegah pekerjaan lain dan transaksi pengguna yang beroperasi pada catatan yang sama untuk dieksekusi. Selain itu, transaksi yang berjalan lama dapat mengakibatkan backlog transaksi dan permintaan yang tertunda yang menurunkan kinerja sistem dan dapat menyebabkan penghentian kerja.
Jika lingkungan mengalami waktu tunggu atau terdegradasi kinerja sementara operasi Cascading sinkron sedang berlangsung, lingkungan Anda dapat meraih manfaat dengan mengaktifkan mode asinkron. Perbedaan utama antara mode dijelaskan dalam tabel berikut.
Mode Sinkron | Mode Asinkron |
---|---|
Tidak ada pekerjaan lain yang dapat dieksekusi di seluruh rangkaian rekaman yang dipilih (langsung atau Cascading) hingga operasi Cascading selesai. | Untuk Tetapkan, Hapus, dan Gabungkan, perubahan berjenjang dikelompokkan, hanya mengunci rekaman yang sedang diproses dalam batch. Hal ini memungkinkan pekerjaan lain untuk dijalankan selama operasi perubahan Cascading lengkap. |
Bila pekerjaan selesai semua data menunjukkan nilai baru yang diinginkan. | Saat pekerjaan berjalan setiap kumpulan yang telah selesai menampilkan nilai yang diinginkan. Ini berarti bahwa ada saatnya ketika beberapa data menunjukkan nilai yang diinginkan dan beberapa menunjukkan nilai asli hingga operasi penuh selesai. Ini disebut sebagai "konsistensi akhirnya." |
Jika rekaman tunggal gagal, semua data dikembalikan ke nilai asli. Pengembalian memerlukan pengeditan ulang semua rekaman yang telah selesai, yang membutuhkan lebih banyak waktu. | Jika pekerjaan tunggal gagal, dicoba ulang beberapa kali untuk mencoba penyelesaian. Jika pekerjaan tidak dapat diselesaikan, kegagalan dicatat di area Pekerjaan Sistem. Perhatikan bahwa rekaman yang berhasil diselesaikan mempertahankan nilai baru. |
Jika salah satu rekaman dalam daftar berjenjang memiliki nilai yang berbeda dari nilai yang diharapkan, pekerjaan gagal dan dikembalikan. Misalnya, asumsikan bahwa rekaman awal milik Pemilik 1 dan operasi berjenjang ingin mengubahnya menjadi Pemilik 2. Jika salah satu rekaman downstream, terkait telah berubah menjadi Pemilik 3 atau dihapus sebelum penguncian terjadi, seluruh pekerjaan akan dikembalikan. | Untuk Tetapkan, operasi selalu berfungsi dalam mode timpa, mengubah nilai saat ini ke nilai baru berdasarkan hubungan induk-anak. Tidak ada kegagalan pekerjaan karena ketidakcocokan nilai asli. Untuk Hapus, jika rekaman yang diharapkan sebagai bagian dari himpunan hilang, semua rekaman hingga titik kegagalan dianggap selesai. Pengguna atau admin dapat mengeksekusi kembali pekerjaan yang gagal, yang menghitung ulang pekerjaan untuk dilanjutkan tanpa rekaman yang hilang. Untuk Gabungan, jika ada masalah dengan rekaman yang hilang, pekerjaan akan dicoba ulang dan dijalankan tanpa rekaman yang hilang. |
Mode Asinkron
Ketika transaksi berjenjang memenuhi ambang batas untuk rekaman yang disertakan, rekaman diproses secara asinkron,
Operasi | Ambang Batas |
---|---|
Tetapkan | 1.000 Rekaman |
Delete | 5,000 Rekaman |
Penggabungan | 1.000 Rekaman |
Melacak kemajuan Operasi asinkron
Administrator dapat memantau pemrosesan operasi asinkron di area pengaturan.
Masuk ke Power Platform pusat admin.
Pilih Lingkungan di area navigasi. Kemudian pilih lingkungan yang Anda inginkan.
Pilih pengaturan, Perluas audit dan log, lalu pilih pekerjaan sistem.
Operasi berjenjang ditampilkan dalam tampilan Pekerjaan Sistem.
Untuk hanya melihat operasi Cascading, dalam pemilih tampilan pilih operasi kaskade.
Operasi Cascading memiliki salah satu dari status berikut:
- Selesai: Semua batch transaksi berjenjang telah berhasil diselesaikan.
- Sedang Berlangsung: Perubahan berjenjang sedang berlangsung.
- Gagal: Setelah beberapa kali percobaan ulang, beberapa perubahan berjenjang gagal.
Catatan
Anda tidak dapat membatalkan pekerjaan Cascading asinkron. Anda harus menunggu untuk menyelesaikan dengan menunjukkan status selesai atau gagal.
Membuka tampilan operasi Cascading:
Berapa banyak pengulangan terjadi untuk transaksi tertentu.
Tanggal dan waktu dibuat dan selesai.
Yang membuat pekerjaan.
Setiap pesan yang terkait dengan pekerjaan, misalnya alasan kegagalan, atau pengecualian.
Transaksi Cascading mana yang dapat diproses secara asinkron?
Menetapkan, menghapus, dan menggabungkan transaksi berantai dapat diproses secara asinkron.
Catatan
Transaksi lain, seperti berbagi/membatalkan pembagian, tampilan rollup, dan induk ulang saat ini sedang ditinjau untuk pemrosesan asinkron.
Memecahkan masalah dengan operasi berantai asinkron
Ketika pekerjaan berjenjang sinkron gagal, mereka berhenti dan memutar kembali semua perubahan sehingga tidak ada rekaman yang menyertakan perubahan yang diminta. Ini bisa menjadi proses yang memakan waktu karena pengembalian dapat memakan waktu selama upaya awal, dan mencoba kembali operasi dimulai lagi dari rekaman pertama.
Operasi asinkron mencoba lagi berkali-kali, jika terjadi kegagalan. Dalam kebanyakan kasus, mencoba kembali hasil pekerjaan dalam keberhasilan dan pekerjaan dapat dilanjutkan hingga selesai. Dalam beberapa kasus yang jarang terjadi, mencoba kembali tidak menyelesaikan masalah. Ketika ini terjadi, pekerjaan asinkron dijeda, dan administrator serta pengguna dapat memecahkan masalah dan melanjutkan pekerjaan dari titik di mana pekerjaan dijeda.
Penyebab umum kegagalan dalam operasi berantai
Alasan umum kegagalan dalam pemrosesan operasi berantai mencakup:
- Pengecualian plug-in
- Pengecualian keamanan
Pengecualian plug-in
Plug-in ditambahkan ke pemrosesan operasi berjenjang untuk mengambil tindakan tertentu saat perubahan dilakukan pada rekaman, seperti mengirim email atau memicu pembaruan yang berbeda pada rekaman lain. Ini dapat disediakan oleh pihak ketiga atau dikembangkan secara internal. Jika plug-in menghasilkan pengecualian, operasi cascading gagal. Tergantung pada alasan pengecualian, coba lagi dapat mengatasi masalah. Jika pekerjaan kaskade asinkron dijeda karena kegagalan, validasi semua plug-in yang terkait dengan operasi untuk memastikan mereka tidak menghasilkan pengecualian. Setelah diperbaiki, pekerjaan dapat dilanjutkan.
Pengecualian keamanan
Pengecualian keamanan terjadi saat pengguna yang menjalankan operasi beranai memiliki hak yang cukup untuk membuat perubahan ke satu atau beberapa rekaman, atau pengguna dinonaktifkan atau dihapus dari sistem.
Jika pengguna masih berada di sistem, verifikasi bahwa mereka memiliki hak istimewa yang diperlukan untuk memodifikasi rekaman dan bahwa mereka memiliki izin untuk menjalankan tindakan yang ditentukan. Setelah ini diselesaikan, lanjutkan pekerjaan.
Jika pengguna telah dinonaktifkan atau dihapus dari sistem, mengaktifkan kembali atau menambahkan kembali pengguna akan menyelesaikan masalah dan pekerjaan dapat dilanjutkan. Namun, jika pengguna harus dihapus atau dinonaktifkan atau tidak seharusnya memiliki izin untuk tindakan atau rekaman, pekerjaan harus dibatalkan dan dimulai ulang oleh seseorang dengan izin yang sesuai.
Untuk masalah lain dengan pekerjaan yang gagal, hubungi Microsoft Dukungan. Informasi selengkapnya: Ikhtisar dukungan
Mengatasi masalah penghapusan file selama penggabungan berantai
Jika Anda mengalami kegagalan dengan operasi penggabungan berantai karena file dihapus selama pekerjaan berjalan, Anda dapat mengabaikan pemeriksaan induk. Hal ini memungkinkan penggabungan untuk dilanjutkan meskipun seseorang menghapus rekaman dari rangkaian, sementara pekerjaan sedang berjalan di latar belakang. Saat Anda memilih untuk menggabungkan rekaman, di bagian bawah jendela gabungan, hapus centang Parenting diaktifkan secara default. Hapus centang ini untuk mengabaikan opsi pemeriksaan pengasuhan anak.
Contoh Penggabungan Rekaman
Bayangkan Anda memiliki akun dengan relasi dengan kontak, yang memiliki relasi dengan pesanan. Anda ingin menggabungkan dua rekaman akun.
Jika pekerjaan berhasil dijalankan, penggabungan akan menetapkan semua kontak terkait dan pesanan mereka ke akun target.
Jika selama proses penggabungan rekaman, pengguna lain menghapus rekaman kontak terkait, tetapi rekaman pesanan masih ada terkait dengan rekaman kontak, pekerjaan penggabungan gagal karena induk ke rekaman turunan hilang. Jika Anda memilih untuk melewati pemeriksaan parenting selama penggabungan rekaman, pesanan dengan rekaman kontak yang hilang digabungkan ke dalam rekaman akun target. Namun, tidak ada rekaman kontak terkait yang ditetapkan ke akun target dan pekerjaan selesai.
Penggabungan menyebabkan penguncian yang mencegah perubahan akses lain
Operasi Gabungan Berantai memberikan akses ke pemilik baru tabel sub-ordinat. Untuk melakukan ini, operasi Cascade Merge mengakses dan membuat perubahan pada Tabel Objek Utama yang memerlukan kunci. Jika operasi gabungan berisi banyak rekaman (berdasarkan relasi kaskadekan), kunci ini dapat berlaku untuk jangka waktu yang lama. Hal ini dapat mengakibatkan kesalahan jika operasi mencoba memberikan atau mencabut akses rekaman yang tidak terkait saat penggabungan sedang berjalan. Jika ini terjadi, coba eksekusi gabungan dalam waktu tidak aktif sehingga pemblokiran dapat dikurangi.