MSSQL_ENG002627

Berlaku untuk:SQL ServerAzure 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.

Lihat Juga

Referensi Kesalahan dan Peristiwa (Replikasi)
Gabungkan Replikasi
Replikasi Transaksional Peer-to-Peer
Langganan yang Dapat Diperbarui untuk Replikasi Transaksional