Symptomer
Fra og SQL Server 2019 CU6 er definitionen Opret ekstern tabel blevet udvidet til at omfatte Rejected_Row_Location parameter. Denne værdi repræsenterer placeringen i den eksterne datakilde, hvor fejlfilerne og de afviste rækker skal skrives. Denne indstilling kan kun bruges med eksterne tabeller, der bruger filformatet DELIMITEDTEXT på Eksterne Hadoop-datakilder.
OPRET EKSTERN TABEL [dbo]. [Reject_Example]
(
[Col_one] TINYINT NULL,
[Col_two] VARCHAR(100) NULL,
[Col_three] NUMERISK(2;2) NULL
)
WITH
(
DATA_SOURCE = EDS_Reject_Row
,LOCATION = '/Read_Directory'
,FILE_FORMAT = CSV
,REJECT_TYPE = VÆRDI
,REJECT_VALUE = 100
,REJECTED_ROW_LOCATION='/Reject_Directory'
)
Hvad sker der, når data indlæses?
Når en bruger kører en Opret tabel som Select (CTAS) på den forrige tabel, opretter PolyBase en mappe på den eksterne datakilde på Rejected_Row_Location, hvis den ikke findes. Der oprettes en underordnet mappe med navnet "_rejectedrows". Understregningstegnet (_) sørger for, at mappen escape-tegnet til anden behandling, medmindre det udtrykkeligt er navngivet i placeringsparameteren. I denne mappe oprettes en mappe baseret på tidspunktet for indlæsningsafsendelse i formatet YearMonthDay-HourMinuteSecond (f.eks. 20180330-173205). I denne mappe er der skrevet to filtyper: _reason fil og datafilen.
Årsagsfilen og datafilen har begge forespørgsels-id'et knyttet til CTAS-sætningen. Da dataene og årsagen er i separate filer, har tilsvarende filer et matchende suffiks.
Status
Microsoft har tilføjet nye funktioner, der er angivet i afsnittet "Gælder for".
Løsning
Dette problem er rettet i følgende kumulative opdatering til SQL Server:
Om akkumulerede opdateringer til SQL Server:
Hver ny kumulativ opdatering til SQL Server indeholder alle hotfixes og alle de sikkerhedsrettelser, der var inkluderet i den forrige kumulative opdatering. Se de seneste akkumulerede opdateringer til SQL Server:
Referencer
Få mere at vide om den terminologi, som Microsoft bruger til at beskrive softwareopdateringer.