Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel wird beschrieben, wie Sie die Kopieraktivität in einer Pipeline verwenden, um Daten aus und in die von Azure SQL verwaltete Instanz zu kopieren.
Unterstützte Konfiguration
Die Konfiguration der einzelnen Registerkarten unter der Copy-Aktivität finden Sie in den folgenden Abschnitten.
Allgemein
Informationen zum Konfigurieren der Registerkarte Allgemein finden Sie unter Allgemeine Einstellungen-Anleitung.
Quelle
Die folgenden Eigenschaften werden für azure SQL Managed Instance unter der Registerkarte " Quelle " einer Kopieraktivität unterstützt.
Die folgenden Eigenschaften sind erforderlich:
Verbindung: Wählen Sie eine Azure SQL Managed Instance-Verbindung aus der Verbindungsliste aus. Wenn die Verbindung nicht vorhanden ist, erstellen Sie eine neue Azure SQL Managed Instance-Verbindung, indem Sie " Neu" auswählen.
Verbindungstyp: Wählen Sie azure SQL Managed Instance aus.
Verwenden Sie die Abfrage: Geben Sie die Möglichkeit zum Lesen von Daten an. Sie können "Tabelle", " Abfrage" oder " Gespeicherte Prozedur" auswählen. In der folgenden Liste wird die Konfiguration jeder Einstellung beschrieben:
Tabelle: Lesen von Daten aus der angegebenen Tabelle. Wählen Sie ihre Quelltabelle aus der Dropdownliste aus, oder wählen Sie "Bearbeiten" aus, um sie manuell einzugeben.
Abfrage: Geben Sie die benutzerdefinierte SQL-Abfrage an, um Daten zu lesen. Beispiel ist
select * from MyTable. Oder wählen Sie das Bleistiftsymbol aus, das im Code-Editor bearbeitet werden soll.
Gespeicherte Prozedur: Verwenden Sie die gespeicherte Prozedur, die Daten aus der Quelltabelle liest. Die letzte SQL-Anweisung muss eine SELECT-Anweisung in der gespeicherten Prozedur sein.
Name der gespeicherten Prozedur: Wählen Sie die gespeicherte Prozedur aus, oder geben Sie den Namen der gespeicherten Prozedur manuell an, wenn Sie " Bearbeiten" auswählen, um Daten aus der Quelltabelle zu lesen.
Parameter für gespeicherte Prozeduren: Geben Sie Werte für gespeicherte Prozedurparameter an. Zulässige Werte sind Namen oder Name-Wert-Paare. Die Namen und die Groß-/Kleinschreibung von Parametern müssen den Namen und der Groß-/Kleinschreibung der Parameter der gespeicherten Prozedur entsprechen. Sie können "Importparameter" auswählen, um die Parameter der gespeicherten Prozedur abzurufen.
Unter "Erweitert" können Sie die folgenden Felder angeben:
Abfragetimeout (Minuten): Geben Sie das Timeout für die Ausführung des Abfragebefehls an, der Standardwert ist 120 Minuten. Wenn für diese Eigenschaft ein Parameter festgelegt ist, sind zulässige Werte Zeitbereich, z. B. "02:00:00" (120 Minuten).
Isolationsebene: Gibt das Transaktionssperrverhalten für die SQL-Quelle an. Die zulässigen Werte sind: Read committed, Read uncommitted, Repeatable read, Serializable, Snapshot. Ohne Angabe wird die Standardisolationsstufe der Datenbank verwendet. Weitere Informationen finden Sie unter IsolationLevel Enum .
Partitionsoption: Geben Sie die Datenpartitionierungsoptionen an, die zum Laden von Daten aus der von Azure SQL verwalteten Instanz verwendet werden. Zulässige Werte sind: Keine (Standard), physische Partitionen der Tabelle und dynamischer Bereich. Wenn eine Partitionsoption aktiviert ist (also nicht None), wird der Grad der Parallelität beim gleichzeitigen Laden von Daten aus der Azure SQL Managed Instance durch den Grad der Kopierparallelität auf der Registerkarte "Kopieraktivitätseinstellungen" gesteuert.
Keine: Wählen Sie diese Einstellung aus, um keine Partition zu verwenden.
Physische Partitionen der Tabelle: Wenn Sie eine physische Partition verwenden, werden die Partitionsspalte und der Mechanismus basierend auf Ihrer physischen Tabellendefinition automatisch bestimmt.
Dynamischer Bereich: Wenn Sie die Abfrage mit parallel aktivierter Abfrage verwenden, ist der Bereichspartitionsparameter(
?DfDynamicRangePartitionCondition) erforderlich. Beispielabfrage:SELECT * FROM <TableName> WHERE ?DfDynamicRangePartitionCondition.Partitionsspaltenname: Geben Sie den Namen der Quellspalte im Integer- oder Date/Datetime-Typ (
int,smallint,bigint,date,smalldatetime,datetime,datetime2oderdatetimeoffset) an, die von der Bereichspartitionierung für parallele Kopie verwendet wird. Wenn nicht angegeben, wird der Index oder der Primärschlüssel der Tabelle automatisch erkannt und als Partitionsspalte verwendet.Wenn Sie die Quelldaten mithilfe einer Abfrage abrufen, integrieren Sie
?DfDynamicRangePartitionConditionin die WHERE-Klausel. Ein Beispiel sehen Sie im Abschnitt "Paralleles Kopieren von Azure SQL-Verwaltete Instanz".Partition obere Grenze: Geben Sie den Maximalwert der Partitionsspalte für die Partitionsbereichsteilung an. Dieser Wert wird verwendet, um den Partitionsschritt zu bestimmen, nicht zum Filtern der Zeilen in der Tabelle. Alle Zeilen im Tabellen- oder Abfrageergebnis werden partitioniert und kopiert. Wenn nicht angegeben, wird der Wert für die Kopieraktivität automatisch erkannt. Ein Beispiel sehen Sie im Abschnitt "Paralleles Kopieren von Azure SQL-Verwaltete Instanz".
Partition untere Grenze: Geben Sie den Minimalwert der Partitionsspalte für die Partitionsbereichsteilung an. Dieser Wert wird verwendet, um den Partitionsschritt zu bestimmen, nicht zum Filtern der Zeilen in der Tabelle. Alle Zeilen im Tabellen- oder Abfrageergebnis werden partitioniert und kopiert. Wenn nicht angegeben, wird der Wert für die Kopieraktivität automatisch erkannt. Ein Beispiel sehen Sie im Abschnitt "Paralleles Kopieren von Azure SQL-Verwaltete Instanz".
Zusätzliche Spalten: Fügen Sie zusätzliche Datenspalten hinzu, um den relativen Pfad oder statischen Wert der Quelldateien zu speichern. Für Letzteres wird ein Ausdruck unterstützt.
Beachten Sie die folgenden Punkte:
- Wenn die Abfrage für die Quelle angegeben ist, führt die Kopieraktivität diese Abfrage mit der Azure SQL Managed Instance-Quelle aus, um die Daten abzurufen. Sie können auch eine gespeicherte Prozedur angeben, indem Sie den Namen der gespeicherten Prozedur und gespeicherte Prozedurparameter angeben, wenn die gespeicherte Prozedur Parameter akzeptiert.
- Wenn Sie die gespeicherte Prozedur in der Quelle zum Abrufen von Daten verwenden, beachten Sie, dass bei Übergabe eines anderen Parameterwerts Ihre gespeicherte Prozedur ein anderes Schema zurückgeben kann, wodurch Sie möglicherweise einen Fehler erleben oder unerwartete Ergebnisse sehen, insbesondere beim Importieren des Schemas über die Benutzeroberfläche oder beim Kopieren von Daten in die SQL-Datenbank mit automatischer Tabellenerstellung.
Bestimmungsort
Die folgenden Eigenschaften werden für azure SQL Managed Instance unter der Registerkarte "Ziel " einer Kopieraktivität unterstützt.
Die folgenden Eigenschaften sind erforderlich:
Verbindung: Wählen Sie eine Azure SQL Managed Instance-Verbindung aus der Verbindungsliste aus. Wenn die Verbindung nicht vorhanden ist, erstellen Sie eine neue Azure SQL Managed Instance-Verbindung, indem Sie " Neu" auswählen.
Verbindungstyp: Wählen Sie azure SQL Managed Instance aus.
Tabellenoption: Sie können Vorhandenes verwenden auswählen, um die angegebene Tabelle zu nutzen. Oder wählen Sie die AutoErstellungstabelle aus, um automatisch eine Zieltabelle zu erstellen, wenn die Tabelle nicht im Quellschema vorhanden ist, und beachten Sie, dass diese Auswahl nicht unterstützt wird, wenn die gespeicherte Prozedur als Schreibverhalten verwendet wird.
Wenn Sie "Vorhandenes verwenden" auswählen:
- Tabelle: Wählen Sie die Tabelle in Ihrer Zieldatenbank aus der Dropdownliste aus. Sie können auch Bearbeiten aktivieren, um den Tabellennamen manuell einzugeben.
Wenn Sie folgendes auswählen: Tabelle automatisch erstellen:
- Tabelle: Geben Sie den Namen für die automatisch erstellte Zieltabelle an.
Unter "Erweitert" können Sie die folgenden Felder angeben:
Schreibverhalten: Definiert das Schreibverhalten, wenn die Quelle Dateien aus einem dateibasierten Datenspeicher ist. Sie können "Einfügen", "**Upsert" oder " Gespeicherte Prozedur" auswählen.
Einfügen: Wählen Sie diese Option aus, um das Einfügeverhalten zum Laden von Daten in Azure SQL Managed Instance zu verwenden.
Upsert: Wählen Sie diese Option aus, um das Upsert-Schreibverhalten zum Laden von Daten in azure SQL Managed Instance zu verwenden.
Verwenden Sie TempDB: Geben Sie an, ob eine globale temporäre Tabelle oder physische Tabelle als Zwischentabelle für upsert verwendet werden soll. Standardmäßig verwendet der Dienst die globale temporäre Tabelle als Zwischentabelle, und diese Eigenschaft ist ausgewählt.
Wählen Sie das Benutzer-DB-Schema aus: Wenn " TempDB verwenden " nicht ausgewählt ist, geben Sie das Interimsschema zum Erstellen einer Zwischentabelle an, wenn eine physische Tabelle verwendet wird.
Hinweis
Sie müssen über die Berechtigung zum Erstellen und Löschen von Tabellen verfügen. Standardmäßig verwendet eine Zwischentabelle das gleiche Schema wie eine Zieltabelle.
Schlüsselspalten: Geben Sie die Spaltennamen für die eindeutige Zeilenidentifikation an. Es kann entweder ein einzelner Schlüssel oder eine Reihe von Schlüsseln verwendet werden. Bei fehlender Angabe wird der Primärschlüssel verwendet.
Gespeicherte Prozedur: Verwenden Sie die gespeicherte Prozedur, die definiert, wie Quelldaten in eine Zieltabelle angewendet werden. Diese gespeicherte Prozedur wird pro Batch aufgerufen. Verwenden Sie für Vorgänge, die nur einmal ausgeführt werden und nichts mit Quelldaten zu tun haben, z. B. löschen oder abschneiden, die Skripteigenschaft "Pre-copy" .
Name der gespeicherten Prozedur: Wählen Sie die gespeicherte Prozedur aus, oder geben Sie den Namen der gespeicherten Prozedur manuell an, wenn Sie die Bearbeitung zum Lesen von Daten aus der Quelltabelle überprüfen.
Parameter für gespeicherte Prozeduren:
- Tabellentyp: Geben Sie den Tabellentypnamen an, der in der gespeicherten Prozedur verwendet werden soll. Die Kopieraktivität macht die Daten, die in einer temporären Tabelle mit diesem Tabellentyp verschoben werden, verfügbar. Der gespeicherte Prozedurcode kann dann die kopierten Daten mit vorhandenen Daten zusammenführen.
- Tabellentypparametername: Geben Sie den Parameternamen des in der gespeicherten Prozedur angegebenen Tabellentyps an.
- Parameter: Geben Sie Werte für gespeicherte Prozedurparameter an. Zulässige Werte sind Namen oder Name-Wert-Paare. Die Namen und die Groß-/Kleinschreibung von Parametern müssen den Namen und der Groß-/Kleinschreibung der Parameter der gespeicherten Prozedur entsprechen. Sie können "Importparameter" auswählen, um die Parameter der gespeicherten Prozedur abzurufen.
Tabellensperre für Masseneinfügung: Wählen Sie "Ja" oder "Nein" (Standardeinstellung) aus. Verwenden Sie diese Einstellung, um die Kopierleistung während eines Masseneinfügevorgangs in einer Tabelle ohne Index von mehreren Clients zu verbessern. Sie können diese Eigenschaft angeben, wenn Sie "Einfügen" oder "Upsert " als Schreibverhalten auswählen. Weitere Informationen hierzu: Gehen Sie zu BULK INSERT (Transact-SQL)
Skript vorab kopieren: Geben Sie ein Skript für kopieraktivität an, das ausgeführt werden soll, bevor Sie Daten in eine Zieltabelle in jeder Ausführung schreiben. Sie können diese Eigenschaft nutzen, um die vorab geladenen Daten zu bereinigen.
Zeitlimit für Batchschreibvorgang: Geben Sie die Wartezeit an, bis der Batch-Einfügevorgang beendet ist, bevor er eine Zeitüberschreitung verursacht. Der zulässige Wert ist ein Timespan-Wert. Wenn kein Wert angegeben ist, wird das Timeout standardmäßig auf "02:00:00" festgelegt.
Batchgröße schreiben: Geben Sie die Anzahl der Zeilen an, die pro Batch in die SQL-Tabelle eingefügt werden sollen. Der zulässige Wert ist eine ganze Zahl (Anzahl von Zeilen). Standardmäßig bestimmt der Dienst die geeignete Batchgröße dynamisch auf der Grundlage der Zeilengröße.
Maximale Anzahl gleichzeitiger Verbindungen: Die Obergrenze der gleichzeitigen Verbindungen zum Datenspeicher, die während des Ausführens der Aktivität hergestellt werden. Geben Sie diesen Wert nur an, wenn Sie die Anzahl der gleichzeitigen Verbindungen begrenzen möchten.
Kartierung
Für die Konfiguration der Registerkarte Zuordnung, wenn Sie Azure SQL Managed Instance ohne automatische Tabellenerstellung als Ziel nicht verwenden, wechseln Sie zur Zuordnung.
Wenn Sie Azure SQL Managed Instance mit automatischer Tabellenerstellung als Ziel verwenden, außer der Konfiguration von der Zuordnung, können Sie den Datentyp Ihrer Zielspalten bearbeiten. Nach dem Auswählen von Importschemas können Sie den Spaltentyp in Ihrem Ziel angeben.
Der Typ für die ID-Spalte in der Quelle ist z. B. int, und Sie können ihn beim Zuordnen zur Zielspalte in float-Typ ändern.
Einstellungen
Wechseln Sie für die Konfiguration der Registerkarte "Einstellungen " auf der Registerkarte "Einstellungen" zu "Andere Einstellungen konfigurieren".
Parallele Kopie aus verwalteter Azure SQL-Instanz
Der Connector für verwaltete Azure SQL-Instanz bei Kopieraktivitäten bietet integrierte Datenpartitionierung zum parallelen Kopieren von Daten. Sie finden die Optionen für die Datenpartitionierung auf der Registerkarte " Quelle " der Kopieraktivität.
Wenn Sie partitionierte Kopie aktivieren, führt kopieraktivität parallele Abfragen für Ihre Azure SQL Managed Instance-Quelle aus, um Daten nach Partitionen zu laden. Der parallele Grad wird durch den Grad der Kopierparallelität auf der Registerkarte "Kopieraktivitätseinstellungen" gesteuert. Wenn Sie beispielsweise den Grad der Kopierparallelität auf vier festlegen, generiert der Dienst gleichzeitig vier Abfragen basierend auf Der angegebenen Partitionsoption und -einstellungen, und jede Abfrage ruft einen Teil von Daten aus Ihrer azure SQL Managed Instance ab.
Sie werden empfohlen, parallele Kopie mit Datenpartitionierung zu aktivieren, insbesondere wenn Sie eine große Menge von Daten aus Ihrer azure SQL Managed Instance laden. Im Anschluss finden Sie empfohlene Konfigurationen für verschiedene Szenarien. Beim Kopieren von Daten in einen dateibasierten Datenspeicher wird empfohlen, mehrere Dateien in einen Ordner zu schreiben (nur den Ordnernamen anzugeben). In diesem Fall ist die Leistung besser als beim Schreiben in eine einzelne Datei.
| Scenario | Empfohlene Einstellungen |
|---|---|
| Vollständiges Laden aus einer großen Tabelle mit physischen Partitionen |
Partitionsoption: Physische Partitionen der Tabelle. Während der Ausführung erkennt der Dienst automatisch die physischen Partitionen und kopiert Daten nach Partitionen. Um zu überprüfen, ob Ihre Tabelle eine physische Partition besitzt oder nicht, können Sie auf diese Abfrage verweisen. |
| Vollständiges Laden aus einer großen Tabelle ohne physische Partitionen, aber mit einer integer- oder datetime-Spalte für die Datenpartitionierung. |
Partitionsoptionen: Partition des dynamischen Bereichs. Partitionsspalte (optional): Geben Sie die Spalte an, die für Partitionsdaten verwendet wird. Ohne Angabe wird der Index oder die Primärschlüsselspalte verwendet. Partition obergrenze und Partition untere Grenze (optional): Geben Sie an, ob Sie die Partitionsstride bestimmen möchten. Dies dient nicht zum Filtern der Zeilen in der Tabelle, alle Zeilen in der Tabelle werden partitioniert und kopiert. Wenn nicht angegeben, erkennt die Kopieraktivität automatisch die Werte. Wenn Ihre Partitionsspalte "ID" beispielsweise einen Wertebereich von 1 bis 100 hat und Sie die untere Grenze auf 20 und die obere Grenze auf 80 und die Parallelkopie auf 4 setzen, ruft der Dienst Daten nach 4 Partitionen ab - IDs im Bereich <=20, [21, 50], [51, 80] bzw. >=81. |
| Laden einer großen Datenmenge unter Verwendung einer benutzerdefinierten Abfrage ohne physische Partitionen, aber mit einer integer- oder date/datetime-Spalte für die Datenpartitionierung. |
Partitionsoptionen: Partition des dynamischen Bereichs. Abfrage: SELECT * FROM <TableName> WHERE ?DfDynamicRangePartitionCondition AND <your_additional_where_clause>.Partitionsspalte: Geben Sie die Spalte an, die zum Partitionieren von Daten verwendet wird. Partition obergrenze und Partition untere Grenze (optional): Geben Sie an, ob Sie die Partitionsstride bestimmen möchten. Dies dient nicht zum Filtern der Zeilen in der Tabelle, alle Zeilen im Abfrageergebnis werden partitioniert und kopiert. Wenn nicht angegeben, wird der Wert für die Kopieraktivität automatisch erkannt. Wenn Ihre Partitionsspalte „ID“ beispielsweise einen Wertebereich von 1 bis 100 hat und Sie die untere Grenze auf 20, die obere Grenze auf 80 und die Parallelkopie auf 4 festlegen, ruft der Dienst Daten nach 4 Partitionen ab – IDs im Bereich <=20, [21, 50], [51, 80] bzw. >=81. Hier finden Sie weitere Beispiele für verschiedene Szenarien: • Abfrage der gesamten Tabelle: SELECT * FROM <TableName> WHERE ?DfDynamicRangePartitionCondition• Abfrage aus einer Tabelle mit Spaltenauswahl und zusätzlichen WHERE-Klausel-Filtern: SELECT <column_list> FROM <TableName> WHERE ?DfDynamicRangePartitionCondition AND <your_additional_where_clause>• Abfrage mit Unterabfragen: SELECT <column_list> FROM (<your_sub_query>) AS T WHERE ?DfDynamicRangePartitionCondition AND <your_additional_where_clause>• Abfrage mit Partitionierung in einer Unterabfrage: SELECT <column_list> FROM (SELECT <your_sub_query_column_list> FROM <TableName> WHERE ?DfDynamicRangePartitionCondition) AS T |
Bewährte Methoden zum Laden von Daten mit Partitionierungsoption:
- Wählen Sie eine aussagekräftige Spalte als Partitionsspalte (wie Primärschlüssel oder eindeutiger Schlüssel), um Datenabweichungen zu vermeiden.
- Wenn die Tabelle über eine integrierte Partition verfügt, verwenden Sie die Partitionsoption Physische Partitionen der Tabelle , um eine bessere Leistung zu erzielen.
Beispielabfrage zur Überprüfung der physischen Partition
SELECT DISTINCT s.name AS SchemaName, t.name AS TableName, pf.name AS PartitionFunctionName, c.name AS ColumnName, iif(pf.name is null, 'no', 'yes') AS HasPartition
FROM sys.tables AS t
LEFT JOIN sys.objects AS o ON t.object_id = o.object_id
LEFT JOIN sys.schemas AS s ON o.schema_id = s.schema_id
LEFT JOIN sys.indexes AS i ON t.object_id = i.object_id
LEFT JOIN sys.index_columns AS ic ON ic.partition_ordinal > 0 AND ic.index_id = i.index_id AND ic.object_id = t.object_id
LEFT JOIN sys.columns AS c ON c.object_id = ic.object_id AND c.column_id = ic.column_id
LEFT JOIN sys.partition_schemes ps ON i.data_space_id = ps.data_space_id
LEFT JOIN sys.partition_functions pf ON pf.function_id = ps.function_id
WHERE s.name='[your schema]' AND t.name = '[your table name]'
Wenn die Tabelle eine physische Partition besitzt, würde „HasPartition“ wie folgt als „Yes“ (Ja) angezeigt werden.
Tabellenzusammenfassung
In der folgenden Tabelle finden Sie die Zusammenfassung und weitere Informationen zur Azure SQL Managed Instance-Kopieraktivität.
Quellinformationen
| Name | Description | Wert | Erforderlich | JSON-Skripteigenschaft |
|---|---|---|---|---|
| Verbindung | Ihre Verbindung zum Quelldatenspeicher. | < Ihre Verbindung > | Yes | connection |
| Verbindungstyp | Ihr Verbindungstyp. Wählen Sie azure SQL Managed Instance aus. | Verwaltete Azure SQL-Instanz | Yes | / |
| Abfrage verwenden | Die benutzerdefinierte SQL-Abfrage zum Lesen von Daten. | • Tabelle • Abfrage •Gespeicherte Prozedur |
Yes | / |
| Tabelle | Ihre Quelldatentabelle. | < Name der Tabelle> | Nein | schema Tisch |
| Abfrage | Die benutzerdefinierte SQL-Abfrage zum Lesen von Daten. | < Ihre Abfrage > | Nein | sqlReaderQuery |
| Name der gespeicherten Prozedur | Diese Eigenschaft ist der Name der gespeicherten Prozedur, die Daten aus der Quelltabelle liest. Die letzte SQL-Anweisung muss eine SELECT-Anweisung in der gespeicherten Prozedur sein. | < Name der gespeicherten Prozedur > | Nein | sqlReaderStoredProcedureName |
| Parameter für gespeicherte Prozeduren | Diese Parameter gelten für die gespeicherte Prozedur. Zulässige Werte sind Namen oder Name-Wert-Paare. Die Namen und die Groß-/Kleinschreibung von Parametern müssen den Namen und der Groß-/Kleinschreibung der Parameter der gespeicherten Prozedur entsprechen. | < Name- oder Wertpaare > | Nein | gespeicherteProzedurParameter |
| Anfragezeitüberschreitung | Das Timeout für die Ausführung des Abfragebefehls. | timespan (Der Standardwert ist 120 Minuten) |
Nein | queryTimeout |
| Isolationsstufe | Gibt das Transaktionssperrverhalten für die SQL-Quelle an. | • Zugesichert lesen • Unkommissionslos lesen • Wiederholbares Lesen •Serialisierbar •Schnappschuss |
Nein | isolationLevel: • ReadCommitted (Lesebestätigt) • ReadUncommitted (Lesevorgänge von nicht abgeschlossenen Transaktionen) • RepeatableRead •Serialisierbar •Schnappschuss |
| Partitionsoption | Die Datenpartitionierungsoptionen, die zum Laden von Daten aus einer Azure SQL Managed Instance verwendet werden. | • Keine (Standard) • Physische Partitionen der Tabelle •Dynamikbereich |
Nein | Partitionierungsoption: • Keine (Standard) • PhysischePartitionenvonTabelle • DynamicRange |
| Partitionsspaltenname | Der Name der Quellspalte in ganzzahligem oder Datums-/Datetime-Typ (int, smallint, bigint, date, smalldatetime, datetime, datetime2 oder datetimeoffset), die von der Bereichspartitionierung für parallele Kopiervorgänge verwendet wird. Wenn nicht angegeben, wird der Index oder der Primärschlüssel der Tabelle automatisch erkannt und als Partitionsspalte verwendet. Wenn Sie die Quelldaten mithilfe einer Abfrage abrufen, integrieren Sie ?DfDynamicRangePartitionCondition in die WHERE-Klausel. |
< Ihre Partitionsspaltennamen > | Nein | partitionColumnName |
| Partition obergrenze | Der maximale Wert der Partitionsspalte für das Teilen des Partitionsbereichs. Dieser Wert wird verwendet, um den Partitionsschritt zu bestimmen, nicht zum Filtern der Zeilen in der Tabelle. Alle Zeilen im Tabellen- oder Abfrageergebnis werden partitioniert und kopiert. Wenn nicht angegeben, wird der Wert für die Kopieraktivität automatisch erkannt. | < Ihre Partition obergrenze > | Nein | Partition-Obergrenze |
| Partition untere Grenze | Der minimale Wert der Partitionsspalte für das Teilen des Partitionsbereichs. Dieser Wert wird verwendet, um den Partitionsschritt zu bestimmen, nicht zum Filtern der Zeilen in der Tabelle. Alle Zeilen im Tabellen- oder Abfrageergebnis werden partitioniert und kopiert. Wenn nicht angegeben, wird der Wert für die Kopieraktivität automatisch erkannt. | < Ihre Partition untere Grenze > | Nein | partitionLowerBound |
| Zusätzliche Spalten | Fügen Sie zusätzliche Datenspalten hinzu, um den relativen Pfad oder statischen Wert der Quelldateien zu speichern. Für Letzteres wird ein Ausdruck unterstützt. | • Name •Wert |
Nein | zusätzlicheSpalten: •Name • Wert |
Zielinformationen
| Name | Description | Wert | Erforderlich | JSON-Skripteigenschaft |
|---|---|---|---|---|
| Verbindung | Ihre Verbindung zum Zieldatenspeicher. | < Ihre Verbindung > | Yes | connection |
| Verbindungstyp | Ihr Verbindungstyp. Wählen Sie azure SQL Managed Instance aus. | Verwaltete Azure SQL-Instanz | Yes | / |
| Tabellenoption | Gibt an, ob die Zieltabelle automatisch erstellt werden soll, wenn sie nicht basierend auf dem Quellschema vorhanden ist. | • Bestehendes verwenden • Automatisches Erstellen einer Tabelle |
Yes | tableOption: • AutomatischErstellen |
| Tabelle | Ihre Zieldatentabelle. | <Name der Tabelle> | Yes | schema Tisch |
| Verhalten bei Schreibvorgang | Das Schreibverhalten für Kopieraktivitäten zum Laden von Daten in die Azure SQL Managed Instance-Datenbank. | • Einfügen • Einfügen oder Aktualisieren •Gespeicherte Prozedur |
Nein | Schreibverhalten • Einfügen • Upsert sqlWriterStoredProcedureName, sqlWriterTableType, ProzedurTabelleTypParameterName, ProzedurParameter |
| Verwenden von TempDB | Gibt an, ob die globale temporäre Tabelle oder physische Tabelle als Zwischentabelle für upsert verwendet werden soll. | ausgewählt (Standard) oder nicht ausgewählt | Nein | useTempDB: true (Standard) oder false |
| Benutzer-DB-Schema auswählen | Das Zwischenschema zum Erstellen einer Zwischentabelle, wenn physische Tabelle verwendet wird. Hinweis: Benutzer müssen über die Berechtigung zum Erstellen und Löschen einer Tabelle verfügen. In der Zwischentabelle wird standardmäßig dasselbe Schema wie die Zieltabelle verwendet. Wenden Sie dies an, wenn Sie TempDB verwenden nicht auswählen. | ausgewählt (Standard) oder nicht ausgewählt | Nein | interimSchemaName |
| Schlüsselspalten | Die Spaltennamen für eindeutige Zeilenidentifikation. Es kann entweder ein einzelner Schlüssel oder eine Reihe von Schlüsseln verwendet werden. Bei fehlender Angabe wird der Primärschlüssel verwendet. | < Ihre Schlüsselspalte> | Nein | keys |
| Name der gespeicherten Prozedur | Der Name der gespeicherten Prozedur, die definiert, wie Quelldaten auf eine Zieltabelle angewandt werden. Diese gespeicherte Prozedur wird pro Batch aufgerufen. Verwenden Sie für Vorgänge, die nur einmal ausgeführt werden und nichts mit Quelldaten zu tun haben, z. B. Löschen oder Truncaten, die Eigenschaft "Skript vor dem Kopieren". | < Name der gespeicherten Prozedur > | Nein | sqlWriterStoredProcedureName |
| Tabellentyp | Der Tabellentypname, der in der gespeicherten Prozedur verwendet werden soll. Die Kopieraktivität macht die Daten, die in einer temporären Tabelle mit diesem Tabellentyp verschoben werden, verfügbar. Der gespeicherte Prozedurcode kann dann die kopierten Daten mit vorhandenen Daten zusammenführen. | < Name des Tabellentyps > | Nein | sqlWriterTableType |
| Tabellentypparametername | Der Parametername des Tabellentyps, der in der gespeicherten Prozedur angegeben ist. | < Der Parametername des Tabellentyps > | Nein | storedProcedureTableTypeParameterName |
| Parameter | Parameter für die gespeicherte Prozedur. Zulässige Werte: Name-Wert-Paare. Die Namen und die Groß-/Kleinschreibung von Parametern müssen denen der Parameter der gespeicherten Prozedur entsprechen. | < Name- und Wertpaare > | Nein | gespeicherteProzedurParameter |
| Masseneinfügung einer Tabellensperre | Verwenden Sie diese Einstellung, um die Kopierleistung während eines Masseneinfügevorgangs in einer Tabelle ohne Index von mehreren Clients zu verbessern. | Ja oder Nein (Standard) | Nein | sqlWriterUseTableLock: TRUE oder FALSE (Standardwert) |
| Skript vor Kopiervorgang | Ein Skript zum Ausführen von Kopieraktivitäten, bevor Daten in eine Zieltabelle in jeder Ausführung geschrieben werden. Sie können diese Eigenschaft nutzen, um die vorab geladenen Daten zu bereinigen. |
< Skript vorab kopieren > (Zeichenfolge) |
Nein | preCopyScript |
| Zeitlimit für Batchschreibvorgang | Die Wartezeit, bis der Batcheinfügevorgang abgeschlossen ist, bevor ein Timeout auftritt. | timespan (Der Standardwert ist "02:00:00") |
Nein | writeBatchTimeout |
| Schreibbatchgröße | Die Anzahl der Zeilen, die pro Batch in die SQL-Tabelle eingefügt werden sollen. Standardmäßig bestimmt der Dienst die geeignete Batchgröße dynamisch auf der Grundlage der Zeilengröße. |
< Anzahl der Zeilen > (ganze Zahl) |
Nein | writeBatchSize |
| Max. gleichzeitige Verbindungen | Die Obergrenze gleichzeitiger Verbindungen mit dem Datenspeicher während der Aktivitätsausführung. Geben Sie diesen Wert nur an, wenn Sie die Anzahl der gleichzeitigen Verbindungen begrenzen möchten. |
< Obergrenze für gleichzeitige Verbindungen > (ganze Zahl) |
Nein | maxConcurrentConnections |