KB4040539 - FIX: ストアド プロシージャsp_execute_external_script使用してデータを挿入し、SQL Server 2016 で値@parallel 1 に指定するとエラーが発生する

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

現象

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

  • ID 列を含むテーブルを作成します。
  • INSERT INTO ステートメントを使用して、ストアド プロシージャ sp_execute_external_script 実行を挿入してテーブルにデータを挿入します。
  • sp_execute_external_script ストアド プロシージャの @parallel パラメーター値を1 として指定します。

このシナリオでは、INSERT INTO ステートメントを実行すると、クエリが失敗し、次のエラー メッセージが表示されます。

メッセージ 213、レベル 16、状態 7、行 32
列名または指定された値の数がテーブル定義と一致しません。

解決策

この修正プログラムは、SQL Server 2016 Service Pack 1 の累積的な更新プログラム 5 に含まれています。

SQL Server 2016 ビルドについて

SQL Server 2016 の各新しいビルドには、前のビルドに含まれていたすべての修正プログラムとセキュリティ修正プログラムが含まれています。 SQL Server 2016 の最新ビルドをインストールすることをお勧めします。

回避策

この問題を回避するには、sp_execute_external_script プロシージャの @parallel パラメーター値を 0 に設定します。

状態

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

参考資料

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