現象
Microsoft SQL Serverでログ スキャンを実行するには、テーブルの変更データ キャプチャ (CDC) 機能を有効にすることを想定しています。 pollinginterval パラメーターは、sys.sp_cdc_scan ストアド プロシージャの秒から時間 (h) に変換されます。 ただし、 pollinginterval パラメーターが 1 時間 (>3600 秒) を超えると、変換された結果が正しくないことがわかります。
bigint、@seconds bigint、@minutes bigint、@hours bigint
@pollinginterval宣言する
set @pollinginterval = 3600
@seconds = @pollinginterval % 60 を
選択します
選択@minutes = ((@pollinginterval - @seconds) / 60) % 60
select @hours = (@pollinginterval - (@minutes * 60) - @seconds) / 60
---代わりに
行の下の次の試行
--- @hours = (@pollinginterval - (@minutes * 60) - @seconds) / 60 /60
を選択します
@hours、@minutes、@secondsを選択する
解決方法
この問題は、SQL Serverの次の累積的な更新プログラムで修正されています。
SQL Server 2017 の累積的な更新プログラム 12
SQL Server 2016 SP2 の累積的な更新プログラム 3
SQL Server 2016 SP1 の累積的な更新プログラム 12
SQL Serverの各新しい累積的な更新プログラムには、すべての修正プログラムと、以前の累積的な更新プログラムに含まれていたすべてのセキュリティ修正プログラムが含まれています。 SQL Serverの最新の累積的な更新プログラムを確認してください。
SQL Server 2017 の最新の累積的な更新プログラム
状態
マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。
関連情報
Microsoft がソフトウェア更新プログラムの説明に使用する用語について説明します。