Sintomi
A partire SQL Server 2019 CU6, la definizione crea tabella esterna è stata estesa per includere un parametro Rejected_Row_Location tabella esterna. Questo valore rappresenta la posizione nell'origine dati esterna in cui verranno scritti i file di errore e le righe rifiutate. Questa opzione può essere usata solo con tabelle esterne che usano il formato di file DELIMITEDTEXT nelle origini dati esterne di tipo Hadoop.
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
,POSIZIONE = '/Read_Directory'
,FILE_FORMAT = CSV
,REJECT_TYPE = VALORE
,REJECT_VALUE = 100
,REJECTED_ROW_LOCATION='/Reject_Directory'
)
Cosa succede quando i dati vengono caricati?
Quando un utente esegue un'istruzione Create Table as Select (CTAS) nella tabella precedente, PolyBase crea una directory nell'origine dati esterna nel Rejected_Row_Location, se non ne esiste una. Viene creata una directory figlio denominata "_rejectedrows". Il carattere di sottolineatura (_) assicura che la directory venga preceduta da caratteri di escape per altri processi di elaborazione dei dati, a meno che non venga specificata in modo esplicito nel parametro location. All'interno di questa directory, viene creata una cartella in base all'ora di invio del caricamento nel formato YearMonthDay-HourMinuteSecond (ad esempio, 20180330-173205). In questa cartella vengono scritti due tipi di file: il _reason e il file di dati.
Il file dei motivi e il file di dati hanno entrambi l'ID query associato all'istruzione CTAS. Poiché i dati e il motivo sono in file separati, i file corrispondenti hanno un suffisso corrispondente.
Stato
Microsoft ha aggiunto nuove funzionalità elencate nella sezione "Si applica a".
Risoluzione
Questo problema è stato risolto nell'aggiornamento cumulativo seguente per SQL Server:
Informazioni sugli aggiornamenti cumulativi per SQL Server:
Ogni nuovo aggiornamento cumulativo per SQL Server contiene tutti gli aggiornamenti rapidi e tutte le correzioni di sicurezza incluse nell'aggiornamento cumulativo precedente. Vedere gli aggiornamenti cumulativi più recenti per SQL Server:
Riferimenti
Informazioni sulla terminologia usata da Microsoft per descrivere gli aggiornamenti software.