อาการ
เริ่มต้นSQL Server 2019 CU6 สร้างนิยามตารางภายนอกได้รับการขยายเพื่อRejected_Row_Locationตาราง ค่านี้แสดงที่ตั้งในแหล่งข้อมูลภายนอกที่ไฟล์ข้อผิดพลาดและแถวที่ถูกปฏิเสธจะถูกเขียน ตัวเลือกนี้สามารถใช้ได้เฉพาะกับตารางภายนอกโดยใช้รูปแบบไฟล์ 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
,LOCATION = '/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 ใช้เพื่ออธิบายการอัปเดตซอฟต์แวร์