Bagikan melalui


MSSQL_ENG002601

Berlaku untuk: SQL Server Azure SQL Managed Instance

Detail Pesan

Atribut Nilai
Nama Produk SQL Server
ID Peristiwa 2601
Sumber Kejadian MSSQLSERVER
Komponen Mesin Database SQL Server
Nama Simbolis T/A
Teks Pesan Tidak dapat memasukkan baris kunci duplikat dalam objek '%.*ls' dengan indeks unik '%.*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.

  • Dalam replikasi penggabungan, kesalahan ini juga dapat terjadi selama penyisipan ke dalam tabel sistem MSmerge_contents; kesalahan yang dimunculkan mirip dengan: Tidak dapat menyisipkan baris kunci duplikat dalam objek 'MSmerge_contents' dengan indeks unik 'ucl1SycContents.'

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.

  • Kesalahan terjadi selama penyisipan ke dalam tabel sistem MSmerge_contents.

    Kesalahan ini dapat terjadi karena nilai yang salah untuk properti filter gabungan join_unique_key. Properti ini harus diatur ke TRUE hanya jika kolom yang digabungkan dalam tabel induk unik. Jika properti diatur ke TRUE, tetapi kolom tidak unik, kesalahan ini akan muncul. Untuk informasi selengkapnya tentang pengaturan properti ini, lihat Menentukan dan Mengubah Filter Gabungan Antara Artikel Gabungan.

Lihat Juga

Referensi Kesalahan dan Peristiwa (Replikasi)