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
Azure SQL Managed Instance
Detail Pesan
| Atribut | Nilai |
|---|---|
| Nama Produk | SQL Server |
| ID Peristiwa | 2627 |
| Sumber Kejadian | MSSQLSERVER |
| Komponen | Mesin Database SQL Server |
| Nama Simbolis | T/A |
| Teks Pesan | Pelanggaran batasan %ls '%.*ls'. Tidak dapat memasukkan kunci duplikat dalam objek '%.*ls'. |
Penjelasan
Ini adalah kesalahan umum yang dapat dimunculkan terlepas dari apakah database direplikasi. Dalam database yang direplikasi, kesalahan biasanya muncul karena kunci primer belum dikelola dengan tepat di seluruh topologi. Dalam lingkungan terdistribusi, penting untuk memastikan bahwa nilai yang sama tidak dimasukkan ke dalam kolom kunci utama atau kolom unik lainnya di lebih dari satu simpul. Kemungkinan penyebabnya mencakup berikut ini:
Penyisipan dan pembaruan pada baris terjadi pada lebih dari satu simpul. Gabungkan replikasi dan langganan yang dapat diperbarui untuk replikasi transaksional baik menyediakan deteksi konflik dan resolusi, tetapi masih lebih baik untuk menyisipkan atau memperbarui baris tertentu hanya pada satu simpul. Transaksi peer-to-peer tidak menyediakan deteksi dan resolusi konflik; ini mengharuskan sisipan dan pembaruan dipartisi.
Baris disisipkan pada Pelanggan yang harus bersifat baca-saja. Pelanggan untuk publikasi rekam jepret harus diperlakukan sebagai baca-saja, sebagaimana mestinya Pelanggan untuk publikasi transaksional kecuali langganan yang dapat diperbarui atau replikasi transaksional peer-to-peer digunakan.
Tabel dengan kolom identitas sedang digunakan, tetapi kolom tidak dikelola dengan tepat.
Tindakan Pengguna
Tindakan yang diperlukan tergantung pada alasan kesalahan dimunculkan:
Penyisipan dan pembaruan pada baris terjadi pada lebih dari satu simpul.
Terlepas dari jenis replikasi yang digunakan, kami sarankan Anda menyisipkan dan memperbarui partisi jika memungkinkan, karena ini mengurangi pemrosesan yang diperlukan untuk deteksi dan resolusi konflik. Untuk replikasi transaksional peer-to-peer, penyisipan dan pembaruan partisi diperlukan. Untuk informasi selengkapnya, lihat Replikasi Transaksional Peer-to-Peer.
Baris disisipkan pada Pelanggan yang harus bersifat baca-saja.
Jangan menyisipkan atau memperbarui baris di Pelanggan kecuali Anda menggunakan replikasi penggabungan, replikasi transaksional dengan langganan yang dapat diperbarui, atau replikasi transaksional peer-to-peer.
Tabel dengan kolom identitas sedang digunakan, tetapi kolom tidak dikelola dengan tepat.
Untuk replikasi penggabungan dan replikasi transaksional dengan langganan yang dapat diperbarui, kolom identitas harus dikelola secara otomatis dengan replikasi. Untuk replikasi transaksional peer-to-peer, replikasi tersebut harus dikelola secara manual. Untuk informasi selengkapnya, lihat Mereplikasi Kolom Identitas.