KB4568448 - แก้ไข: การสนับสนุนพารามิเตอร์ REJECTED_ROW_LOCATION ใน สร้างตารางภายนอก ใน SQL Server 2019 ผลิตภัณฑ์กล่อง

นำไปใช้กับ
SQL Server 2019 on Linux SQL Server 2019 on Windows

อาการ

เริ่มต้นตั้งแต่ SQL Server 2019 CU6 ข้อกําหนดสร้างตารางภายนอกได้รับการขยายให้รวมพารามิเตอร์ Rejected_Row_Location ค่านี้แสดงตําแหน่งในแหล่งข้อมูลภายนอกที่จะเขียน Error Files และ Rejected Rows ตัวเลือกนี้สามารถใช้ได้เฉพาะกับตารางภายนอกที่ใช้รูปแบบไฟล์ DELIMITEDTEXT บนแหล่งข้อมูลภายนอกประเภท Hadoop เท่านั้น

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

,ตําแหน่งที่ตั้ง = '/Read_Directory'

,FILE_FORMAT = CSV

,REJECT_TYPE = VALUE

,REJECT_VALUE = 100

,REJECTED_ROW_LOCATION='/Reject_Directory'

)

เกิดอะไรขึ้นเมื่อโหลดข้อมูล

เมื่อผู้ใช้เรียกใช้สร้างตารางตามการเลือก (CTAS) บนตารางก่อนหน้า PolyBase จะสร้างไดเรกทอรีบนแหล่งข้อมูลภายนอกที่ Rejected_Row_Location ถ้าไม่มีอยู่ ไดเรกทอรีลูกที่ชื่อว่า "_rejectedrows" จะถูกสร้างขึ้น อักขระขีดล่าง (_) ทําให้แน่ใจว่าไดเรกทอรีมีการหลีกสําหรับการประมวลผลข้อมูลอื่น เว้นแต่จะมีการตั้งชื่ออย่างชัดเจนในพารามิเตอร์ ตําแหน่งที่ตั้ง ภายในไดเรกทอรีนี้ โฟลเดอร์จะถูกสร้างขึ้นตามเวลาส่งโหลดในรูปแบบ YearMonthDay-HourMinuteSecond (ตัวอย่างเช่น 20180330-173205) ในโฟลเดอร์นี้ จะมีการเขียนไฟล์สองชนิด คือ ไฟล์ _reason และไฟล์ข้อมูล

ทั้งไฟล์เหตุผลและไฟล์ข้อมูลมี queryID ที่เชื่อมโยงกับคําสั่ง CTAS เนื่องจากข้อมูลและเหตุผลอยู่ในไฟล์แยกต่างหาก ไฟล์ที่สอดคล้องกันจะมีคําต่อท้ายที่ตรงกัน

สถานะ

Microsoft ได้เพิ่มคุณลักษณะใหม่ๆ ที่อยู่ในรายการในส่วน "นําไปใช้กับ"

การแก้ปัญหา

ปัญหานี้ได้รับการแก้ไขในการอัปเดตแบบสะสมต่อไปนี้สําหรับ SQL Server:

เกี่ยวกับการอัปเดตสะสมสําหรับ SQL Server:

การอัปเดตแบบสะสมใหม่แต่ละรายการสําหรับ SQL Server จะมีโปรแกรมแก้ไขด่วนและการแก้ไขข้อบกพร่องด้านความปลอดภัยทั้งหมดที่รวมอยู่ในการอัปเดตแบบสะสมครั้งก่อนหน้า ตรวจดูการอัปเดตแบบสะสมล่าสุดสําหรับ SQL Server:

การอ้างอิง

เรียนรู้เกี่ยวกับคำศัพท์ที่ Microsoft ใช้เพื่ออธิบายการอัปเดตซอฟต์แวร์