Konfigurieren der verwalteten Azure SQL-Datenbank-Instanz in einer Copy-Aktivität
In diesem Artikel wird beschrieben, wie Sie die Copy-Aktivität in der Datenpipeline verwenden, um Daten von und zur verwalteten Azure SQL-Datenbank-Instanz zu kopieren.
Unterstützte Konfiguration
Die Konfiguration der einzelnen Registerkarten unter der Kopieraktivität finden Sie in den folgenden Abschnitten.
Allgemein
Informationen zum Konfigurieren der Registerkarte Allgemein finden Sie unter Allgemeine Einstellungen.
Quelle
Die folgenden Eigenschaften werden für die verwaltete Azure SQL-Datenbank-Instanz auf der Registerkarte Quelle einer Copy-Aktivität unterstützt.
Die folgenden Eigenschaften sind erforderlich:
Datenspeichertyp: Wählen Sie Extern aus.
Verbindung: Wählen Sie eine Verbindung der verwalteten Azure SQL-Datenbank-Instanz aus der Verbindungsliste aus. Wenn die Verbindung nicht existiert, erstellen Sie eine neue Verbindung der verwalteten Azure SQL-Datenbank-Instanz, indem Sie Neu auswählen.
Verbindungstyp: Wählen Sie Verwaltete Azure SQL-Datenbank-Instanz aus.
Abfrage verwenden: Geben Sie die Methode zum Lesen von Daten an. Sie können Tabelle, Abfrage oder Gespeicherte Prozedur auswählen. In der folgenden Liste wird die Konfiguration der einzelnen Einstellungen beschrieben:
Tabelle: Liest Daten aus der angegebenen Tabelle. Wählen Sie in der Dropdownliste Ihre Quelltabelle aus, oder wählen Sie Bearbeiten aus, um sie manuell einzugeben.
Abfrage: Geben Sie die benutzerdefinierte SQL-Abfrage zum Lesen der Daten an. z. B.
select * from MyTable
. Oder wählen Sie das Stiftsymbol 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 die Parameter der gespeicherten Prozedur 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 Parameter importieren auswählen, um die Parameter Ihrer gespeicherten Prozedur abzurufen.
Unter Erweitert können Sie die folgenden Felder angeben:
Abfragetimeout (Minuten): Geben Sie den Timeout für die Ausführung von Abfragebefehlen an, der Standardwert ist 120 Minuten. Wenn für diese Eigenschaft ein Parameter festgelegt wird, sind Timespan-Werte zulässig, z. B. „02:00:00“ (120 Minuten).
Isolationsstufe: Gibt das Sperrverhalten für Transaktionen für die SQL-Quelle an. Zulässige Werte sind: Read committed, Read uncommitted, Repeatable read, Serializable oder Snapshot. Ohne Angabe wird die Standardisolationsstufe der Datenbank verwendet. Weitere Informationen finden Sie unter IsolationLevel-Enumeration.
Partitionsoption: Geben Sie die Datenpartitionierungsoptionen an, die zum Laden von Daten aus der verwalteten Azure SQL-Datenbank-Instanz verwendet werden. Zulässige Werte sind: Keine (Standard), Physische Partitionen der Tabelle und Dynamischer Bereich. Wenn eine Partitionierungsoption aktiviert ist (d. h. nicht Keine), wird der Parallelitätsgrad für das gleichzeitige Laden von Daten aus der verwalteten Azure SQL-Datenbank-Instanz durch die Einstellung Parallelitätsgrad für Kopiervorgänge auf der Registerkarte mit den Einstellungen der Copy-Aktivität 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 automatisch auf der Grundlage Ihrer physischen Tabellendefinition bestimmt.
Dynamischer Bereich: Bei Verwendung der Abfrage mit aktivierter Parallelität wird der Parameter für die Bereichspartition (
?DfDynamicRangePartitionCondition
) benötigt. Beispielabfrage:SELECT * FROM <TableName> WHERE ?DfDynamicRangePartitionCondition
.Partitionsspaltenname: Geben Sie den Namen der Quellspalte als „integer“ oder „date/datetime“ (
int
,smallint
,bigint
,date
,smalldatetime
,datetime
,datetime2
oderdatetimeoffset
) an, der bei der Bereichspartitionierung für das parallele Kopieren verwendet wird. Ohne Angabe 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. Ein Beispiel finden Sie im Abschnitt Paralleles Kopieren aus der verwaltete Azure SQL-Datenbank-Instanz.Partitionsobergrenze: ‚Geben Sie den maximalen Wert der Partitionsspalte für das Teilen des Partitionsbereichs an. Dieser Wert wird zur Entscheidung über den Partitionssprung verwendet, nicht zum Filtern der Zeilen in der Tabelle. Alle Zeilen in der Tabelle oder im Abfrageergebnis werden partitioniert und kopiert. Wenn nicht angegeben, wird der Wert für die Kopieraktivität automatisch erkannt. Ein Beispiel finden Sie im Abschnitt Paralleles Kopieren aus der verwaltete Azure SQL-Datenbank-Instanz.
Partitionsuntergrenze: Geben Sie den Mindestwert der Partitionsspalte für das Teilen des Partitionsbereichs an. Dieser Wert wird zur Entscheidung über den Partitionssprung verwendet, nicht zum Filtern der Zeilen in der Tabelle. Alle Zeilen in der Tabelle oder im Abfrageergebnis werden partitioniert und kopiert. Wenn nicht angegeben, wird der Wert für die Kopieraktivität automatisch erkannt. Ein Beispiel finden Sie im Abschnitt Paralleles Kopieren aus der verwaltete Azure SQL-Datenbank-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 folgende Punkte:
- Wenn als Quelle Abfrage angegeben ist, führt die Copy-Aktivität diese Abfrage für die verwaltete Azure SQL-Datenbank-Instanz als Quelle aus, um die Daten abzurufen. Sie können auch eine gespeicherte Prozedur festlegen, indem Sie Name der gespeicherten Prozedur und Parameter der gespeicherten Prozedur angeben, sofern die gespeicherte Prozedur Parameter akzeptiert.
- Wenn Sie eine gespeicherte Prozedur in der Quelle zum Abrufen von Daten verwenden und Ihre gespeicherte Prozedur so konzipiert ist, dass sie bei der Übergabe eines anderen Parameterwerts ein anderes Schema zurückgibt, kann es beim Importieren eines Schemas über die Benutzeroberfläche oder beim Kopieren von Daten in eine SQL-Datenbank mit automatischer Tabellenerstellung zu einem Fehler oder einem unerwarteten Ergebnis kommen.
Destination
Die folgenden Eigenschaften werden für die verwaltete Azure SQL-Datenbank-Instanz auf der Registerkarte Ziel einer Copy-Aktivität unterstützt.
Die folgenden Eigenschaften sind erforderlich:
Datenspeichertyp: Wählen Sie Extern aus.
Verbindung: Wählen Sie eine Verbindung der verwalteten Azure SQL-Datenbank-Instanz aus der Verbindungsliste aus. Wenn die Verbindung nicht existiert, erstellen Sie eine neue Verbindung der verwalteten Azure SQL-Datenbank-Instanz, indem Sie Neu auswählen.
Verbindungstyp: Wählen Sie Verwaltete Azure SQL-Datenbank-Instanz aus.
Tabellenoption: Sie können Vorhandene verwenden auswählen, um die angegebene Tabelle zu verwenden. Alternativ können Sie Tabelle automatisch erstellen auswählen, um automatisch eine Zieltabelle zu erstellen, wenn die Tabelle nicht im Quellschema vorhanden ist. Beachten Sie, dass diese Option nicht unterstützt wird, wenn „Gespeicherte Prozedur“ als Schreibverhalten verwendet wird.
Bei Auswahl von Vorhandene verwenden:
- Tabelle: Wählen Sie in der Dropdownliste die Tabelle in Ihrer Zieldatenbank aus. Sie können auch Bearbeiten aktivieren, um den Tabellennamen manuell einzugeben.
Bei Auswahl von 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: Legt das Schreibverhalten fest, wenn die Quelle Dateien aus einem dateibasierten Datenspeicher sind. Sie können Einfügen, Upsert** oder Gespeicherte Prozedur auswählen.
Einfügen: Wählen Sie diese Option aus, um das Schreibverhalten „Einfügen“ zum Laden von Daten in die verwaltete Azure SQL-Datenbank-Instanz zu verwenden.
Upsert ausführen: Wählen Sie diese Option aus, um das Schreibverhalten „Upsert ausführen“ zum Laden von Daten in die verwaltete Azure SQL-Datenbank-Instanz zu verwenden.
TempDB verwenden: Geben Sie an, ob eine globale temporäre Tabelle oder physische Tabelle als Zwischentabelle für Upserts verwendet werden soll. Standardmäßig verwendet der Dienst eine globale temporäre Tabelle als Zwischentabelle, und diese Eigenschaft ist ausgewählt.
Benutzerdatenbankschema auswählen: Wenn TempDB verwenden nicht aktiviert ist, geben Sie das Zwischenschema für das Erstellen einer Zwischentabelle an, sofern eine physische Tabelle verwendet wird.
Hinweis
Sie benötigen die Berechtigung zum Erstellen und Löschen von Tabellen. Standardmäßig wird eine Zwischentabelle das gleiche Schema wie eine Zieltabelle haben.
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 übernommen werden können. Diese gespeicherte Prozedur wird pro Batch aufgerufen. Für Vorgänge, die nur einmal ausgeführt werden und nicht mit Quelldaten in Zusammenhang stehen (etwa Löschen oder Kürzen), verwenden Sie die Eigenschaft Skript vor Kopiervorgang.
Name der gespeicherten Prozedur: Wählen Sie die gespeicherte Prozedur aus, oder geben Sie den Namen der gespeicherten Prozedur manuell an, wenn Sie Bearbeiten aktivieren, um Daten aus der Quelltabelle zu lesen.
Parameter gespeicherter Prozeduren:
- Tabellentyp: Geben Sie den Namen des Tabellentyps an, der in der gespeicherten Prozedur verwendet werden soll. Die Kopieraktivität macht die verschobenen Daten in einer temporären Tabelle mit diesem Tabellentyp verfügbar. Der gespeicherte Prozedurcode kann dann die kopierten Daten mit vorhandenen Daten zusammenführen.
- Tabellentyp-Parametername: Geben Sie den Parameternamen des Tabellentyps an, der in der gespeicherten Prozedur angegeben ist.
- Parameter: Geben Sie Werte für Parameter der gespeicherten Prozedur 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 Parameter importieren auswählen, um die Parameter Ihrer 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 eine Tabelle ohne Index von mehreren Clients aus zu verbessern. Sie können diese Eigenschaft angeben, wenn Sie Einfügen oder Upsert ausführen als Schreibverhalten auswählen. Weitere Informationen finden Sie unter BULK INSERT (Transact-SQL).
Skript vor Kopiervorgang: Geben Sie ein Skript für die Copy-Aktivität an, das bei jeder Ausführung vor dem Schreiben von Daten in eine Zieltabelle ausgeführt wird. 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 festgelegt ist, wird für das Timeout der Standardwert „02:00:00“ verwendet.
Schreibbatchgröße: Geben Sie die Anzahl der Zeilen an, die pro Batch in die SQL-Tabelle eingefügt werden sollen. Zulässiger Wert: integer (Anzahl der 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.
Zuordnung
Wenn Sie für die Konfiguration der Registerkarte Zuordnung keine verwaltete Azure SQL-Datenbank-Instanz mit sich automatisch erstellender Tabelle als Ziel verwenden, wechseln Sie zu Zuordnung.
Wenn Sie eine verwaltete Azure SQL-Datenbank-Instanz mit sich automatisch erstellender Tabelle als Ziel verwenden, können Sie mit Ausnahme der Konfiguration in Zuordnung den Typ für Ihre Zielspalten bearbeiten. Nach dem Auswählen von Importschemas können Sie den Spaltentyp in Ihrem Ziel angeben.
Der Typ für die Spalte ID in der Quelle ist z. B. „int“, und Sie können ihn beim Zuordnen zur Zielspalte in den Typ „Float“ ändern.
Einstellungen
Wechseln Sie für die Konfiguration der Registerkarte Einstellungen zu Konfigurieren der anderen Einstellungen auf der Registerkarte „Einstellungen“.
Paralleles Kopieren aus einer verwalteten Azure SQL-Datenbank-Instanz
Der Connector für die verwaltete Azure SQL-Datenbank-Instanz in der Copy-Aktivität verfügt über eine integrierte Datenpartitionierung zum parallelen Kopieren von Daten. Die Datenpartitionierungsoptionen befinden sich auf der Registerkarte Quelle der Kopieraktivität.
Wenn Sie das partitionierte Kopieren aktivieren, führt die Copy-Aktivität parallele Abfragen für Ihre verwaltete Azure SQL-Datenbank-Instanz als Quelle aus, um Daten in Partitionen zu laden. Der Parallelitätsgrad wird über die Einstellung Parallelitätsgrad für Kopiervorgänge auf der Registerkarte mit den Einstellungen der Copy-Aktivität gesteuert. Wenn Sie Parallelitätsgrad für Kopiervorgänge z. B. auf „4“ festlegen, generiert der Dienst basierend auf der von Ihnen angegebenen Partitionsoption und Ihren Einstellungen gleichzeitig vier Abfragen und führt sie aus. Dabei ruft jede Abfrage einen Teil der Daten aus der verwalteten Azure SQL-Datenbank-Instanz ab.
Es wird empfohlen, das parallele Kopieren mit Datenpartitionierung zu aktivieren, vor allem, wenn Sie große Datenmengen aus Ihrer verwalteten Azure SQL-Datenbank-Instanz 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.
Szenario | 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: Dynamische Bereichspartitionierung Partitionsspalte (optional): Geben Sie die Spalte für die Datenpartitionierung an. Ohne Angabe wird der Index oder die Primärschlüsselspalte verwendet. Obergrenze der Partition und Untergrenze der Partition (optional): Geben Sie an, ob Sie den Partitionssprung 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, werden die Werte für die Copy-Aktivität automatisch erkannt. 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: Dynamische Bereichspartitionierung Abfrage: SELECT * FROM <TableName> WHERE ?DfDynamicRangePartitionCondition AND <your_additional_where_clause> Partitionsspalte: Geben Sie die Spalte für die Datenpartitionierung an. Obergrenze der Partition und Untergrenze der Partition (optional): Geben Sie an, ob Sie den Partitionssprung 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> • Abfragen mit Unterabfragen: SELECT <column_list> FROM (<your_sub_query>) AS T WHERE ?DfDynamicRangePartitionCondition AND <your_additional_where_clause> • Abfrage mit Partition in 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 eine integrierte Partition aufweist, 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
Die Zusammenfassung und weitere Informationen zur Copy-Aktivität der verwalteten Azure SQL-Datenbank-Instanz finden Sie in der folgenden Tabelle.
Quellinformationen
Name | Beschreibung | Wert | Erforderlich | JSON-Skripteigenschaft |
---|---|---|---|---|
Datenspeichertyp | Ihr Datenspeichertyp | Extern | Ja | / |
Verbindung | Ihre Verbindung mit dem Quelldatenspeicher | < Ihre Verbindung > | Ja | Verbindung |
Verbindungstyp | Ihr Verbindungstyp. Wählen Sie Verwaltete Azure SQL-Datenbank-Instanz aus. | Verwaltete Azure SQL-Datenbank-Instanz | Ja | / |
Verwendungsabfrage | Die benutzerdefinierte SQL-Abfrage zum Lesen von Daten. | • Tabelle • Abfrage • Gespeicherte Prozedur |
Ja | / |
Tabelle | Ihre Quelldatentabelle. | <Name Ihrer Tabelle> | Nein | schema table |
Abfrage | Die benutzerdefinierte SQL-Abfrage zum Lesen von Daten. | <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 der gespeicherten Prozedur | Diese Parameter werden für die gespeicherte Prozedur verwendet. 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 Wert-Paare> | Nein | storedProcedureParameters |
Abfragetimeout | Das Timeout für die Ausführung des Abfragebefehls. | Zeitraum (Die Standardeinstellung ist 120 Minuten.) |
Nein | queryTimeout |
Isolationsstufe | Gibt das Sperrverhalten für Transaktionen für die SQL-Quelle an. | • Lesen zugesichert • Lesen nicht zugesichert • Wiederholbarer Lesevorgang • Serializable • Snapshot |
Nein | isolationLevel: • ReadCommitted • ReadUncommitted • RepeatableRead • Serializable • Snapshot |
Partitionsoption | Die Datenpartitionierungsoptionen, mit denen Daten aus der verwalteten Azure SQL-Datenbank-Instanz geladen werden. | • Keine (Standard) • Physische Partitionen der Tabelle • Dynamischer Bereich |
Nein | partitionOption: • Keine (Standard) • PhysicalPartitionsOfTable • DynamicRange |
Partitionsspaltenname | Der Name der Quellspalte mit dem Typ „integer“ oder „date/datetime“ (int , smallint , bigint , date , smalldatetime , datetime , datetime2 oder datetimeoffset ), der von der Bereichspartitionierung für das parallele Kopieren verwendet wird. Ohne Angabe 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. |
<Namen Ihrer Partitionsspalten> | Nein | partitionColumnName |
Partitionsobergrenze | Der maximale Wert der Partitionsspalte für das Teilen des Partitionsbereichs. Dieser Wert wird zur Entscheidung über den Partitionssprung verwendet, nicht zum Filtern der Zeilen in der Tabelle. Alle Zeilen in der Tabelle oder im Abfrageergebnis werden partitioniert und kopiert. Wenn nicht angegeben, wird der Wert für die Kopieraktivität automatisch erkannt. | <Ihre Partitionsobergrenze> | Nein | partitionUpperBound |
Partitionsuntergrenze | Der minimale Wert der Partitionsspalte für das Teilen des Partitionsbereichs. Dieser Wert wird zur Entscheidung über den Partitionssprung verwendet, nicht zum Filtern der Zeilen in der Tabelle. Alle Zeilen in der Tabelle oder im Abfrageergebnis werden partitioniert und kopiert. Wenn nicht angegeben, wird der Wert für die Kopieraktivität automatisch erkannt. | <Ihre Partitionsuntergrenze> | 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 | additionalColumns: • Name • Wert |
Zielinformationen
Name | Beschreibung | Wert | Erforderlich | JSON-Skripteigenschaft |
---|---|---|---|---|
Datenspeichertyp | Ihr Datenspeichertyp | Extern | Ja | / |
Verbindung | Ihre Verbindung mit dem Zieldatenspeicher. | < Ihre Verbindung > | Ja | Verbindung |
Verbindungstyp | Ihr Verbindungstyp. Wählen Sie Verwaltete Azure SQL-Datenbank-Instanz aus. | Verwaltete Azure SQL-Datenbank-Instanz | Ja | / |
Tabellenoption | Gibt an, ob die Zieltabelle automatisch erstellt werden soll, wenn sie im Quellschema nicht vorhanden ist. | • Vorhandene verwenden • Tabelle automatisch erstellen |
Ja | tableOption: • autoCreate |
Tabelle | Ihre Zieldatentabelle. | <Name Ihrer Tabelle> | Ja | schema table |
Verhalten bei Schreibvorgang | Das Schreibverhalten für die Copy-Aktivität zum Laden von Daten in die verwaltete Azure SQL-Datenbank-Instanz. | • Einfügen • Upsert • Gespeicherte Prozedur |
Nein | writeBehavior: • Einfügen • Upsert sqlWriterStoredProcedureName, sqlWriterTableType, storedProcedureTableTypeParameterName, storedProcedureParameters |
TempDB verwenden | Gibt an, ob die globale temporäre Tabelle oder die physische Tabelle als Zwischentabelle für Upserts verwendet werden soll. | Aktiviert (Standardwert) oder deaktiviert | Nein | useTempDB: TRUE (Standardwert) oder FALSE |
Benutzerdatenbankschema auswählen | Das Zwischenschema zum Erstellen einer Zwischentabelle, wenn eine physische Tabelle verwendet wird. Hinweis: Benutzer müssen über die Berechtigung zum Erstellen und Löschen einer Tabelle verfügen. Standardmäßig nutzt eine Zwischentabelle das gleiche Schema wie eine Zieltabelle. Wenden Sie diese Einstellung an, wenn Sie nicht TempDB verwenden auswählen. | Aktiviert (Standardwert) oder deaktiviert | Nein | interimSchemaName |
Schlüsselspalten | Die Spaltennamen für die 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. Für Vorgänge, die nur einmal ausgeführt werden und nicht mit Quelldaten in Zusammenhang stehen (etwa Löschen oder Kürzen), verwenden Sie die Eigenschaft Skript vor Kopiervorgang. | <Name Ihrer gespeicherten Prozedur> | Nein | sqlWriterStoredProcedureName |
Tabellentyp | Der Tabellentypname, der in der gespeicherten Prozedur verwendet werden soll. Die Kopieraktivität macht die verschobenen Daten in einer temporären Tabelle mit diesem Tabellentyp verfügbar. Der gespeicherte Prozedurcode kann dann die kopierten Daten mit vorhandenen Daten zusammenführen. | <Name Ihres Tabellentyps> | Nein | sqlWriterTableType |
Name des Parameters für den Tabellentyp | Der Parametername des Tabellentyps, der in der gespeicherten Prozedur angegeben ist. | <Ihr Parametername für den Tabellentyp> | 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-Wert-Paare> | Nein | storedProcedureParameters |
Tabellensperre für Masseneinfügung | Verwenden Sie diese Einstellung, um die Kopierleistung während eines Masseneinfügevorgangs in eine Tabelle ohne Index von mehreren Clients aus zu verbessern. | „Ja“ oder „Nein“ (Standard) | Nein | sqlWriterUseTableLock: TRUE oder FALSE (Standardwert) |
Skript vor Kopiervorgang | Ein Skript für die Copy-Aktivität, das bei jeder Ausführung vor dem Schreiben von Daten in eine Zieltabelle ausgeführt werden soll. Sie können diese Eigenschaft nutzen, um die vorab geladenen Daten zu bereinigen. | <Skript vor Kopiervorgang> (Zeichenfolge) |
Nein | preCopyScript |
Zeitlimit für Batchschreibvorgang | Wartezeit für den Abschluss der Batcheinfügung, bis das Timeout wirksam wird. | Zeitraum (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 von Zeilen > (Integer) |
Nein | writeBatchSize |
Maximal zulässige Anzahl paralleler 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 > (Integer) |
Nein | maxConcurrentConnections |