Gejala
Mulai SQL Server 2019 CU6, definisi Buat Tabel Eksternal telah diperluas untuk menyertakan parameter Rejected_Row_Location. Nilai ini mewakili lokasi di Sumber Data Eksternal tempat Files Kesalahan dan Baris yang Ditolak akan ditulis. Opsi ini hanya dapat digunakan dengan tabel eksternal yang menggunakan format file DELIMITEDTEXT pada sumber data eksternal tipe Hadoop.
BUAT TABEL EKSTERNAL [dbo]. [Reject_Example]
(
[Col_one] TINYINT NULL,
[Col_two] VARCHAR(100) NULL,
[Col_three] NUMERIK(2,2) NULL
)
WITH
(
DATA_SOURCE = EDS_Reject_Row
,LOCATION = '/Read_Directory'
,FILE_FORMAT = CSV
,REJECT_TYPE = NILAI
,REJECT_VALUE = 100
,REJECTED_ROW_LOCATION='/Reject_Directory'
)
Apa yang terjadi saat data dimuat?
Ketika pengguna menjalankan Buat Tabel sebagai Pilih (CTAS) pada tabel sebelumnya, PolyBase membuat direktori pada Sumber Data Eksternal di Rejected_Row_Location, jika tidak ada. Direktori turunan dibuat yang diberi nama "_rejectedrows." Karakter Garis Bawah (_) memastikan bahwa direktori diloloskan untuk pemrosesan data lain, kecuali jika disebutkan secara eksplisit dalam parameter location. Dalam direktori ini, folder dibuat berdasarkan waktu pengiriman beban dalam format YearMonthDay-HourMinuteSecond (misalnya, 20180330-173205). Dalam folder ini, dua jenis file ditulis: File _reason dan file data.
File alasan dan file data memiliki queryID yang terkait dengan pernyataan CTAS. Karena data dan alasannya dalam file terpisah, file yang sesuai memiliki akhiran yang cocok.
Status
Microsoft telah menambahkan fitur baru yang tercantum di bagian "Berlaku untuk".
Resolusi
Masalah ini telah diperbaiki dalam pembaruan kumulatif berikut untuk SQL Server:
Tentang pembaruan kumulatif untuk SQL Server:
Setiap pembaruan kumulatif baru untuk SQL Server berisi semua hotfix dan semua perbaikan keamanan yang disertakan dengan pembaruan kumulatif sebelumnya. Lihat pembaruan kumulatif terbaru untuk SQL Server:
Referensi
Pelajari tentang terminologi yang digunakan Microsoft untuk menjelaskan pembaruan perangkat lunak.