KB4459220 - FIX: Hasil yang salah terjadi ketika Anda mengonversi parameter "pollinginterval" dari detik ke jam dalam sys.sp_cdc_scan di SQL Server

Berlaku Untuk
SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2014 Service Pack 2 - duplicate (do not use) SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2017 on Windows (all editions)

Gejala

Misalnya Anda mengaktifkan fitur Ubah Data Capture (CDC) pada tabel untuk menjalankan pemindaian log di Microsoft SQL Server. Parameter pollinginterval dikonversi dari detik (s) menjadi jam (h) dalam prosedur sys.sp_cdc_scan disimpan. Namun, ketika parameter pollinginterval lebih besar dari satu jam (>3600 s), Anda melihat bahwa hasil yang dikonversi salah.

Catatan

@pollinginterval menyatakan bigint, @seconds bigint, @minutes bigint, @hours bigint
  set @pollinginterval = 3600
  pilih @seconds = @pollinginterval % 60
  pilih @minutes = ((@pollinginterval - @seconds) / 60) % 60
  pilih @hours = (@pollinginterval - (@minutes * 60) - @seconds) / 60
--- Upaya berikutnya di bawah baris sebagai gantinya
--- pilih @hours = (@pollinginterval - (@minutes * 60) - @seconds) / 60 /60
  pilih @hours, @minutes, @seconds

Resolusi

Masalah ini telah diperbaiki dalam pembaruan kumulatif berikut untuk SQL Server:

Pembaruan Kumulatif 12 untuk SQL Server 2017

Pembaruan Kumulatif 3 untuk SQL Server 2016 SP2

Pembaruan Kumulatif 12 untuk SQL Server 2016 SP1

Pembaruan Kumulatif 1 untuk SQL Server 2014 SP3

Pembaruan Kumulatif 14 untuk SQL Server 2014 SP2

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 2017

Pembaruan kumulatif terbaru untuk SQL Server 2016

Pembaruan kumulatif terbaru untuk SQL Server 2014

Status

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

Referensi

Pelajari tentang terminologi yang digunakan Microsoft untuk menjelaskan pembaruan perangkat lunak.