KB4091245 - 修正: SQL Server 2017 および SQL Server 2016 で整数列を含むテーブルに対してクエリを実行すると、アクセス違反が発生する

適用先
SQL Server 2017 Developer on Windows SQL Server 2017 Enterprise on Windows SQL Server 2017 Enterprise Core on Windows SQL Server 2017 Standard on Windows SQL Server 2016 Service Pack 1 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 と Microsoft SQL Server 2016 および 2014 に整数列があり、その列に次の機能があるとします。

  • 列は NOT NULL として宣言されます。
  • この列には CHECK 制約が定義されており、この制約により、列の値は 1 にしかできません。
  • この列は、まだパーティションが定義されていないパーティション スキームに参加しています (このようなスキームは、まだ設定されていない将来のパーティション分割用に定義される場合があります)。

このシナリオでは、テーブルへのクエリを実行しようとすると、アクセス違反が発生します。

解決策

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

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

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

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

SQL Server 2014 SP2 の累積的な更新プログラム 12

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

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

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

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

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

状態

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

参考資料

マイクロソフトでソフトウェア更新プログラムの説明に使用する用語集を参照してください。