Problembeschreibung
Beginnend mit SQL Server 2019 CU6 wurde die Definition "Externe Tabelle erstellen" um einen Parameter Rejected_Row_Location erweitert. Dieser Wert stellt die Position in der externen Datenquelle dar, an der Fehlerdateien und Abgelehnte Zeilen geschrieben werden. Diese Option kann nur für externe Tabellen verwendet werden, die das Dateiformat "TRENNZEICHENTEXT" für externe Datenquellen vom Typ Hadoop verwenden.
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 = WERT
,REJECT_VALUE = 100
,REJECTED_ROW_LOCATION='/Reject_Directory'
)
Was geschieht beim Laden von Daten?
Wenn ein Benutzer in der vorherigen Tabelle eine Create Table as Select (CTAS) erstellt, erstellt PolyBase ein Verzeichnis in der externen Datenquelle im Rejected_Row_Location, sofern noch kein Verzeichnis vorhanden ist. Es wird ein untergeordnetes Verzeichnis mit dem Namen "_rejectedrows" erstellt. Mit dem Unterstrich (_) wird sichergestellt, dass das Verzeichnis für andere Datenverarbeitungen mit einem Escape-Zeichen festgelegt wird, sofern dies nicht explizit im Parameter location angegeben ist. In diesem Verzeichnis wird ein Ordner basierend auf der Zeit der Übermittlung im Format YearMonthDay-HourMinuteSecond (z. B. 20180330-173205) erstellt. In diesem Ordner werden zwei Dateitypen geschrieben: die Datei _reason und die Datendatei.
In der Reason-Datei und der Datendatei ist die Abfrage-ID der CTAS-Anweisung zugeordnet. Da sich die Daten und der Grund in separaten Dateien befinden, haben die entsprechenden Dateien ein passendes Suffix.
Status
Microsoft hat neue Features hinzugefügt, die im Abschnitt "Gilt für" aufgeführt werden.
Lösung
Dieses Problem wurde im folgenden kumulativen Update für SQL Server:
Kumulative Updates für SQL Server:
Jedes neue kumulative Update für SQL Server enthält alle Hotfixes und Alle Sicherheitsupdates, die im vorherigen kumulativen Update enthalten waren. Informieren Sie sich über die neuesten kumulativen Updates für SQL Server:
Informationsquellen
Informieren Sie sich über die Terminologie, die Microsoft zum Beschreiben von Softwareupdates verwendet.