Simptomai
Paleidus "SQL Server 2019" CU6, kurti išorinę lentelę apibrėžimas išplėstas įtraukiant Rejected_Row_Location parametrą. Šis reikšmė nurodo išorinio duomenų šaltinio vietą, kurioje įvyko klaida Failai ir atmestos eilutės bus parašytų. Šią parinktį galima naudoti tik kartu su "Hadoop" įveskite duomenų šaltinius.
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ą nutinka, kai duomenys įkelti?
Kai vartotojas paleidžia kūrimo lentelę kaip Select (CTAS) ankstesnėje lentelėje, PolyBase sukuria katalogą išoriniuose duomenyse Šaltinis Rejected_Row_Location, jei tokio nėra. Antrinis katalogas yra sukurtas, pavadintas "_rejectedrows." "Underscore" (_) simbolis užtikrina, kad aplankas yra pabėgęs dėl kitų duomenų apdorojimo, išskyrus atvejus, kai jis aiškiai įvardytas parametras location. Šiame kataloge aplankas sukuriamas remiantis įkėlimo pateikimo laikas formatu YearMonthDay-HourMinuteSecond (pvz., 20180330-173205). Šiame aplanke įrašomi du failų tipai: _reason failas ir duomenų failas.
Failo priežastis ir duomenų failas turi queryID, susietą su CTAS patvirtinimu. Kadangi duomenys ir priežastis yra atskiri failai, atitinkami failai turi atitinkamą plėtinį.
Statusą
"Microsoft" pridėjo naujų funkcijų, įtrauktų į skyrių "taikoma".
Sprendimas
Ši problema išspręsta šį kaupiamąjį naujinimą SQL Server:
Apie SQL serverio kaupiamieji naujinimai:
Kiekvienas naujas Kaupiamasis naujinimas, skirtas "SQL Server", yra visos karštosios pataisos ir visos saugos pataisos, kurios buvo pridėtos prie ankstesnio kaupiamojo naujinimo. Peržiūrėkite naujausius kaupiamuosius SQL serverio naujinimus:
Nuorodos
Sužinokite apie terminologiją , kurią "Microsoft" naudoja programinės įrangos naujinimams apibūdinti.