現象
2019 SQL SERVER 2019 CU6 より、外部テーブルの作成定義が拡張され、Rejected_Row_Locationされています。 この値は、エラー ファイルと拒否された行が書き込まれる外部データ ソース内の場所を表します。 このオプションは、Hadoop 型の外部データ ソースで、DELIMITEDTEXT ファイル形式を使用して外部テーブルでのみ使用できます。
CREATE EXTERNAL TABLE [dbo].[Reject_Example]
(
[Col_one]TINYINT NULL,
[Col_two]VARCHAR(100) NULL,
[Col_three]NUMERIC(2,2) NULL
)
WITH
(
DATA_SOURCE = EDS_Reject_Row
,LOCATION = '/Read_Directory'
,FILE_FORMAT = CSV
,REJECT_TYPE = VALUE
,REJECT_VALUE = 100
,REJECTED_ROW_LOCATION='/Reject_Directory'
)
データが読み込まれると、何が起こりますか?
ユーザーが前のテーブルでテーブルを選択として作成 (CTAS) を実行すると、PolyBase は Rejected_Row_Location の外部データ ソース (存在しない場合) にディレクトリを作成します。 "_rejectedrows" という名前の子ディレクトリが作成されます。 アンダースコア (_) 文字は、location パラメーターで明示的に名前を付けない限り、他のデータ処理のためにディレクトリがエスケープされます。 このディレクトリ内では、YearMonthDay-HourMinuteSecond の形式 (例: 20180330-173205) の読み込み送信時刻に基づいてフォルダーが作成されます。 このフォルダーには、2 種類のファイルが書き込まれます。_reason ファイルとデータ ファイルです。
理由ファイルとデータ ファイルの両方に、CTAS ステートメントに関連付けられた queryID があります。 データと理由は別々のファイルにあるため、対応するファイルには一致するサフィックスがあります。
状態
Microsoft では、「適用対象」セクションに記載されている新機能を追加しました。
解決方法
この問題は、次の累積的な更新プログラムで修正SQL Server。
データの累積的な更新SQL Server:
SQL Serverの新しい累積的な更新プログラムには、すべての修正プログラムと、以前の累積的な更新プログラムに含まれているすべてのセキュリティ修正プログラムが含まれています。 最新の累積的な更新プログラムを確認SQL Server。
参照情報
マイクロソフトでソフトウェア更新プログラムの説明に使用する用語集を参照してください。