KB4157948 - 修正: SQL Server で EXP 関数を使用する入れ子になったネイティブにコンパイルされたモジュールを実行すると浮動小数点オーバーフロー エラーが発生する

適用先
SQL Server 2017 Developer SQL Server 2017 Enterprise SQL Server 2017 Enterprise Core SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use)

現象

たとえば次のようなシナリオを考えてみます。

  • Microsoft SQL Server で In-Memory OLTP を使用します。
  • ネイティブにコンパイルされたユーザー定義関数など、EXP 関数を使用するネイティブにコンパイルされたモジュールを作成します。
  • ネイティブにコンパイルされたモジュールを別のネイティブにコンパイルされたモジュールで参照します。

このシナリオでは、ネイティブにコンパイルされた 2 番目のモジュールを実行すると、次のようなエラー メッセージが表示されます。

注

メッセージ 41328、レベル 16、状態 0
浮動小数点演算がオーバーフローしました。

解決策

この問題は、SQL Server 用の次の累積的な更新プログラムで解決されています。

SQL Server 2017 の累積的な更新プログラム 7

SQL Server 2016 SP2 の累積的な更新プログラム 1

SQL Server の累積的な更新プログラムについて:

SQL Server 用の新しい累積的な更新プログラムには、以前の累積的な更新プログラムに含まれていたすべての修正プログラムとすべてのセキュリティ修正プログラムが含まれています。 SQL Server の最新の累積的な更新プログラムを確認してください。

SQL Server 2017 の最新の累積的な更新プログラム

SQL Server 2016 の最新の累積的な更新プログラム

状態

Microsoft は、これが "適用対象" セクションに記載されている Microsoft 製品の問題であることを確認しました。

参考資料

Microsoft がソフトウェア更新プログラムについて説明するために使用する標準 的な用語について説明します 。