Gejala
Asumsikan Anda menggunakan replikasi transaksional di Microsoft SQL Server 2008, dan terdapat kueri pembaruan yang berjalan pada publikasi tersebut. Saat Anda memutakhirkan SQL Server ke SQL Server 2012 atau SQL Server 2014, dan kueri pembaruan tidak didistribusikan sebelum pemutakhiran, Agen Pembaca Log mungkin gagal dengan kesalahan berikut:
Catatan
<Tanggal><Waktu> Penerbit: {call sp_replcmds (500, 0, 0, , 0, 500000)}
<Tanggal><Waktu> Status: 0, kode: 20011, teks: 'Proses tidak dapat dijalankan 'sp_replcmds' pada '< Nama Penerbit>'.'.
<Tanggal><: Waktu>: Proses tidak dapat dijalankan 'sp_replcmds' pada '<Nama Penerbit>'.
<Tanggal><waktu> Status Agen Repl: 6
<Tanggal><Waktu> Status: 0, kode: 542, teks: 'Ditemukan nilai tanggalwaktu yang tidak valid. Nilai melebihi tahun 9999.'.
<Tanggal><Waktu> Status: 0, kode: 3621, teks: 'Pernyataan telah dihentikan.'.
<Tanggal><Waktu> Status: 0, kode: 22037, teks: 'Proses tidak dapat dijalankan 'sp_replcmds' di '<Nama Penerbit>'.'.
Meskipun masalah ini belum terjadi, catatan log yang dimutakhirkan untuk pernyataan pembaruan masih dapat disalahartikan oleh Agen Pembaca Log dan kesalahan berikut dapat muncul di Agen Distribusi:
Catatan
515 Tidak dapat menyisipkan nilai NULL ke dalam kolom '<Nama Kolom>', tabel '<Nama Tabel>'; kolom tidak mengizinkan null. PEMBARUAN gagal.
Catatan
- Tipe dan batasan data yang berbeda dapat menyebabkan kesalahan yang berbeda untuk dilaporkan, dan masalah ini bahkan dapat menyebabkan non-konvergensi.
- Masalah ini terjadi saat Anda memutakhirkan dari SQL Server 2008 atau SQL Server 2008 R2 ke SQL Server 2012 atau SQL Server 2014.
Resolusi
Jika kesalahan "515 Tidak dapat menyisipkan nilai NULL ke kolom '<Nama Kolom>', tabel '<Nama Tabel>'; kolom tidak mengizinkan null. UPDATE gagal" di Agen Distribusi telah terjadi, Anda harus menginisialisasi ulang replikasi Anda. Hotfix ini tidak memperbaiki kesalahan ini. Untuk menghindari kesalahan ini, Anda harus menonaktifkan Agen Pembaca Log sebelum meningkatkan, lalu memutakhirkan sepenuhnya ke perbaikan ini, lalu mengaktifkan kembali Agen Pembaca Log.
Masalah pertama kali diperbaiki dalam pembaruan kumulatif SQL Server berikut.
Pembaruan Kumulatif 2 untuk SQL Server 2012 SP2 /en-us/help/2983175
Pembaruan Kumulatif 3 untuk SQL Server 2014 /en-us/help/2984923
Pembaruan Kumulatif 11 untuk SQL Server 2012 SP1 /en-us/help/2975396
Tentang pembaruan kumulatif untuk SQL Server
Setiap pembaruan kumulatif baru untuk SQL Server berisi semua hotfix dan semua perbaikan keamanan yang disertakan dengan pembaruan kumulatif sebelumnya. Lihat pembaruan kumulatif terbaru untuk SQL Server:
- Pembaruan kumulatif terbaru untuk SQL Server 2012 SP2
- Pembaruan kumulatif terbaru untuk SQL Server 2014
- Pembaruan kumulatif terbaru untuk SQL Server 2012 SP1
Status
Microsoft telah mengonfirmasi bahwa ini adalah masalah dalam produk Microsoft sebagaimana tercantum di bagian "Berlaku untuk".