KB2979121 - PERBAIKAN: Agen Pembaca Log gagal saat Anda memutakhirkan dari SQL Server 2008 ke SQL Server 2012 atau SQL Server 2014

Berlaku Untuk
SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

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:

      

Status

Microsoft telah mengonfirmasi bahwa ini adalah masalah dalam produk Microsoft sebagaimana tercantum di bagian "Berlaku untuk".