Symptom
Från och med SQL Server 2019 CU6 har definitionen Skapa extern tabell utökats till att omfatta en Rejected_Row_Location parameter. Det här värdet representerar platsen i den externa datakällan där felen Files och Avvisade rader kommer att skrivas. Det här alternativet kan bara användas med externa tabeller som använder filformatet DELIMITEDTEXT på externa datakällor av Hadoop-typ.
SKAPA EXTERN TABELL [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 = VÄRDE
,REJECT_VALUE = 100
,REJECTED_ROW_LOCATION='/Reject_Directory'
)
Vad händer när data läses in?
När en användare kör en Create Table as Select (CTAS) i föregående tabell skapar PolyBase en katalog på den externa datakällan i Rejected_Row_Location, om det inte finns någon. En underordnad katalog skapas som heter "_rejectedrows". Tecknet Underscore (_) ser till att katalogen undantas för annan databearbetning, såvida det inte uttryckligen namnges i platsparametern. I den här katalogen skapas en mapp baserat på tidpunkten för inläsningen i det format YearMonthDay-HourMinuteSecond (till exempel 20180330-173205). I den här mappen skrivs två typer av filer: den _reason filen och datafilen.
Både orsaksfilen och datafilen har det queryID som är associerat med CTAS-instruktionen. Eftersom data och orsak finns i separata filer har motsvarande filer ett matchande suffix.
Status
Microsoft har lagt till nya funktioner som anges i avsnittet "Gäller".
Lösning
Det här problemet åtgärdas i följande kumulativa uppdatering för SQL Server:
Om kumulativa uppdateringar för SQL Server:
Varje ny kumulativ uppdatering för SQL Server innehåller alla snabbkorrigeringar och alla säkerhetskorrigeringar som ingick i den tidigare kumulativa uppdateringen. Kolla in de senaste kumulativa uppdateringarna för SQL Server:
Referenser
Läs om den terminologi som Microsoft använder för att beskriva programuppdateringar.