Simptomi
Sākot ar SQL Server 2019 CU6, ārējās tabulas izveide definīcija ir paplašināta, lai iekļautu Rejected_Row_Location parametra. Šajā vērtība norāda atrašanās vietu ārējā datu avotā, kurā kļūda Tiks rakstīti faili un noraidītās rindas. Šo opciju var lietot tikai kopā ar Hadoop ierakstiet datu avotus.
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'
)
kā notiek, kad tiek ielādēti dati?
Kad lietotājs izpilda tabulu izveidot kā atlasītu (CTAS) iepriekšējā tabulā PolyBase izveido direktoriju ārējiem datiem Avots Rejected_Row_Location, ja tāds nepastāv. Bērnu direktorijs ir izveidots ar nosaukumu "_rejectedrows". Pasvītrojuma (_) rakstzīme nodrošina, ka direktorijs ir aizbēdzis ar citu datu apstrādi, ja vien tas nav skaidri nosaukts atrašanās vietas parametrs. Šajā direktorijā tiek izveidota mape, kuras pamatā ir ielādes iesniegšanas laiks formātā YearMonthDay-HourMinuteSecond (piemēram, 20180330-173205). Šajā mapē ir ierakstīti divi failu tipi: _reason fails un datu fails.
Iemeslu fails un datu fails gan ir queryID, kas ir saistīts ar CTAS priekšrakstu. Tā kā dati un iemesls ir atsevišķos failos, atbilstošajos failos ir atbilstošs sufikss.
Statusa
Microsoft ir pievienojis jaunus līdzekļus, kas ir norādīti sadaļā "attiecas uz".
Risinājums
Šī problēma ir novērsta šajā SQL Server kumulatīvajā atjauninājumā:
Par kumulatīvajiem SQL Server atjauninājumiem:
Katrā jaunajā kumulatīvajā SQL Server atjauninājumā ir iekļauti visi labojumfaili un visi drošības labojumi, kas bija iekļauti iepriekšējā kumulatīvajā atjauninājumā. Skatiet jaunākos kumulatīvos atjauninājumus SQL Server:
Atsauces
Uzziniet par terminoloģiju , ko Microsoft izmanto, lai aprakstītu programmatūras atjauninājumus.