症状
从 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]数值 (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) 。 在此文件夹中,写入两种类型的文件:_reason文件和数据文件。
原因文件和数据文件都有与 CTAS 语句关联的 queryID。 由于数据和原因在单独的文件中,因此相应的文件具有匹配的后缀。
状态
Microsoft 添加了"适用于"部分中列出的新功能。
解决方法
此问题已针对以下更新的累积更新SQL Server:
关于更新的累积SQL Server:
每个新的累积更新SQL Server包含所有修补程序以及上一个累积更新中包含的所有安全修补程序。 查看最新累积更新,了解SQL Server:
参考
了解 Microsoft 用于描述软件更新的术语。