

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Mit AWS DMS Aufgaben arbeiten
<a name="CHAP_Tasks"></a>

Bei einer Aufgabe des AWS Database Migration Service (AWS DMS) wird die gesamte Arbeit erledigt. Sie geben an, welche Tabellen (oder Ansichten) und Schemas für die Migration verwendet werden sollen. Zudem legen Sie eine spezielle Verarbeitung, z. B. die Protokollierung von Anforderungen, die Steuerung von Tabellendaten und die Fehlerbehandlung, fest. 

Eine Aufgabe kann aus drei Hauptphasen bestehen:
+ Migration vorhandener Daten (Volllast)
+ Die Anwendung der zwischengespeicherten Änderungen
+ Laufende Replikation (Erfassung von Datenänderungen)

Weitere Informationen und einen Überblick darüber, wie AWS DMS Migrationsaufgaben Daten migrieren, finden Sie unter [Überblick über AWS DMS](CHAP_Introduction.HighLevelView.md)

Bei der Erstellung einer Migrationsaufgabe müssen Sie mehrere Dinge beachten:
+ Bevor Sie eine Aufgabe erstellen können, müssen Sie einen Quellendpunkt, einen Zielendpunkt und eine Replikations-Instance erstellen. 
+ Sie können viele Aufgabeneinstellungen festlegen, um Ihre Migrationsaufgabe anzupassen. Sie können diese festlegen, indem Sie die AWS-Managementkonsole, AWS Command Line Interface (AWS CLI) oder die AWS DMS-API verwenden. Dazu gehören Einstellungen, die die Behandlung von Migrationsfehlern, die Fehlerprotokollierung und Informationen zu Steuerungstabellen betreffen. Informationen zur Verwendung einer Aufgabenkonfigurationsdatei zum Festlegen von Aufgabeneinstellungen finden Sie unter [Beispiel für Aufgabeneinstellungen](CHAP_Tasks.CustomizingTasks.TaskSettings.md#CHAP_Tasks.CustomizingTasks.TaskSettings.Example).
+ Nachdem Sie eine Aufgabe erstellt haben, können Sie sie sofort ausführen. Die Zieltabellen mit den erforderlichen Metadatendefinitionen werden automatisch erstellt und geladen, und Sie können die laufende Replikation angeben.
+ Standardmäßig AWS DMS startet Ihre Aufgabe, sobald Sie sie erstellen. In manchen Situationen möchten Sie den Beginn einer Aufgabe jedoch möglicherweise verschieben. Wenn Sie beispielsweise den verwenden, haben Sie möglicherweise einen Prozess AWS CLI, der eine Aufgabe erstellt, und einen anderen Prozess, der die Aufgabe auf der Grundlage eines auslösenden Ereignisses startet. Bei Bedarf können Sie den Beginn Ihrer Aufgabe verschieben. 
+ Sie können Aufgaben mithilfe der Konsole oder der AWS DMS API überwachen AWS CLI, beenden oder neu starten. Informationen zum Beenden einer Aufgabe mithilfe der AWS DMS API finden Sie [StopReplicationTask](https://docs.aws.amazon.com/dms/latest/APIReference/API_StopReplicationTask.html)in der [AWS DMS API-Referenz](https://docs.aws.amazon.com/dms/latest/APIReference/).

Die folgenden Aktionen können Sie ausführen, wenn Sie mit einer AWS DMS Aufgabe arbeiten.


| Aufgabe | Relevante Dokumentation | 
| --- | --- | 
|   **Erstellen einer Aufgabe**  Wenn Sie eine Aufgabe erstellen, geben Sie die Quelle, das Ziel und die Replikations-Instance zusammen mit den Migrationseinstellungen an.  |  [Erstellen einer Aufgabe](CHAP_Tasks.Creating.md)  | 
|   **Erstellen einer fortlaufenden Replikationsaufgabe**  Sie können eine Aufgabe einrichten, um die fortlaufende Replikation zwischen Quelle und Ziel bereitzustellen.   |  [Aufgaben für die laufende Replikation erstellen mit AWS DMS](CHAP_Task.CDC.md)  | 
|   **Anwenden von Aufgabeneinstellungen**  Jede Aufgabe hat Einstellungen, die entsprechend den Anforderungen Ihrer Datenbankmigration konfiguriert werden können. Sie erstellen diese Einstellungen in einer JSON-Datei oder Sie können einige Einstellungen mithilfe der AWS DMS -Konsole angeben. Informationen zur Verwendung einer Aufgabenkonfigurationsdatei zum Festlegen von Aufgabeneinstellungen finden Sie unter [Beispiel für Aufgabeneinstellungen](CHAP_Tasks.CustomizingTasks.TaskSettings.md#CHAP_Tasks.CustomizingTasks.TaskSettings.Example).  |  [Angeben von Aufgabeneinstellungen für Aufgaben des AWS Database Migration Service](CHAP_Tasks.CustomizingTasks.TaskSettings.md)  | 
|   **Verwenden der Tabellenzuweisung**  Die Tabellenzuweisung legt zusätzliche Aufgabeneinstellungen für Tabellen mithilfe verschiedener Regeltypen fest. Mit diesen Regeln können Sie die Datenquelle, das Quellschema, Tabellen und Ansichten, Daten, alle Tabellen- und Datentransformationen, die während der Aufgabe durchgeführt werden sollen, sowie Einstellungen für die Migration dieser Tabellen und Spalten von der Quelle zum Ziel angeben.  |  Auswahlregeln  [Auswahlregeln und Aktionen](CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Selections.md) Transformationsregeln  [Transformationsregeln und Aktionen](CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Transformations.md)Regeln für Tabelleneinstellungen [Regeln und Operationen für Tabellen- und Sammlungseinstellungen](CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Tablesettings.md) | 
|   **Ausführen von Aufgabenbewertungen vor der Migration**  Sie können Aufgabenbewertungen vor der Migration aktivieren und ausführen, um Fehler bei einer unterstützten Quell- und Zieldatenbank aufzuzeigen, die während einer Migration zu Problemen führen können. Dies kann Fehler wie nicht unterstützte Datentypen, nicht übereinstimmende Indizes und Primärschlüssel sowie andere widersprüchliche Aufgabeneinstellungen umfassen. Diese Bewertungen vor der Migration werden vor der Aufgabenausführung vorgenommen, um potenzielle Fehler zu identifizieren, bevor sie während einer Migration auftreten.  |  [Aktivieren und Verwenden von Vormigrationsbewertungen für eine Aufgabe](CHAP_Tasks.AssessmentReport.md)  | 
|   **Datenvalidierung**  Bei der Datenvalidierung handelt es sich um eine Aufgabeneinstellung, bei der AWS DMS die Daten in Ihrem Zieldatenspeicher mit den Daten in Ihrem Quelldatenspeicher vergleicht.  |  [AWS DMS-Datenvalidierung](CHAP_Validating.md).  | 
|   **Ändern einer Aufgabe**  Wenn eine Aufgabe angehalten wird, können Sie die Einstellungen für die Aufgabe ändern.  |  [Ändern einer Aufgabe](CHAP_Tasks.Modifying.md)  | 
|   **Verschieben einer Aufgabe**  Wenn eine Aufgabe angehalten wird, können Sie die Aufgabe auf eine andere Replikations-Instance verschieben.  |  [Verschieben einer Aufgabe](CHAP_Tasks.Moving.md)  | 
|   **Erneutes Laden von Tabellen während einer Aufgabe**  Sie können eine Tabelle während einer Aufgabe neu laden, wenn während einer Aufgabe ein Fehler auftritt.  |  [Erneutes Laden von Tabellen während einer Aufgabe](CHAP_Tasks.ReloadTables.md)  | 
|   **Anwenden von Filtern**  Sie können Quellfilter verwenden, um Anzahl und Art der Datensätze zu beschränken, die von Ihrer Quelle auf Ihr Ziel übertragen werden. So können Sie beispielsweise festlegen, dass nur die am Hauptsitz ansässigen Angestellten in die Zieldatenbank übertragen werden. Sie wenden Filter auf eine Datenspalte an.  |  [Verwenden von Quellfiltern](CHAP_Tasks.CustomizingTasks.Filters.md)  | 
| Überwachen einer Aufgabe Es gibt mehrere Möglichkeiten, um Informationen über die Durchführung einer Aufgabe und die von der Aufgabe verwendeten Tabellen zu erhalten.  |  [AWS DMS-Aufgaben überwachen](CHAP_Monitoring.md)  | 
| Verwalten von Aufgabenprotokollen Sie können Aufgabenprotokolle mithilfe der AWS DMS API oder anzeigen und löschen AWS CLI.   |  [AWS DMS-Aufgabenprotokolle anzeigen und verwalten](CHAP_Monitoring.md#CHAP_Monitoring.ManagingLogs)  | 

**Topics**
+ [Erstellen einer Aufgabe](CHAP_Tasks.Creating.md)
+ [Aufgaben für die laufende Replikation erstellen mit AWS DMS](CHAP_Task.CDC.md)
+ [Ändern einer Aufgabe](CHAP_Tasks.Modifying.md)
+ [Verschieben einer Aufgabe](CHAP_Tasks.Moving.md)
+ [Erneutes Laden von Tabellen während einer Aufgabe](CHAP_Tasks.ReloadTables.md)
+ [Verwenden der Tabellenzuweisung zum Angeben von Aufgabeneinstellungen](CHAP_Tasks.CustomizingTasks.TableMapping.md)
+ [Verwenden von Quellfiltern](CHAP_Tasks.CustomizingTasks.Filters.md)
+ [Aktivieren und Verwenden von Vormigrationsbewertungen für eine Aufgabe](CHAP_Tasks.AssessmentReport.md)
+ [Angeben zusätzlicher Daten für Aufgabeneinstellungen](CHAP_Tasks.TaskData.md)

# Erstellen einer Aufgabe
<a name="CHAP_Tasks.Creating"></a>

Gehen Sie wie folgt vor, um eine AWS DMS Migrationsaufgabe zu erstellen:
+ Erstellen Sie einen Quellendpunkt, einen Zielendpunkt und eine Replikations-Instance, bevor Sie eine Migrationsaufgabe erstellen. 
+ Wählen Sie eine Migrationsmethode aus:
  + **Migrieren von Daten in die Zieldatenbank** – Dieser Prozess erstellt Dateien oder Tabellen in der Zieldatenbank und definiert automatisch die am Ziel erforderlichen Metadaten. Außerdem füllt er die Tabellen mit Daten aus der Quelle aus. Für eine bessere Effizienz werden die Daten parallel aus den Tabellen geladen. Dieser Vorgang ist die Option **Bestehende Daten migrieren** in der AWS-Managementkonsole und wird `Full Load` in der API aufgerufen.
  + **Aufzeichnen von Änderungen während der Migration** – Dieser Prozess erfasst Änderungen an der Quelldatenbank, die während der Migration der Daten von der Quelle zum Ziel auftreten. Wenn die Migration der ursprünglich angefragten Daten abgeschlossen ist, wendet der CDC (Change Data Capture)-Prozess die erfassten Änderungen auf die Zieldatenbank an. Änderungen werden erfasst und als Einheiten einzelner durchgeführter Transaktionen angewendet. Sie können mehrere verschiedene Tabellen als Commit einer einzelnen Quelle aktualisieren. Dieser Ansatz garantiert Transaktionsintegrität in der Zieldatenbank. Bei diesem Prozess handelt es sich in der Konsole um die Option **Migrate existing data and replicate ongoing changes (Vorhandene Daten migrieren und fortlaufende Änderungen replizieren)** und in der API um `full-load-and-cdc`.
  + **Nur Replizieren von Datenänderungen in der Quelldatenbank** – Bei diesem Prozess wird die Datei mit dem Wiederherstellungsprotokoll des Quell-DBMS (Datenbankmanagementsystem) gelesen und die Einträge für die einzelnen Transaktionen werden gruppiert. In einigen Fällen AWS DMS können Änderungen nicht innerhalb eines angemessenen Zeitraums auf das Ziel angewendet werden (z. B. wenn das Ziel nicht zugänglich ist). In diesen Fällen werden die AWS DMS Änderungen so lange wie nötig auf dem Replikationsserver zwischengespeichert. Er liest die Quell-DBMS-Protokolle nicht erneut, was viel Zeit in Anspruch nehmen kann. Dieser Prozess entspricht der Option **Nur Replizieren von Datenänderungen** in der AWS DMS -Konsole. 
+ Ermitteln Sie, wie die Aufgabe mit großen binären Objekten (LOBs) auf der Quelle umgehen soll. Weitere Informationen finden Sie unter [Einstellung der LOB-Unterstützung für Quelldatenbanken in einer Aufgabe AWS DMS](CHAP_Tasks.LOBSupport.md).
+ Geben Sie die Migrationsaufgabeneinstellungen an. Dazu gehören die Einrichtung der Protokollierung, Angaben dazu, welche Daten in die Migrationssteuertabelle geschrieben werden, wie Fehler behandelt werden sowie andere Einstellungen. Weitere Informationen zu den Aufgabeneinstellungen finden Sie unter [Angeben von Aufgabeneinstellungen für Aufgaben des AWS Database Migration Service](CHAP_Tasks.CustomizingTasks.TaskSettings.md).
+ Einrichten der Tabellenzuweisung, um Regeln zu definieren, anhand derer die zu migrierenden Daten ausgewählt und gefiltert werden. Weitere Informationen zur Tabellenzuweisung finden Sie unter [Verwenden der Tabellenzuweisung zum Angeben von Aufgabeneinstellungen](CHAP_Tasks.CustomizingTasks.TableMapping.md). Bevor Sie Ihre Zuweisung angeben, sollten Sie den Abschnitt in der Dokumentation zur Zuweisung der Datentypen für Ihre Quell- und Zieldatenbank lesen. 
+ Aktivieren Sie Vormigrations-Aufgabenbewertungen und führen Sie diese aus, bevor Sie die Aufgabe ausführen. Weitere Informationen zu Vormigrationsbewertungen finden Sie unter [Aktivieren und Verwenden von Vormigrationsbewertungen für eine Aufgabe](CHAP_Tasks.AssessmentReport.md).
+ Geben Sie alle erforderlichen zusätzlichen Daten für die Aufgabe an, um Ihre Daten zu migrieren. Weitere Informationen finden Sie unter [Angeben zusätzlicher Daten für Aufgabeneinstellungen](CHAP_Tasks.TaskData.md).

Sie können festlegen, dass eine Aufgabe gestartet wird, sobald Sie die Informationen zu dieser Aufgabe auf der Seite **Create task (Aufgabe erstellen)** angegeben haben. Alternativ können Sie die Aufgabe auch später von der Dashboard-Seite aus starten.

Im folgenden Verfahren wird davon ausgegangen, dass Sie bereits Informationen und Endpunkte der Replikations-Instance angegeben haben. Weitere Informationen zum Einrichten von Endpunkten finden Sie unter [Erstellen der Quell- und Zielendpunkte](CHAP_Endpoints.Creating.md).

**So erstellen Sie eine Migrationsaufgabe**

1. Melden Sie sich bei [https://console.aws.amazon.com/dms/v2/](https://console.aws.amazon.com/dms/v2/) an AWS-Managementkonsole und öffnen Sie die AWS DMS Konsole. 

   Wenn Sie als AWS Identity and Access Management (IAM-) Benutzer angemeldet sind, stellen Sie sicher, dass Sie über die entsprechenden Zugriffsberechtigungen verfügen. AWS DMS Weitere Informationen zu den erforderlichen Berechtigungen finden Sie unter [Für die Verwendung sind IAM-Berechtigungen erforderlich AWS DMS](security-iam.md#CHAP_Security.IAMPermissions).

1. Wählen Sie im Navigationsbereich **Datenbankmigrationsaufgaben** und dann **Aufgabe erstellen** aus.

1. Geben Sie auf der Seite **Datenbankmigrationsaufgabe erstellen** im Abschnitt **Aufgabenkonfiguration** die Aufgabenoptionen an. In der folgenden Tabelle sind die Einstellungen beschrieben.  
![\[Aufgabe erstellen\]](http://docs.aws.amazon.com/de_de/dms/latest/userguide/images/datarep-gs-wizard4.png)    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/dms/latest/userguide/CHAP_Tasks.Creating.html)

1. Geben Sie im Abschnitt **Aufgabeneinstellungen** Werte für die Bearbeitung Ihrer Aufgabe, den Zieltabellen-Vorbereitungsmodus, den Aufgabenstopp, LOB-Einstellungen, Validierung und Protokollierung an.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/dms/latest/userguide/CHAP_Tasks.Creating.html)

1. Wählen Sie im Abschnitt **Vormigrationsbewertung** aus, ob eine Vormigrationsbewertung ausgeführt werden soll. Eine Vormigrationsbewertung warnt Sie vor potenziellen Migrationsproblemen, bevor Sie mit der Datenbankmigration beginnen. Weitere Informationen finden Sie unter [Aktivieren und Verwenden von Vormigrationsbewertungen](CHAP_Tasks.AssessmentReport.md). 

1. Geben Sie im Abschnitt **Startup-Konfiguration der Migrationsaufgabe** an, ob die Aufgabe automatisch nach der Erstellung gestartet werden soll.

1. Geben Sie im Abschnitt **Tags** alle Tags an, die Sie zur Organisation Ihrer Aufgabe benötigen. Sie können Tags verwenden, um Ihre IAM-Rollen und -Richtlinien zu verwalten und Ihre DMS-Kosten nachzuverfolgen. Weitere Informationen finden Sie unter [Taggen von -Ressourcen](CHAP_Tagging.md).

1. Wenn Sie mit den Aufgabeneinstellungen fertig sind, wählen Sie **Create task (Aufgabe erstellen)** aus.

# Angeben von Aufgabeneinstellungen für Aufgaben des AWS Database Migration Service
<a name="CHAP_Tasks.CustomizingTasks.TaskSettings"></a>

Jede Aufgabe hat Einstellungen, die entsprechend den Anforderungen Ihrer Datenbankmigration konfiguriert werden können. Sie erstellen diese Einstellungen in einer JSON-Datei, oder bei einigen Einstellungen können Sie die Einstellungen mithilfe der AWS DMS Konsole angeben. Informationen zur Verwendung einer Aufgabenkonfigurationsdatei zum Festlegen von Aufgabeneinstellungen finden Sie unter [Beispiel für Aufgabeneinstellungen](#CHAP_Tasks.CustomizingTasks.TaskSettings.Example).

Es gibt mehrere Hauptarten von Aufgabeneinstellungen, wie nachfolgend aufgelistet:

**Topics**
+ [Beispiel für Aufgabeneinstellungen](#CHAP_Tasks.CustomizingTasks.TaskSettings.Example)
+ [Ziel-Metadaten-Aufgabeneinstellungen](CHAP_Tasks.CustomizingTasks.TaskSettings.TargetMetadata.md)
+ [Aufgabeneinstellungen für vollständiges Laden](CHAP_Tasks.CustomizingTasks.TaskSettings.FullLoad.md)
+ [Time-Travel-Aufgabeneinstellungen](CHAP_Tasks.CustomizingTasks.TaskSettings.TimeTravel.md)
+ [Einstellungen für das Protokollieren von Aufgaben](CHAP_Tasks.CustomizingTasks.TaskSettings.Logging.md)
+ [Kontrolltabellen-Aufgabeneinstellungen](CHAP_Tasks.CustomizingTasks.TaskSettings.ControlTable.md)
+ [Stream-Puffer-Aufgabeneinstellungen](CHAP_Tasks.CustomizingTasks.TaskSettings.StreamBuffer.md)
+ [Einstellungen für die Optimierung der Verarbeitung von Änderungen](CHAP_Tasks.CustomizingTasks.TaskSettings.ChangeProcessingTuning.md)
+ [Aufgabeneinstellungen zur Datenvalidierung](CHAP_Tasks.CustomizingTasks.TaskSettings.DataValidation.md)
+ [Einstellungen für die Resynchronisierung von Daten](CHAP_Tasks.CustomizingTasks.TaskSettings.DataResyncSettings.md)
+ [Aufgabeneinstellungen für den Umgang mit der DDL-Änderungsverarbeitung](CHAP_Tasks.CustomizingTasks.TaskSettings.DDLHandling.md)
+ [Einstellungen der Zeichenersetzungsaufgabe](CHAP_Tasks.CustomizingTasks.TaskSettings.CharacterSubstitution.md)
+ [Vorher-Abbild-Aufgabeneinstellungen](CHAP_Tasks.CustomizingTasks.TaskSettings.BeforeImage.md)
+ [Aufgabeneinstellungen zur Fehlerbehandlung](CHAP_Tasks.CustomizingTasks.TaskSettings.ErrorHandling.md)
+ [Speichern der Aufgabeneinstellungen](CHAP_Tasks.CustomizingTasks.TaskSettings.Saving.md)


| Task settings (Aufgabeneinstellungen) | Relevante Dokumentation | 
| --- | --- | 
|   **Erstellen eines Aufgabenbewertungsberichts**  Sie können einen Aufgabenbewertungsbericht erstellen, der alle nicht unterstützten Datentypen aufzeigt, die während der Migration zu Problemen führen könnten. Sie können diesen Bericht vor der Ausführung Ihrer Aufgabe ausführen, um potenzielle Probleme aufzuzeigen.  |  [Aktivieren und Verwenden von Vormigrationsbewertungen für eine Aufgabe](CHAP_Tasks.AssessmentReport.md)  | 
|   **Erstellen einer Aufgabe**  Wenn Sie eine Aufgabe erstellen, geben Sie die Quelle, das Ziel und die Replikations-Instance zusammen mit den Migrationseinstellungen an.  |  [Erstellen einer Aufgabe](CHAP_Tasks.Creating.md)  | 
|   **Erstellen einer fortlaufenden Replikationsaufgabe**  Sie können eine Aufgabe einrichten, um die fortlaufende Replikation zwischen Quelle und Ziel bereitzustellen.   |  [Aufgaben für die laufende Replikation erstellen mit AWS DMS](CHAP_Task.CDC.md)  | 
|   **Anwenden von Aufgabeneinstellungen**  Jede Aufgabe hat Einstellungen, die entsprechend den Anforderungen Ihrer Datenbankmigration konfiguriert werden können. Sie erstellen diese Einstellungen in einer JSON-Datei, oder bei einigen Einstellungen können Sie die Einstellungen mithilfe der AWS DMS Konsole angeben.  |  [Angeben von Aufgabeneinstellungen für Aufgaben des AWS Database Migration Service](#CHAP_Tasks.CustomizingTasks.TaskSettings)  | 
|   **Datenvalidierung**  Verwenden Sie die Datenvalidierung, um die Daten in Ihrem Zieldatenspeicher mit den Daten aus Ihrem Quelldatenspeicher zu AWS DMS vergleichen.  |  [AWS DMS-Datenvalidierung](CHAP_Validating.md)  | 
|   **Ändern einer Aufgabe**  Wenn eine Aufgabe angehalten wird, können Sie die Einstellungen für die Aufgabe ändern.  |  [Ändern einer Aufgabe](CHAP_Tasks.Modifying.md)  | 
|   **Erneutes Laden von Tabellen während einer Aufgabe**  Sie können eine Tabelle während einer Aufgabe neu laden, wenn während einer Aufgabe ein Fehler auftritt.  |  [Erneutes Laden von Tabellen während einer Aufgabe](CHAP_Tasks.ReloadTables.md)  | 
|   **Verwenden der Tabellenzuweisung**  Die Tabellenzuweisung verwendet mehrere Arten von Aufgabeneinstellungen für die Angabe der Datenquelle, des Quellschemas, der Daten und aller Transformationen, die während der Aufgabe auftreten sollten.  |  Auswahlregeln [Auswahlregeln und Aktionen](CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Selections.md) Transformationsregeln [Transformationsregeln und Aktionen](CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Transformations.md)  | 
|   **Anwenden von Filtern**  Sie können Quellfilter verwenden, um Anzahl und Art der Datensätze zu beschränken, die von Ihrer Quelle auf Ihr Ziel übertragen werden. So können Sie beispielsweise festlegen, dass nur die am Hauptsitz ansässigen Angestellten in die Zieldatenbank übertragen werden. Sie wenden Filter auf eine Datenspalte an.  |  [Verwenden von Quellfiltern](CHAP_Tasks.CustomizingTasks.Filters.md)  | 
| Überwachen einer Aufgabe Es gibt mehrere Möglichkeiten, um Informationen über die Durchführung einer Aufgabe und die von der Aufgabe verwendeten Tabellen zu erhalten.  |  [AWS DMS-Aufgaben überwachen](CHAP_Monitoring.md)  | 
| Verwalten von Aufgabenprotokollen Sie können Aufgabenprotokolle mithilfe der AWS DMS API oder anzeigen und löschen AWS CLI.   |  [AWS DMS-Aufgabenprotokolle anzeigen und verwalten](CHAP_Monitoring.md#CHAP_Monitoring.ManagingLogs)  | 

## Beispiel für Aufgabeneinstellungen
<a name="CHAP_Tasks.CustomizingTasks.TaskSettings.Example"></a>

Sie können entweder den AWS-Managementkonsole oder verwenden AWS CLI , um eine Replikationsaufgabe zu erstellen. Wenn Sie die verwenden AWS CLI, legen Sie die Aufgabeneinstellungen fest, indem Sie eine JSON-Datei erstellen und dann den file://URI der JSON-Datei als [ ReplicationTaskSettings](https://docs.aws.amazon.com/dms/latest/APIReference/API_CreateReplicationTask.html#DMS-CreateReplicationTask-request-ReplicationTaskSettings)Parameter des [CreateReplicationTask](https://docs.aws.amazon.com/dms/latest/APIReference/API_CreateReplicationTask.html)Vorgangs angeben.

Das folgende Beispiel zeigt, wie der AWS CLI zum Aufrufen der `CreateReplicationTask` Operation verwendet wird:

```
aws dms create-replication-task \
--replication-task-identifier MyTask \
--source-endpoint-arn arn:aws:dms:us-west-2:123456789012:endpoint:ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABC \
--target-endpoint-arn arn:aws:dms:us-west-2:123456789012:endpoint:ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABC \
--replication-instance-arn arn:aws:dms:us-west-2:123456789012:rep:ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABC \
--migration-type cdc \
--table-mappings file://tablemappings.json \
--replication-task-settings file://settings.json
```

Im vorherigen Beispiel wurde eine Tabellenzuweisungsdatei namens `tablemappings.json` verwendet. Beispiele für Tabellenzuweisungen finden Sie unter [Verwenden der Tabellenzuweisung zum Angeben von Aufgabeneinstellungen](CHAP_Tasks.CustomizingTasks.TableMapping.md).

Eine JSON-Datei für Aufgabeneinstellungen kann folgendermaßen aussehen. 

```
{
  "TargetMetadata": {
    "TargetSchema": "",
    "SupportLobs": true,
    "FullLobMode": false,
    "LobChunkSize": 64,
    "LimitedSizeLobMode": true,
    "LobMaxSize": 32,
    "InlineLobMaxSize": 0,
    "LoadMaxFileSize": 0,
    "ParallelLoadThreads": 0,
    "ParallelLoadBufferSize":0,
    "ParallelLoadQueuesPerThread": 1,
    "ParallelApplyThreads": 0,
    "ParallelApplyBufferSize": 100,
    "ParallelApplyQueuesPerThread": 1,    
    "BatchApplyEnabled": false,
    "TaskRecoveryTableEnabled": false
  },
  "FullLoadSettings": {
    "TargetTablePrepMode": "DO_NOTHING",
    "CreatePkAfterFullLoad": false,
    "StopTaskCachedChangesApplied": false,
    "StopTaskCachedChangesNotApplied": false,
    "MaxFullLoadSubTasks": 8,
    "TransactionConsistencyTimeout": 600,
    "CommitRate": 10000
  },
    "TTSettings" : {
    "EnableTT" : true,
    "TTS3Settings": {
        "EncryptionMode": "SSE_KMS",
        "ServerSideEncryptionKmsKeyId": "arn:aws:kms:us-west-2:112233445566:key/myKMSKey",
        "ServiceAccessRoleArn": "arn:aws:iam::112233445566:role/dms-tt-s3-access-role",
        "BucketName": "myttbucket",
        "BucketFolder": "myttfolder",
        "EnableDeletingFromS3OnTaskDelete": false
      },
    "TTRecordSettings": {
        "EnableRawData" : true,
        "OperationsToLog": "DELETE,UPDATE",
        "MaxRecordSize": 64
      }
  },
  "Logging": {
    "EnableLogging": false
  },
  "ControlTablesSettings": {
    "ControlSchema":"",
    "HistoryTimeslotInMinutes":5,
    "HistoryTableEnabled": false,
    "SuspendedTablesTableEnabled": false,
    "StatusTableEnabled": false
  },
  "StreamBufferSettings": {
    "StreamBufferCount": 3,
    "StreamBufferSizeInMB": 8
  },
  "ChangeProcessingTuning": { 
    "BatchApplyPreserveTransaction": true, 
    "BatchApplyTimeoutMin": 1, 
    "BatchApplyTimeoutMax": 30, 
    "BatchApplyMemoryLimit": 500, 
    "BatchSplitSize": 0, 
    "MinTransactionSize": 1000, 
    "CommitTimeout": 1, 
    "MemoryLimitTotal": 1024, 
    "MemoryKeepTime": 60, 
    "StatementCacheSize": 50 
  },
  "ChangeProcessingDdlHandlingPolicy": {
    "HandleSourceTableDropped": true,
    "HandleSourceTableTruncated": true,
    "HandleSourceTableAltered": true
  },
  "LoopbackPreventionSettings": {
    "EnableLoopbackPrevention": true,
    "SourceSchema": "LOOP-DATA",
    "TargetSchema": "loop-data"
  },

  "CharacterSetSettings": {
    "CharacterReplacements": [ {
        "SourceCharacterCodePoint": 35,
        "TargetCharacterCodePoint": 52
      }, {
        "SourceCharacterCodePoint": 37,
        "TargetCharacterCodePoint": 103
      }
    ],
    "CharacterSetSupport": {
      "CharacterSet": "UTF16_PlatformEndian",
      "ReplaceWithCharacterCodePoint": 0
    }
  },
  "BeforeImageSettings": {
    "EnableBeforeImage": false,
    "FieldName": "",  
    "ColumnFilter": "pk-only"
  },
  "ErrorBehavior": {
    "DataErrorPolicy": "LOG_ERROR",
    "DataTruncationErrorPolicy":"LOG_ERROR",
    "DataMaskingErrorPolicy": "STOP_TASK",
    "DataErrorEscalationPolicy":"SUSPEND_TABLE",
    "DataErrorEscalationCount": 50,
    "TableErrorPolicy":"SUSPEND_TABLE",
    "TableErrorEscalationPolicy":"STOP_TASK",
    "TableErrorEscalationCount": 50,
    "RecoverableErrorCount": 0,
    "RecoverableErrorInterval": 5,
    "RecoverableErrorThrottling": true,
    "RecoverableErrorThrottlingMax": 1800,
    "ApplyErrorDeletePolicy":"IGNORE_RECORD",
    "ApplyErrorInsertPolicy":"LOG_ERROR",
    "ApplyErrorUpdatePolicy":"LOG_ERROR",
    "ApplyErrorEscalationPolicy":"LOG_ERROR",
    "ApplyErrorEscalationCount": 0,
    "FullLoadIgnoreConflicts": true
  },
  "ValidationSettings": {
    "EnableValidation": false,
    "ValidationMode": "ROW_LEVEL",
    "ThreadCount": 5,
    "PartitionSize": 10000,
    "FailureMaxCount": 1000,
    "RecordFailureDelayInMinutes": 5,
    "RecordSuspendDelayInMinutes": 30,
    "MaxKeyColumnSize": 8096,
    "TableFailureMaxCount": 10000,
    "ValidationOnly": false,
    "HandleCollationDiff": false,
    "RecordFailureDelayLimitInMinutes": 1,
    "SkipLobColumns": false,
    "ValidationPartialLobSize": 0,
    "ValidationQueryCdcDelaySeconds": 0
  }
}
```

# Ziel-Metadaten-Aufgabeneinstellungen
<a name="CHAP_Tasks.CustomizingTasks.TaskSettings.TargetMetadata"></a>

Zu den Ziel-Metadateneinstellungen gehören folgende Einstellungen: Informationen zur Verwendung einer Aufgabenkonfigurationsdatei zum Festlegen von Aufgabeneinstellungen finden Sie unter [Beispiel für Aufgabeneinstellungen](CHAP_Tasks.CustomizingTasks.TaskSettings.md#CHAP_Tasks.CustomizingTasks.TaskSettings.Example).
+ `TargetSchema` – Der Name des Zieltabellenschemas. Wenn diese Metadatenoption leer ist, wird das Schema der Quelltabelle verwendet. AWS DMS fügt allen Tabellen automatisch das Eigentümerpräfix für die Zieldatenbank hinzu, wenn kein Quellschema definiert ist. Diese Option sollte für Ziel-Endpunkte vom Typ MySQL leer gelassen werden. Das Umbenennen eines Schemas in der Datenzuordnung hat Vorrang vor dieser Einstellung.
+ LOB-Einstellungen — Einstellungen, die bestimmen, wie große Objekte (LOBs) verwaltet werden. Wenn Sie `SupportLobs=true` festlegen, müssen Sie eines der Folgenden auf `true` setzen: 
  + `FullLobMode` – Wenn Sie für diese Option `true` festlegen, müssen Sie einen Wert für die Option `LobChunkSize` eingeben. Geben Sie die zu verwendende Größe der LOB-Blöcke (in Kilobyte) ein, wenn die Daten in der Zieldatenbank repliziert werden. Die Option `FullLobMode` funktioniert am besten bei sehr großen LOB-Größen, verlangsamt jedoch den Ladevorgang. Der empfohlene Wert für `LobChunkSize` ist 64 Kilobyte. Wenn für `LobChunkSize` ein höherer Wert als 64 Kilobyte verwendet wird, kann dies zu Aufgabenfehlern führen.
  + `InlineLobMaxSize`— Dieser Wert bestimmt, welche LOBs AWS DMS Inline-Übertragungen während einer Volllast übertragen werden. Das Übertragen kleiner Dateien LOBs ist effizienter als das Nachschlagen in einer Quelltabelle. AWS DMS Überprüft bei einem vollen Ladevorgang alle Werte LOBs und führt eine Inline-Übertragung für diejenigen durch LOBs , die kleiner als sind`InlineLobMaxSize`. AWS DMS überträgt alle, die LOBs größer als der `InlineLobMaxSize` Eingang sind`FullLobMode`. Der Standardwert für `InlineLobMaxSize` ist 0 und der Bereich liegt zwischen 1 und 102 400 Kilobyte (100 MB). Legen Sie `InlineLobMaxSize` nur dann einen Wert für fest, wenn Sie wissen, dass die meisten davon kleiner LOBs sind als der unter angegebene Wert`InlineLobMaxSize`.
  + `LimitedSizeLobMode` – Wenn Sie für diese Option `true` festlegen, müssen Sie einen Wert für die Option `LobMaxSize` eingeben. Geben Sie die maximale Größe in Kilobyte für ein einzelnes LOB ein. Der Höchstwert für `LobMaxSize` ist 102400 Kilobyte (100 MB).

  Weitere Informationen zu den Kriterien für die Verwendung dieser Aufgaben-LOB-Einstellungen finden Sie unter [Einstellung der LOB-Unterstützung für Quelldatenbanken in einer Aufgabe AWS DMS](CHAP_Tasks.LOBSupport.md). Sie können auch die Verwaltung einzelner LOBs Tabellen steuern. Weitere Informationen finden Sie unter [Regeln und Operationen für Tabellen- und Sammlungseinstellungen](CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Tablesettings.md).
+ `BatchApplyEnabled` – Legt fest, ob jede Transaktion einzeln angewendet wird oder ob Änderungen in Stapeln übernommen werden. Der Standardwert ist `false`.

  Wenn `BatchApplyEnabled` auf `true` gesetzt ist, erfordert DMS einen Primärschlüssel (PK) oder einen eindeutigen Schlüssel (Unique Key – UK) in der/den **Quelltabelle**(n). Ohne PK oder UK in den Quelltabellen werden nur Stapeleinfügungen, jedoch keine Stapelaktualisierungen und Stapellöschungen angewendet.

  Wenn `BatchApplyEnabled` auf `true` gesetzt ist, generiert AWS DMS eine Fehlermeldung, wenn eine **Ziel**-Tabelle über eine Eindeutigkeitseinschränkung und einen Primärschlüssel verfügt. Zieltabellen mit Eindeutigkeitseinschränkung und Primärschlüssel werden nicht unterstützt, wenn `BatchApplyEnabled` auf `true` gesetzt ist.

  Wenn der Wert auf true gesetzt `BatchApplyEnabled` ist AWS DMS und ein Datenfehler in einer Tabelle mit der Standardrichtlinie zur Fehlerbehandlung auftritt, wechselt die AWS DMS Aufgabe vom Batchmodus in den one-by-one Modus für die übrigen Tabellen. Um dieses Verhalten zu ändern, können Sie die Aktion `"SUSPEND_TABLE"` für die folgenden Richtlinien in der Gruppeneigenschaft `"ErrorBehavior"` der JSON-Datei mit den Aufgabeneinstellungen festlegen:
  + `DataErrorPolicy`
  + `ApplyErrorDeletePolicy`
  + `ApplyErrorInsertPolicy`
  + `ApplyErrorUpdatePolicy`

  Weitere Informationen zu dieser Gruppeneigenschaft `"ErrorBehavior"` finden Sie in der JSON-Beispieldatei mit Aufgabeneinstellungen in [Angeben von Aufgabeneinstellungen für Aufgaben des AWS Database Migration Service](CHAP_Tasks.CustomizingTasks.TaskSettings.md). Nachdem diese Richtlinien auf gesetzt wurden`"SUSPEND_TABLE"`, unterbricht die AWS DMS Aufgabe Datenfehler in allen Tabellen, die sie auslösen, und setzt den Vorgang für alle Tabellen im Batchmodus fort.

  Sie können den Parameter `BatchApplyEnabled` mit dem Parameter `BatchApplyPreserveTransaction` verwenden. Wenn `BatchApplyEnabled` auf `true` festgelegt ist, bestimmt der Parameter `BatchApplyPreserveTransaction` die Integrität der Transaktionen. 

  Wenn `BatchApplyPreserveTransaction` auf `true` festgelegt ist, wird die Transaktionsintegrität bewahrt und ein Stapel enthält garantiert alle Änderungen innerhalb einer Transaktion von der Quelle.

  Wenn `BatchApplyPreserveTransaction` auf `false` festgelegt ist, kann es zu temporären Ausfällen bei der Transaktionsintegrität kommen, um die Leistung zu verbessern. 

  Der Parameter `BatchApplyPreserveTransaction` gilt ausschließlich für Oracle-Zielendpunkte und ist nur relevant, wenn der Parameter `BatchApplyEnabled` auf `true` festgelegt ist.

  Wenn die Replikation LOB-Spalten enthält, können Sie `BatchApplyEnabled` nur im Limited LOB-Modus verwenden.

  Weitere Informationen zur Verwendung dieser Einstellungen zum CDC-Laden (CDC = Change Data Capture) finden Sie unter [Einstellungen für die Optimierung der Verarbeitung von Änderungen](CHAP_Tasks.CustomizingTasks.TaskSettings.ChangeProcessingTuning.md).
+ `MaxFullLoadSubTasks` – Gibt die maximale Anzahl von Tabellen an, die parallel geladen werden sollen. Der Standardwert beträgt 8; der Maximalwert beträgt 49.
+ `ParallelLoadThreads`— Gibt die Anzahl der Threads an, die AWS DMS verwendet werden, um jede Tabelle in die Zieldatenbank zu laden. Für diesen Parameter gelten Höchstwerte für Nicht-RDBMS-Ziele. Der Höchstwert für ein DynamoDB-Ziel beträgt 200. Der Höchstwert für ein Amazon Kinesis Data Streams-, Apache Kafka- oder Amazon OpenSearch Service-Ziel ist 32. Sie können eine Erhöhung dieses Höchstwerts beantragen. `ParallelLoadThreads` gilt für Aufgaben mit vollständigem Ladevorgang. Weitere Informationen zu den Einstellungen, mit denen das parallele Laden einzelner Tabellen aktiviert wird, finden Sie unter [Regeln und Operationen für Tabellen- und Sammlungseinstellungen](CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Tablesettings.md).

  Diese Einstellung gilt für die folgenden Endpunkt-Engine-Typen:
  + DynamoDB
  + Amazon Kinesis Data Streams
  + Amazon MSK
  +  OpenSearch Amazon-Dienst
  + Amazon Redshift

  AWS DMS unterstützt `ParallelLoadThreads` MySQL als zusätzliches Verbindungsattribut. `ParallelLoadThreads`gilt nicht für MySQL als Aufgabeneinstellung. 
+ `ParallelLoadBufferSize` gibt die maximale Anzahl der Datensätze an, die in dem Puffer gespeichert werden können, den die parallelen Lade-Threads zum Laden von Daten in das Ziel verwenden. Der Standardwert lautet 50. Die maximale Wert ist 1.000. Diese Einstellung ist derzeit nur gültig, wenn DynamoDB, Kinesis, Apache Kafka oder OpenSearch das Ziel ist. Verwenden Sie diesen Parameters mit `ParallelLoadThreads`. `ParallelLoadBufferSize` ist nur gültig, wenn mehr als ein Thread vorhanden ist. Weitere Informationen zu den Einstellungen, mit denen das parallele Laden einzelner Tabellen aktiviert wird, finden Sie unter [Regeln und Operationen für Tabellen- und Sammlungseinstellungen](CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Tablesettings.md).
+ `ParallelLoadQueuesPerThread` – Gibt die Anzahl der Warteschlangen an, auf die jeder gleichzeitige Thread zugreift, um Datensätze aus Warteschlangen zu entfernen und einen Stapelladevorgang für das Ziel zu generieren. Der Standardwert ist 1. Diese Einstellung ist derzeit nur gültig, wenn Kinesis oder Apache Kafka das Ziel ist.
+ `ParallelApplyThreads`— Gibt die Anzahl der gleichzeitigen Threads an, die während eines CDC-Ladens AWS DMS verwendet werden, um Datensätze an einen Amazon DocumentDB-, Kinesis-, Amazon MSK- oder Amazon Redshift Redshift-Zielendpunkt OpenSearch zu übertragen. Der Standardwert ist Null (0).

  Diese Einstellung gilt nur für reines CDC. Diese Einstellung gilt nicht für vollständiges Laden.

  

  Diese Einstellung gilt für die folgenden Endpunkt-Engine-Typen:
  + Amazon DocumentDB (mit MongoDB-Kompatibilität)
  + Amazon Kinesis Data Streams
  + Amazon Managed Streaming für Apache Kafka
  +  OpenSearch Amazon-Dienst
  + Amazon Redshift
+ `ParallelApplyBufferSize`— Gibt die maximale Anzahl von Datensätzen an, die in jeder Pufferwarteschlange gespeichert werden sollen, damit gleichzeitige Threads während eines CDC-Ladevorgangs an einen Amazon DocumentDB-, Kinesis-, Amazon MSK- oder Amazon Redshift-Zielendpunkt weitergeleitet werden. OpenSearch Der Standardwert lautet 100. Der Höchstwert ist 1000. Verwenden Sie diese Option, wenn `ParallelApplyThreads` mehrere Threads angibt. 
+ `ParallelApplyQueuesPerThread`— Gibt die Anzahl der Warteschlangen an, auf die jeder Thread zugreift, um Datensätze aus Warteschlangen zu entfernen und während der CDC einen Batchload für eine Amazon DocumentDB, Kinesis, Amazon MSK oder einen Endpunkt zu generieren. OpenSearch Der Standardwert ist 1.

# Aufgabeneinstellungen für vollständiges Laden
<a name="CHAP_Tasks.CustomizingTasks.TaskSettings.FullLoad"></a>

Zu den Einstellungen für vollständiges Laden gehören die folgenden Einstellungen. Informationen zur Verwendung einer Aufgabenkonfigurationsdatei zum Festlegen von Aufgabeneinstellungen finden Sie unter [Beispiel für Aufgabeneinstellungen](CHAP_Tasks.CustomizingTasks.TaskSettings.md#CHAP_Tasks.CustomizingTasks.TaskSettings.Example).
+ Um anzuzeigen, wie das Laden der Zieldatenbank beim Start von Full Load zu behandeln ist, bestimmen Sie einen der folgenden Werte für die Option `TargetTablePrepMode`: 
  +  `DO_NOTHING` – Daten und Metadaten der vorhandenen Zieltabelle sind nicht betroffen. 
  +  `DROP_AND_CREATE` – Die vorhandene Tabelle wird gelöscht und stattdessen wird eine neue Tabelle erstellt. 
  +  `TRUNCATE_BEFORE_LOAD` – Daten werden gekürzt, ohne dass sich dies auf die Metadaten der Tabelle auswirkt.
+ Um das Erstellen des Primärschlüssels oder des eindeutigen Index bis nach Abschluss des vollständigen Ladens zu verzögern, setzen Sie die Option `CreatePkAfterFullLoad` auf `true`.
+ Für Aufgaben, bei denen Full-Load und CDC aktiviert sind, können Sie die folgenden Optionen für `Stop task after full load completes` festlegen: 
  + `StopTaskCachedChangesApplied` – Legen Sie für diese Option `true` fest, um eine Aufgabe zu stoppen, nachdem das vollständige Laden abgeschlossen ist und zwischengespeicherte Änderungen angewendet wurden. 
  + `StopTaskCachedChangesNotApplied` – Legen Sie für diese Option `true` fest, um eine Aufgabe zu stoppen, bevor zwischengespeicherte Änderungen angewendet werden. 
+ Um die maximale Anzahl von Tabellen anzugeben, die parallel geladen werden, legen Sie die Option `MaxFullLoadSubTasks` fest. Der Standardwert beträgt 8; der Maximalwert beträgt 49.
+ Legen Sie die Option `ParallelLoadThreads` fest, um anzugeben, wie viele gleichzeitige Threads DMS während eines vollständigen Ladevorgangs verwenden soll, um Datensätze an einen Zielendpunkt zu übertragen. Der Standardwert ist Null (0).
**Wichtig**  
`MaxFullLoadSubTasks` steuert die Anzahl der Tabellen oder Tabellensegmente, die parallel geladen werden sollen. `ParallelLoadThreads` steuert die Anzahl der Threads, die von einer Migrationsaufgabe verwendet werden, um die Ladevorgänge parallel auszuführen. *Diese Einstellungen sind multiplikativ*. Daher ist die Gesamtzahl der Threads, die während einer Vollast-Aufgabe verwendet werden, ungefähr das Ergebnis des Werts `ParallelLoadThreads ` multipliziert mit dem Wert von `MaxFullLoadSubTasks` (`ParallelLoadThreads` **\$1** `MaxFullLoadSubtasks)`.  
Wenn Sie Aufgaben mit einer hohen Anzahl von Unteraufgaben für vollständiges Laden und einer hohen Anzahl von parallelen Lade-Threads erstellen, kann Ihre Aufgabe zu viel Speicher verbrauchen und fehlschlagen.
+ Sie können festlegen, wie viele Sekunden auf das Schließen von Transaktionen AWS DMS gewartet werden soll, bevor ein Vollladevorgang gestartet wird. Wenn Transaktionen beim Start der Aufgabe geöffnet sind, legen Sie dazu die Option `TransactionConsistencyTimeout` fest. Der Standardwert ist 600 (10 Minuten). AWS DMS startet den vollen Ladevorgang, nachdem der Timeout-Wert erreicht ist, auch wenn offene Transaktionen vorhanden sind. Eine full-load-only Aufgabe wartet nicht 10 Minuten, sondern wird sofort gestartet.
+ Um die maximale Anzahl von Datensätzen anzugeben, die zusammen übertragen werden können, legen Sie die Option `CommitRate` fest. Der Standardwert ist 10 000 und der maximale Wert 50 000.

# Time-Travel-Aufgabeneinstellungen
<a name="CHAP_Tasks.CustomizingTasks.TaskSettings.TimeTravel"></a>

Um Replikationsaufgaben zu protokollieren und zu debuggen, können Sie AWS DMS Time Travel verwenden. Bei diesem Vorgehen verwenden Sie Amazon S3, um Protokolle zu speichern und mit Ihren Verschlüsselungsschlüsseln zu verschlüsseln. Nur wenn Sie Zugriff auf Ihren Time-Travel-S3-Bucket haben, können Sie Ihre S3-Protokolle mithilfe von Datums- und Uhrzeitfiltern abrufen und die Protokolle dann nach Bedarf anzeigen, herunterladen und verschleiern. Auf diese Weise können Sie sicher „in die Vergangenheit reisen“, um Datenbankaktivitäten zu untersuchen. Time Travel funktioniert unabhängig von der CloudWatch Protokollierung. Weitere Informationen zur CloudWatch Protokollierung finden Sie unter[Einstellungen für das Protokollieren von Aufgaben](CHAP_Tasks.CustomizingTasks.TaskSettings.Logging.md). 

Sie können Time Travel in allen AWS Regionen mit AWS DMS unterstützten Oracle-, Microsoft SQL Server- und PostgreSQL-Quellendpunkten und AWS DMS-unterstützten PostgreSQL- und MySQL-Zielendpunkten verwenden. Sie können Time Travel nur für Aufgaben für vollständiges Laden und CDC (Change Data Capture) und für reine CDC-Aufgaben aktivieren. Um Time Travel zu aktivieren oder vorhandene Time-Travel-Einstellungen zu ändern, stellen Sie sicher, dass Ihre Replikationsaufgabe gestoppt wurde.

Die Time-Travel-Einstellungen umfassen die folgenden `TTSettings`-Eigenschaften:
+ `EnableTT` – Wenn diese Option auf `true` gesetzt ist, ist die Time-Travel-Protokollierung für die Aufgabe aktiviert. Der Standardwert ist `false`.

  Typ: Boolesch

  Erforderlich: Nein
+ `EncryptionMode` – Die Art der serverseitigen Verschlüsselung, die in Ihrem S3-Bucket zum Speichern Ihrer Daten und Protokolle verwendet wird. Sie können entweder `"SSE_S3"` (Standardwert) oder `"SSE_KMS"` angeben.

  Sie können `EncryptionMode` von `"SSE_KMS"` auf `"SSE_S3"` umstellen, aber nicht umgekehrt.

  Typ: Zeichenfolge

  Erforderlich: Nein
+ `ServerSideEncryptionKmsKeyId`— Wenn Sie `"SSE_KMS"` für angeben, geben Sie die ID für Ihren benutzerdefinierten `EncryptionMode` verwalteten Schlüssel an. AWS KMS Stellen Sie sicher, dass dem von Ihnen verwendeten Schlüssel eine Richtlinie beigefügt ist, die AWS Identity and Access Management (IAM-) Benutzerberechtigungen aktiviert und die Verwendung des Schlüssels ermöglicht. 

  Mit der Option `"SSE_KMS"` wird nur Ihr eigener benutzerdefiniert-verwalteter symmetrischer KMS-Schlüssel unterstützt.

  Typ: Zeichenfolge

  Erforderlich: nur wenn `EncryptionMode` auf `"SSE_KMS"` gesetzt wird
+ `ServiceAccessRoleArn` – Der Amazon-Ressourcenname (ARN), den der Service zum Zugriff auf die IAM-Rolle verwendet. Legen Sie für den Rollennamen `dms-tt-s3-access-role` fest. Dies ist eine erforderliche Einstellung, die das Schreiben und Lesen von Objekten aus einem S3-Bucket ermöglicht AWS DMS .

  Typ: Zeichenfolge

  Erforderlich: wenn Time Travel aktiviert ist

  Im Folgenden sehen Sie eine Beispielrichtlinie für diese Rolle.

------
#### [ JSON ]

****  

  ```
  {
   "Version":"2012-10-17",		 	 	 
   "Statement": [
          {
              "Sid": "VisualEditor0",
              "Effect": "Allow",
              "Action": [
                  "s3:PutObject",
                  "kms:GenerateDataKey",
                  "kms:Decrypt",
                  "s3:ListBucket",
                  "s3:DeleteObject"
              ],
              "Resource": [
                  "arn:aws:s3:::S3bucketName*",
                  "arn:aws:kms:us-east-1:112233445566:key/1234a1a1-1m2m-1z2z-d1d2-12dmstt1234"
              ]
          }
      ]
  }
  ```

------

  Im Folgenden sehen Sie eine Beispielvertrauensrichtlinie für diese Rolle.

------
#### [ JSON ]

****  

  ```
  {
   "Version":"2012-10-17",		 	 	 
   "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "Service": [
                       "dms.amazonaws.com"
                   ]
               },
               "Action": "sts:AssumeRole"
          }
      ]
  }
  ```

------
+ `BucketName` – Der Name des S3-Buckets, in dem Time-Travel-Protokolle gespeichert werden sollen. Stellen Sie sicher, dass Sie diesen S3-Bucket erstellen, bevor Sie Time-Travel-Protokolle aktivieren.

  Typ: Zeichenfolge

  Erforderlich: wenn Time Travel aktiviert ist
+ `BucketFolder` – Ein optionaler Parameter zum Festlegen eines Ordnernamens im S3-Bucket. Wenn Sie diesen Parameter angeben, erstellt DMS die Time-Travel-Protokolle im Pfad`"/BucketName/BucketFolder/taskARN/YYYY/MM/DD/hh"`. Wenn Sie diesen Parameter nicht angeben, AWS DMS wird der Standardpfad als erstellt`"/BucketName/dms-time-travel-logs/taskARN/YYYY/MM/DD/hh`.

  Typ: Zeichenfolge

  Erforderlich: Nein
+ `EnableDeletingFromS3OnTaskDelete`— Wenn diese Option auf gesetzt ist`true`, werden die Time Travel-Protokolle aus S3 AWS DMS gelöscht, wenn die Aufgabe gelöscht wird. Der Standardwert ist `false`.

  Typ: Zeichenfolge

  Erforderlich: Nein
+ `EnableRawData` – Wenn diese Option auf `true` gesetzt ist, werden die DML-Rohdaten (DML = Data Manipulation Language) für Time-Travel-Protokolle in der Spalte `raw_data` der Time-Travel-Protokolle angezeigt. Einzelheiten finden Sie unter [Verwenden der Time-Travel-Protokolle](CHAP_Tasks.CustomizingTasks.TaskSettings.TimeTravel.LogSchema.md). Der Standardwert ist `false`. Wenn diese Option auf `false` gesetzt ist, wird nur der DML-Typ erfasst.

  Typ: Zeichenfolge

  Erforderlich: Nein
+ `RawDataFormat`— In den AWS DMS Versionen 3.5.0 und höher `EnableRawData` ist wann auf eingestellt. `true` Diese Eigenschaft gibt ein Format für die Rohdaten der DML in einem Time-Travel-Protokoll an und kann wie folgt angegeben werden:
  + `"TEXT"` – Analysierte, lesbare Spaltennamen und Werte für DML-Ereignisse, die während CDC als `Raw`-Felder erfasst werden.
  + `"HEX"` – Der ursprüngliche Hexadezimalwert für Spaltennamen und Werte, die für DML-Ereignisse während CDC erfasst werden.

  Diese Eigenschaft gilt für Oracle- und Microsoft-SQL-Server-Datenbankquellen.

  Typ: Zeichenfolge

  Erforderlich: Nein
+ `OperationsToLog` – Gibt den Typ der DML-Operationen an, die in Time-Travel-Protokollen protokolliert werden sollen. Sie können einen der folgenden Werte angeben:
  + `"INSERT"`
  + `"UPDATE"`
  + `"DELETE"`
  + `"COMMIT"`
  + `"ROLLBACK"`
  + `"ALL"`

  Der Standardwert ist `"ALL"`.

  Typ: Zeichenfolge

  Erforderlich: Nein
+ `MaxRecordSize` – Gibt die maximale Größe der Time-Travel-Protokolleinträge an, die für jede Zeile protokolliert werden. Verwenden Sie diese Eigenschaft, um das Wachstum der Time-Travel-Protokolle für besonders stark ausgelastete Tabellen zu steuern. Der Standardwert ist 64 KB.

  Typ: Ganzzahl

  Erforderlich: Nein

Weitere Informationen zum Aktivieren und Verwenden von Time-Travel-Protokollen finden Sie in den folgenden Themen.

**Topics**
+ [Aktivieren von Time-Travel-Protokollen für eine Aufgabe](CHAP_Tasks.CustomizingTasks.TaskSettings.TimeTravel.TaskEnabling.md)
+ [Verwenden der Time-Travel-Protokolle](CHAP_Tasks.CustomizingTasks.TaskSettings.TimeTravel.LogSchema.md)
+ [Wie oft werden Time AWS DMS Travel-Protokolle auf S3 hochgeladen](CHAP_Tasks.CustomizingTasks.TaskSettings.TimeTravel.UploadsToS3.md)

# Aktivieren von Time-Travel-Protokollen für eine Aufgabe
<a name="CHAP_Tasks.CustomizingTasks.TaskSettings.TimeTravel.TaskEnabling"></a>

Sie können Time Travel für eine AWS DMS Aufgabe mithilfe der zuvor beschriebenen Aufgabeneinstellungen aktivieren. Stellen Sie sicher, dass Ihre Replikationsaufgabe gestoppt wurde, bevor Sie Time Travel aktivieren.

**Um Time Travel zu aktivieren, verwenden Sie AWS CLI**

1. Erstellen Sie eine JSON-Datei für die DMS-Aufgabenkonfiguration und fügen Sie einen Abschnitt `TTSettings` hinzu, wie im Folgenden dargestellt. Informationen zur Verwendung einer Aufgabenkonfigurationsdatei zum Festlegen von Aufgabeneinstellungen finden Sie unter [Beispiel für Aufgabeneinstellungen](CHAP_Tasks.CustomizingTasks.TaskSettings.md#CHAP_Tasks.CustomizingTasks.TaskSettings.Example).

   ```
    .
    .
    .
       },
   "TTSettings" : {
     "EnableTT" : true,
     "TTS3Settings": {
         "EncryptionMode": "SSE_KMS",
         "ServerSideEncryptionKmsKeyId": "arn:aws:kms:us-west-2:112233445566:key/myKMSKey",
         "ServiceAccessRoleArn": "arn:aws:iam::112233445566:role/dms-tt-s3-access-role",
         "BucketName": "myttbucket",
         "BucketFolder": "myttfolder",
         "EnableDeletingFromS3OnTaskDelete": false
       },
     "TTRecordSettings": {
         "EnableRawData" : true,
         "OperationsToLog": "DELETE,UPDATE",
         "MaxRecordSize": 64
       },
    .
    .
    .
   ```

1. Geben Sie in einer entsprechenden Aufgabenaktion diese JSON-Datei unter Verwendung der Option `--replication-task-settings` an. Im folgenden CLI-Code-Fragment ist diese Time-Travel-Einstellungsdatei beispielsweise als Teil von `create-replication-task` angegeben.

   ```
   aws dms create-replication-task 
   --target-endpoint-arn arn:aws:dms:us-east-1:112233445566:endpoint:ELS5O7YTYV452CAZR2EYBNQGILFHQIFVPWFRQAY \
   --source-endpoint-arn arn:aws:dms:us-east-1:112233445566:endpoint:HNX2BWIIN5ZYFF7F6UFFZVWTDFFSMTNOV2FTXZA \
   --replication-instance-arn arn:aws:dms:us-east-1:112233445566:rep:ERLHG2UA52EEJJKFYNYWRPCG6T7EPUAB5AWBUJQ \
   --migration-type full-load-and-cdc --table-mappings 'file:///FilePath/mappings.json' \
   --replication-task-settings 'file:///FilePath/task-settings-tt-enabled.json' \
   --replication-task-identifier test-task
                               .
                               .
                               .
   ```

   Hier lautet der Name dieser Time-Travel-Einstellungsdatei `task-settings-tt-enabled.json`.

Sie können diese Datei in ähnlicher Weise im Rahmen der Aktion `modify-replication-task` angeben.

Beachten Sie die besondere Behandlung von Time-Travel-Protokollen für die folgenden Aufgabenaktionen:
+ `start-replication-task` – Wenn Sie eine Replikationsaufgabe ausführen und auf einen für Time Travel verwendeten S3-Bucket nicht zugegriffen werden kann, wird die Aufgabe als `FAILED` markiert.
+ `stop-replication-task`— Wenn die Aufgabe beendet wird, werden AWS DMS sofort alle Time Travel-Protokolle, die derzeit für die Replikationsinstanz verfügbar sind, in den für Time Travel verwendeten S3-Bucket übertragen.

Während der Ausführung einer Replikationsaufgabe können Sie den Wert für `EncryptionMode` von `"SSE_KMS"` in `"SSE_S3"` ändern, aber nicht umgekehrt.

Wenn die Größe der Time-Travel-Protokolle für eine laufende Aufgabe 1 GB überschreitet, überträgt DMS die Protokolle innerhalb von fünf Minuten nach Erreichen dieser Größe an S3. Wenn nach der Ausführung einer Aufgabe kein Zugriff auf den S3-Bucket oder den KMS-Schlüssel mehr möglich ist, stoppt DMS die Übertragung von Protokollen in diesen Bucket. Wenn Sie feststellen, dass Ihre Protokolle nicht in Ihren S3-Bucket übertragen werden, überprüfen Sie Ihren S3 und Ihre AWS KMS Berechtigungen. Weitere Informationen darüber, wie oft DMS diese Protokolle an S3 überträgt, finden Sie unter [Wie oft werden Time AWS DMS Travel-Protokolle auf S3 hochgeladen](CHAP_Tasks.CustomizingTasks.TaskSettings.TimeTravel.UploadsToS3.md).

Um Time Travel für eine bestehende Aufgabe von der Konsole aus zu aktivieren, verwenden Sie die JSON-Editor-Option unter **Aufgabeneinstellungen**, um einen Abschnitt `TTSettings` hinzuzufügen.

# Verwenden der Time-Travel-Protokolle
<a name="CHAP_Tasks.CustomizingTasks.TaskSettings.TimeTravel.LogSchema"></a>

*Time-Travel-Protokolldateien* sind CSV-Dateien mit folgenden Feldern.

```
log_timestamp 
component 
dms_source_code_location 
transaction_id 
event_id 
event_timestamp 
lsn/scn 
primary_key
record_type 
event_type 
schema_name 
table_name 
statement 
action 
result 
raw_data
```

Sobald Ihre Time-Travel-Protokolle in S3 verfügbar sind, können Sie mit Tools wie Amazon Athena direkt darauf zugreifen und sie abfragen. Sie können die Protokolle auch wie jede andere Datei von S3 herunterladen.

Das folgende Beispiel zeigt ein Time-Travel-Protokoll, in dem Transaktionen für eine Tabelle namens `mytable` protokolliert sind. Die Zeilenenden für das folgende Protokoll wurden aus Gründen der besseren Lesbarkeit hinzugefügt.

```
"log_timestamp ","tt_record_type","dms_source_code_location ","transaction_id",
"event_id","event_timestamp","scn_lsn","primary_key","record_type","event_type",
"schema_name","table_name","statement","action","result","raw_data"
"2021-09-23T01:03:00:778230","SOURCE_CAPTURE","postgres_endpoint_wal_engine.c:00819",
"609284109","565612992","2021-09-23 01:03:00.765321+00","00000E9C/D53AB518","","DML",
"UPDATE (3)","dmstest","mytable","","Migrate","","table dmstest.mytable:
UPDATE: id[bigint]:2244937 phone_number[character varying]:'phone-number-482'
age[integer]:82 gender[character]:'f' isactive[character]:'true ' 
date_of_travel[timestamp without time zone]:'2021-09-23 01:03:00.76593' 
description[text]:'TEST DATA TEST DATA TEST DATA TEST DATA'"
```

# Wie oft werden Time AWS DMS Travel-Protokolle auf S3 hochgeladen
<a name="CHAP_Tasks.CustomizingTasks.TaskSettings.TimeTravel.UploadsToS3"></a>

Um die Speichernutzung Ihrer Replikationsinstanz zu minimieren, laden Sie in AWS DMS regelmäßigen Abständen Time Travel-Protokolle von ihr ab. 

Die Time-Travel-Protokolle werden in folgenden Fällen in Ihren Amazon-S3-Bucket übertragen:
+ Wenn die aktuelle Größe der Protokolle 1 GB überschreitet, werden die Protokolle innerhalb von fünf Minuten auf S3 AWS DMS hochgeladen. Somit AWS DMS können bis zu 12 Anrufe pro Stunde an S3 und AWS KMS für jede laufende Aufgabe getätigt werden.
+ AWS DMS lädt die Protokolle jede Stunde auf S3 hoch, unabhängig von der Größe der Protokolle.
+ Wenn eine Aufgabe gestoppt wird, werden die Zeitreiseprotokolle AWS DMS sofort nach S3 hochgeladen.

# Einstellungen für das Protokollieren von Aufgaben
<a name="CHAP_Tasks.CustomizingTasks.TaskSettings.Logging"></a>

Logging verwendet Amazon CloudWatch , um Informationen während des Migrationsprozesses zu protokollieren. Mit den Einstellungen der Protokollierungsaufgabe können Sie angeben, welche Komponentenaktivitäten protokolliert und welche Menge an Informationen in das Protokoll geschrieben wird. Einstellungen für die Protokollierung werden in eine JSON-Datei geschrieben. Informationen zur Verwendung einer Aufgabenkonfigurationsdatei zum Festlegen von Aufgabeneinstellungen finden Sie unter [Beispiel für Aufgabeneinstellungen](CHAP_Tasks.CustomizingTasks.TaskSettings.md#CHAP_Tasks.CustomizingTasks.TaskSettings.Example). 

Sie können die CloudWatch Protokollierung auf verschiedene Arten aktivieren. Sie können die `EnableLogging` Option AWS-Managementkonsole bei der Erstellung einer Migrationsaufgabe auswählen. Sie können die `EnableLogging` Option auch auf einstellen, `true` wenn Sie eine Aufgabe mithilfe der AWS DMS API erstellen. Sie können auch `"EnableLogging": true` in JSON im Abschnitt Protokollierung der Aufgabeneinstellungen angeben.

Wenn Sie `EnableLogging` auf festlegen`true`, werden der CloudWatch Gruppenname und der Streamname wie folgt AWS DMS zugewiesen. Sie können diese Werte nicht direkt festlegen.
+ **CloudWatchLogGroup**: `dms-tasks-<REPLICATION_INSTANCE_IDENTIFIER>`
+ **CloudWatchLogStream**: `dms-task-<REPLICATION_TASK_EXTERNAL_RESOURCE_ID>`

`<REPLICATION_INSTANCE_IDENTIFIER>` ist die ID der Replikations-Instance. `<REPLICATION_TASK_EXTERNAL_RESOURCE_ID>` ist der Wert des Abschnitts `<resourcename>` des Aufgaben-ARN. Hinweise dazu, wie Ressourcen AWS DMS generiert werden ARNs, finden Sie unter[Konstruieren eines Amazon-Ressourcennamens (ARN) für AWS DMS](CHAP_Introduction.AWS.ARN.md).

CloudWatch ist in AWS Identity and Access Management (IAM) integriert, und Sie können angeben, welche CloudWatch Aktionen ein Benutzer in Ihrem AWS Konto ausführen kann. Weitere Informationen zur Arbeit mit IAM in CloudWatch finden Sie unter [Identitäts- und Zugriffsmanagement für Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/auth-and-access-control-cw.html) und [Protokollierung von CloudWatch Amazon-API-Aufrufen](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/logging_cw_api_calls.html) im * CloudWatch Amazon-Benutzerhandbuch*.

Zum Löschen der Aufgabenprotokolle können Sie `DeleteTaskLogs` im JSON-Code im Protokollierungsabschnitt der Aufgabeneinstellungen angeben.

Sie können eine Protokollierung für die folgenden Arten von Ereignissen festlegen:
+ `FILE_FACTORY` – Die Datei-Factory verwaltet Dateien, die für die Stapelanwendung und das Stapelladen verwendet werden, und verwaltet Amazon-S3-Endpunkte.
+ `METADATA_MANAGER` – Der Metadatenmanager verwaltet die Quell- und Zielmetadaten, die Partitionierung und den Tabellenstatus während der Replikation.
+ `SORTER` – Der `SORTER` empfängt eingehende Ereignisse aus dem Prozess `SOURCE_CAPTURE`. Die Ereignisse werden in Transaktionen gebündelt und an die `TARGET_APPLY`-Servicekomponente übergeben. Wenn der Prozess `SOURCE_CAPTURE` Ereignisse schneller generiert, als die `TARGET_APPLY`-Komponente sie verarbeiten kann, speichert die `SORTER`-Komponente die zurückgestellten Ereignisse auf der Festplatte oder in einer Auslagerungsdatei zwischen. Zwischengespeicherte Ereignisse sind eine häufige Ursache für mangelnden Speicherplatz in Replikations-Instances.

  Die `SORTER`-Servicekomponente verwaltet zwischengespeicherte Ereignisse, erfasst CDC-Statistiken und meldet die Latenz von Aufgaben.
+ `SOURCE_CAPTURE` – Daten zur fortlaufenden Replikation (CDC) werden aus der Quelldatenbank oder dem Quellservice erfasst und an die SORTER-Servicekomponente weitergegeben.
+ `SOURCE_UNLOAD` – Daten werden beim vollständigen Laden aus der Quelldatenbank oder dem Quellservice entladen.
+ `TABLES_MANAGER` – Der Tabellenmanager verfolgt die erfassten Tabellen, verwaltet die Reihenfolge der Tabellenmigration und erfasst Tabellenstatistiken.
+ `TARGET_APPLY` – Daten und Data Definition Language (DDL)-Anweisungen werden auf die Zieldatenbank angewendet.
+ `TARGET_LOAD` – Daten werden in die Zieldatenbank geladen.
+ `TASK_MANAGER` – Der Task Manager verwaltet laufende Aufgaben und unterteilt Aufgaben in Unteraufgaben für die parallele Datenverarbeitung.
+ `TRANSFORMATION` – Transformationsereignisse im Zusammenhang mit Tabellenzuweisungen. Weitere Informationen finden Sie unter [Verwenden der Tabellenzuweisung zum Angeben von Aufgabeneinstellungen](CHAP_Tasks.CustomizingTasks.TableMapping.md).
+ `VALIDATOR/ VALIDATOR_EXT` – Die Servicekomponente `VALIDATOR` überprüft, ob die Daten korrekt von der Quelle zum Ziel migriert wurden. Weitere Informationen finden Sie unter [Datenvalidierung](CHAP_Validating.md). 
+ `DATA_RESYNC`— Gemeinsamer Bestandteil der Daten-Resync-Funktion, die den Daten-Resynchronisierungsfluss verwaltet. Weitere Informationen finden Sie unter [AWS DMS Resynchronisierung von Daten](CHAP_Validating.DataResync.md).
+ `RESYNC_UNLOAD`— Daten werden während des Resynchronisierungsvorgangs aus der Quelldatenbank oder dem Quelldienst entladen.
+ `RESYNC_APPLY`— DML-Anweisungen (Data Manipulation Language) werden während der Resynchronisierung auf die Zieldatenbank angewendet.

Die folgenden Protokollierungskomponenten generieren eine große Anzahl von Protokollen, wenn der Protokollschweregrad `LOGGER_SEVERITY_DETAILED_DEBUG` verwendet wird:
+ `COMMON`
+ `ADDONS`
+ `DATA_STRUCTURE`
+ `COMMUNICATION`
+ `FILE_TRANSFER`
+ `FILE_FACTORY`

Andere Protokollierungsstufen als `DEFAULT` werden für diese Komponenten bei der Problembehandlung selten benötigt. Es wird nicht empfohlen, die Protokollierungsebene `DEFAULT` für diese Komponenten zu ändern, sofern dies nicht ausdrücklich vom AWS Support gewünscht wird.

Nachdem Sie einen der oben genannten Werte angegeben haben, können Sie die Menge der protokollierten Informationen angeben, wie in der folgenden Liste dargestellt. 

Die Schweregrade sind von der niedrigsten bis zur höchsten Informationsstufe angeordnet. Die höheren Stufen enthalten immer Informationen von den niedrigeren Stufen. 
+ LOGGER\$1SEVERITY\$1ERROR – Fehlermeldungen werden in das Protokoll geschrieben.
+ LOGGER\$1SEVERITY\$1WARNING – Warnungen und Fehlermeldungen werden in das Protokoll geschrieben.
+ LOGGER\$1SEVERITY\$1INFO – Informationsmeldungen, Warnungen und Fehlermeldungen werden in das Protokoll geschrieben.
+ LOGGER\$1SEVERITY\$1DEFAULT – Informationsmeldungen, Warnungen und Fehlermeldungen werden in das Protokoll geschrieben.
+ LOGGER\$1SEVERITY\$1DEBUG – Debug-Nachrichten, Informationsmeldungen, Warnungen und Fehlermeldungen werden in das Protokoll geschrieben.
+ LOGGER\$1SEVERITY\$1DETAILED\$1DEBUG – Alle Informationen werden in das Protokoll geschrieben.

Das folgende JSON-Beispiel zeigt Aufgabeneinstellungen für die Protokollierung aller Aktionen und Schweregrade.

```
…
  "Logging": {
    "EnableLogging": true,
    "LogComponents": [
      {
        "Id": "FILE_FACTORY",
        "Severity": "LOGGER_SEVERITY_DEFAULT"
      },{
        "Id": "METADATA_MANAGER",
        "Severity": "LOGGER_SEVERITY_DEFAULT"
      },{
        "Id": "SORTER",
        "Severity": "LOGGER_SEVERITY_DEFAULT"
      },{
        "Id": "SOURCE_CAPTURE",
        "Severity": "LOGGER_SEVERITY_DEFAULT"
      },{
        "Id": "SOURCE_UNLOAD",
        "Severity": "LOGGER_SEVERITY_DEFAULT"
      },{
        "Id": "TABLES_MANAGER",
        "Severity": "LOGGER_SEVERITY_DEFAULT"
      },{
        "Id": "TARGET_APPLY",
        "Severity": "LOGGER_SEVERITY_DEFAULT"
      },{
        "Id": "TARGET_LOAD",
        "Severity": "LOGGER_SEVERITY_INFO"
      },{
        "Id": "TASK_MANAGER",
        "Severity": "LOGGER_SEVERITY_DEBUG"
      },{
        "Id": "TRANSFORMATION",
        "Severity": "LOGGER_SEVERITY_DEBUG"
      },{
        "Id": "VALIDATOR",
        "Severity": "LOGGER_SEVERITY_DEFAULT"
      }
    ],
    "CloudWatchLogGroup": null,
    "CloudWatchLogStream": null
  }, 
…
```

# Kontrolltabellen-Aufgabeneinstellungen
<a name="CHAP_Tasks.CustomizingTasks.TaskSettings.ControlTable"></a>

Steuertabellen enthalten Informationen zu einer AWS DMS Aufgabe. Sie bieten auch nützliche Statistiken, mit denen Sie sowohl die aktuelle Migrationsaufgabe als auch zukünftige Aufgaben planen und verwalten können. Sie können diese Aufgabeneinstellungen in einer JSON-Datei anwenden oder indem Sie in der AWS DMS Konsole auf der Seite „**Aufgabe erstellen**“ die Option **Erweiterte Einstellungen** auswählen. Die Tabelle „Ausnahmen anwenden“ (`dmslogs.awsdms_apply_exceptions`) wird immer in Datenbankzielen erstellt. Informationen zur Verwendung einer Aufgabenkonfigurationsdatei zum Festlegen von Aufgabeneinstellungen finden Sie unter [Beispiel für Aufgabeneinstellungen](CHAP_Tasks.CustomizingTasks.TaskSettings.md#CHAP_Tasks.CustomizingTasks.TaskSettings.Example). 

AWS DMS erstellt Steuertabellen nur bei Aufgaben mit Volllast und CDC oder nur CDC und nicht bei Aufgaben vom Typ Nur Volllast. 

Für Aufgaben mit vollständigem Laden und CDC (Migration vorhandener Daten und Replikation fortlaufender Änderungen) und für reine CDC-Aufgaben (nur Replikation von Datenänderungen) können Sie auch zusätzliche Tabellen erstellen, beispielsweise folgende:
+ **Replikationsstatus (dmslogs.awsdms\$1status)** – Diese Tabelle enthält Details zur aktuellen Aufgabe. Dazu gehören der Aufgabenstatus, die Größe des von der Aufgabe genutzten Speichers und die Anzahl an Änderungen, die noch nicht auf das Ziel angewendet wurden. Diese Tabelle gibt auch die Position in der Quelldatenbank an, an der gerade gelesen AWS DMS wird. Außerdem gibt sie an, ob sich die Aufgabe in der Phase des vollständigen Ladens oder der Change Data Capture (CDC) befindet.
+ **Ausgesetzte Tabellen (dmslogs.awsdms\$1suspended\$1tables)** – Diese Tabelle enthält eine Liste der ausgesetzten Tabellen sowie Angaben dazu, warum die Tabellen ausgesetzt wurden.
+ **Replikationsverlauf (dmslogs.awsdms\$1history)** – Diese Tabelle enthält Informationen zum Replikationsverlauf. Diese Informationen enthalten die Anzahl und das Volumen der während der Aufgabe verarbeiteten Datensätze, die Latenz am Ende einer CDC-Aufgabe und andere Statistiken.

Die Tabelle "Apply Exceptions (Ausnahmen anwenden)" (`dmslogs.awsdms_apply_exceptions`) enthält die folgenden Parameter.


| Spalte | Typ | Description | 
| --- | --- | --- | 
|  TASK\$1NAME  |  nvchar  |  Die Ressourcen-ID der AWS DMS Aufgabe. Die Ressourcen-ID ist im Aufgaben-ARN zu finden.  | 
|  TABLE\$1OWNER  |  nvchar  |  Der Eigentümer der Tabelle.  | 
|  TABLE\$1NAME  |  nvchar  |  Der Name der Tabelle.  | 
|  ERROR\$1TIME  |  Zeitstempel  |  Die Uhrzeit, zu der die Ausnahme (Fehler) auftrat.  | 
|  STATEMENT  |  nvchar  |  Die Anweisung, die ausgeführt wurde, als der Fehler auftrat.  | 
|  ERROR  |  nvchar  |  Name und Beschreibung des Fehlers.  | 

Die Tabelle „Replication Status (Replikationsstatus)“ (`dmslogs.awsdms_status`) enthält den aktuellen Status der Aufgabe und der Zieldatenbank. Sie hat die folgenden Einstellungen.


| Spalte | Typ | Description | 
| --- | --- | --- | 
|  SERVER\$1NAME  |  nvchar  |  Der Name des Rechners, auf dem die Replikationsaufgabe ausgeführt wird.  | 
|  TASK\$1NAME  |  nvchar  |  Die Ressourcen-ID der AWS DMS Aufgabe. Die Ressourcen-ID ist im Aufgaben-ARN zu finden.  | 
|  TASK\$1STATUS  |  varchar  |  Einer der folgenden Werte: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TaskSettings.ControlTable.html) Aufgabenstatus ist auf FULL LOAD eingestellt, solange mindestens eine Tabelle vollständig geladen wird. Nachdem alle Tabellen geladen wurden, ändert sich der Aufgabenstatus zu CHANGE PROCESSING, wenn CDC aktiviert ist. Die Aufgabe ist auf NICHT AUSGEFÜHRT gesetzt, bevor Sie die Aufgabe starten oder nachdem die Aufgabe abgeschlossen ist.  | 
| STATUS\$1TIME |  Zeitstempel  |  Der Zeitstempel des Aufgabenstatus.  | 
|  PENDING\$1CHANGES  |  int  |  Die Anzahl der Änderungsdatensätze, die in der Quelldatenbank festgeschrieben und im Arbeitsspeicher und auf der Festplatte Ihrer Replikations-Instance zwischengespeichert wurden.  | 
|  DISK\$1SWAP\$1SIZE  |  int  |  Der Speicherplatz, der für alte oder ausgelagerte Transaktionen verwendet wird.  | 
| TASK\$1MEMORY |  int  |  Aktuell verwendeter Speicher in MB.  | 
|  SOURCE\$1CURRENT \$1POSITION  |  varchar  |  Die Position in der Quelldatenbank, aus AWS DMS der gerade gelesen wird.  | 
|  SOURCE\$1CURRENT \$1TIMESTAMP  |  Zeitstempel  |  Der Zeitstempel in der Quelldatenbank, aus der gerade gelesen AWS DMS wird.  | 
|  SOURCE\$1TAIL \$1POSITION  |  varchar  |  Die Position der ältesten Starttransaktion, die nicht ausgeführt wurde. Dieser Wert ist die neueste Position, die Sie wieder einstellen können, ohne Änderungen zu verlieren.  | 
|  SOURCE\$1TAIL \$1TIMESTAMP  |  Zeitstempel  |  Der Zeitstempel der ältesten Starttransaktion, die nicht ausgeführt wurde. Dieser Wert ist der neueste Zeitstempel, den Sie wieder einstellen können, ohne Änderungen zu verlieren.  | 
|  SOURCE\$1TIMESTAMP \$1APPLIED  |  Zeitstempel  |  Der Zeitstempel des letzten Transaktions-Commits. In einem Prozess der Massenanwendung ist dieser Wert der Zeitstempel für den Commit der letzten Transaktion im Stapel.  | 

Die Tabelle „Ausgesetzte Tabellen“ (`dmslogs.awsdms_suspended_tables`) enthält die folgenden Parameter.


| Spalte | Typ | Description | 
| --- | --- | --- | 
|  SERVER\$1NAME  |  nvchar  |  Der Name des Rechners, auf dem die Replikationsaufgabe ausgeführt wird.  | 
|  TASK\$1NAME  |  nvchar  |  Der Name der Aufgabe AWS DMS   | 
|  TABLE\$1OWNER  |  nvchar  |  Der Eigentümer der Tabelle.  | 
|  TABLE\$1NAME  |  nvchar  |  Der Name der Tabelle.  | 
|  SUSPEND\$1REASON  |  nvchar  |  Der Grund für die Aussetzung.  | 
|  SUSPEND\$1TIMESTAMP  |  Zeitstempel  |  Der Zeitpunkt, zu dem die Aussetzung erfolgt ist.  | 

Die Tabelle "Replication History (Replikationsverlauf)" (`dmslogs.awsdms_history`) enthält die folgenden Parameter.


| Spalte | Typ | Description | 
| --- | --- | --- | 
|  SERVER\$1NAME  |  nvchar  |  Der Name des Rechners, auf dem die Replikationsaufgabe ausgeführt wird.  | 
|  TASK\$1NAME  |  nvchar  |  Die Ressourcen-ID der AWS DMS Aufgabe. Die Ressourcen-ID ist im Aufgaben-ARN zu finden.  | 
|  TIMESLOT\$1TYPE  |  varchar  |  Einer der folgenden Werte: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TaskSettings.ControlTable.html) Wenn die Aufgabe sowohl Full Load als auch CDC ausführt, werden zwei Verlaufsdatensätze in das Zeitfenster geschrieben.  | 
| TIMESLOT |  Zeitstempel  |  Der letzte Zeitstempel des Zeitfensters.  | 
|  TIMESLOT\$1DURATION  |  int  |  Die Dauer des Zeitfensters in Minuten.  | 
|  TIMESLOT\$1LATENCY  |  int  |  Die Ziellatenz am Ende des Zeitfensters in Sekunden. Dieser Wert gilt nur für CDC-Zeitslots.  | 
| RECORDS |  int  |  Die Anzahl der während des Zeitfensters verarbeiteten Datensätze.  | 
|  TIMESLOT\$1VOLUME  |  int  |  Das verarbeitete Datenvolumen in MB.  | 

Die Tabelle mit den Validierungsfehlern (`awsdms_validation_failures_v1`) enthält alle Fehler bei der Datenvalidierung für eine Aufgabe. Weitere Informationen finden Sie unter [Behebung von Datenvalidierungsfehlern](CHAP_Validating.md#CHAP_Validating.Troubleshooting).

Weitere Einstellungen der Kontrolltabelle sind Folgende:
+ `HistoryTimeslotInMinutes` – Verwenden Sie diese Option, um die Länge der einzelnen Zeitfenster in der Replikationsverlaufstabelle anzugeben. Der Standardwert ist 5 Minuten.
+ `ControlSchema`— Verwenden Sie diese Option, um den Namen des Datenbankschemas für die Steuertabellen für das AWS DMS Ziel anzugeben. Wenn Sie für diese Option keine Informationen eingeben, werden die Tabellen wie folgt an den Standardspeicherort in der Datenbank kopiert: 
  + PostgreSQL, öffentlich
  + Oracle, das Zielschema
  + Microsoft SQL Server, dbo in der Zieldatenbank
  + MySQL, awsdms\$1control
  + MariaDB, awsdms\$1control
  + Amazon Redshift, öffentlich
  + DynamoDB, erstellt als einzelne Tabellen in der Datenbank
  + IBM Db2 LUW, awsdms\$1control

# Stream-Puffer-Aufgabeneinstellungen
<a name="CHAP_Tasks.CustomizingTasks.TaskSettings.StreamBuffer"></a>

Sie können Stream-Puffereinstellungen mithilfe von festlegen AWS CLI, einschließlich der folgenden. Informationen zur Verwendung einer Aufgabenkonfigurationsdatei zum Festlegen von Aufgabeneinstellungen finden Sie unter [Beispiel für Aufgabeneinstellungen](CHAP_Tasks.CustomizingTasks.TaskSettings.md#CHAP_Tasks.CustomizingTasks.TaskSettings.Example). 
+ `StreamBufferCount` – Mit dieser Option können Sie die Anzahl der Datenstrompuffer für die Migrationsaufgabe angeben. Die Standardanzahl für Stream-Puffer ist 3. Ein höherer Wert dieser Einstellung könnte das Extrahieren der Daten beschleunigen. Allerdings ist diese Leistungssteigerung in hohem Maße abhängig von der Umgebung der Migration, einschließlich dem Quellsystem und der Instance-Klasse des Replikationsservers. Der Standardwert ist für die meisten Situationen ausreichend.
+ `StreamBufferSizeInMB` – Verwenden Sie diese Option, um die maximale Größe jedes Datenstrompuffers anzugeben. Die Standardgröße ist 8 MB. Möglicherweise müssen Sie den Wert für diese Option erhöhen, wenn Sie mit sehr großen Werten arbeiten LOBs. Sie müssen möglicherweise den Wert auch dann erhöhen, wenn Sie eine Meldung in den Protokolldateien erhalten, dass die Größe des Stream-Puffers nicht ausreicht. Zur Berechnung der Größe dieser Option können Sie folgende Formel verwenden:` [Max LOB size (or LOB chunk size)]*[number of LOB columns]*[number of stream buffers]*[number of tables loading in parallel per task(MaxFullLoadSubTasks)]*3`
+ `CtrlStreamBufferSizeInMB` – Verwenden Sie diese Option, um die Größe des Kontroll-Stream-Puffers festzulegen. Der Wert wird in Megabyte angegeben und kann zwischen 1 und 8 liegen. Der Standardwert ist 5. Möglicherweise müssen Sie den Wert für diese Option erhöhen, wenn Sie mit einer sehr großen Anzahl Tabellen arbeiten, etwa Zehntausende von Tabellen.

# Einstellungen für die Optimierung der Verarbeitung von Änderungen
<a name="CHAP_Tasks.CustomizingTasks.TaskSettings.ChangeProcessingTuning"></a>

Die folgenden Einstellungen bestimmen, wie Änderungen an Zieltabellen während der Change Data Capture (CDC) AWS DMS behandelt werden. Mehrere dieser Einstellungen sind abhängig vom Wert des Ziel-Metadatenparameters `BatchApplyEnabled`. Weitere Informationen zum Parameter `BatchApplyEnabled` erhalten Sie unter [Ziel-Metadaten-Aufgabeneinstellungen](CHAP_Tasks.CustomizingTasks.TaskSettings.TargetMetadata.md). Informationen zur Verwendung einer Aufgabenkonfigurationsdatei zum Festlegen von Aufgabeneinstellungen finden Sie unter [Beispiel für Aufgabeneinstellungen](CHAP_Tasks.CustomizingTasks.TaskSettings.md#CHAP_Tasks.CustomizingTasks.TaskSettings.Example).

Zu den Einstellungen für die Optimierung der Verarbeitung von Änderungen zählen die Folgenden:

Die folgenden Einstellungen gelten nur, wenn der Ziel-Metadatenparameter `BatchApplyEnabled` auf `true` festgelegt ist.
+ `BatchApplyPreserveTransaction` – Wenn `true` festgelegt ist, wird die Transaktionsintegrität bewahrt und ein Stapel enthält garantiert alle Änderungen innerhalb einer Transaktion von der Quelle. Der Standardwert ist `true`. Diese Einstellung gilt nur für Oracle-Zielendpunkte.

  Wenn auf `false` festgelegt, kann es zu temporären Ausfällen bei der Transaktionsintegrität kommen, um die Leistung zu verbessern. Es gibt keine Garantie, dass alle Änderungen innerhalb einer Transaktion von der Quelle in einem einzigen Stapel auf das Ziel angewendet werden. 

  Standardmäßig werden Änderungen in einem Transaktionsmodus AWS DMS verarbeitet, wodurch die Transaktionsintegrität gewahrt wird. Wenn Sie sich temporäre Ausfälle bei der Transaktionsintegrität leisten können, können Sie stattdessen die Option batch optimized apply verwenden. Bei dieser Option werden Transaktionen auf effiziente Weise gruppiert und in Stapeln angewendet, um die Effizienz zu erhöhen. Die Verwendung der batch-optimierten Apply-Option verstößt fast immer gegen Einschränkungen der referenziellen Integrität. Wir empfehlen daher, diese Einschränkungen während des Migrationsprozesses zu deaktivieren und im Rahmen des Cutover-Prozesses wieder zu aktivieren. 
+ `BatchApplyTimeoutMin`— Legt die Mindestdauer in Sekunden fest, die zwischen jeder Anwendung von AWS DMS Batch-Änderungen vergeht. Der Standardwert ist 1.
+ `BatchApplyTimeoutMax`— Legt die maximale AWS DMS Wartezeit in Sekunden zwischen den einzelnen Anwendungen von Batchänderungen fest, bevor ein Timeout eintritt. Der Standardwert lautet 30.
+ `BatchApplyMemoryLimit` – Legt die maximale Speichermenge (in MB) für die Vorverarbeitung im **Batch-optimized-Apply-Modus** fest. Der Standardwert lautet 500.
+ `BatchSplitSize` – Legt die maximale Anzahl der Änderungen fest, die in einem einzigen Stapel angewendet werden. Der Standardwert 0 bedeutet, dass kein Grenzwert angewendet wird.

Die folgenden Einstellungen gelten nur, wenn der Ziel-Metadatenparameter `BatchApplyEnabled` auf `false` festgelegt ist.
+ `MinTransactionSize` – Legt die minimale Anzahl der in jede Transaktion einzubeziehenden Änderungen fest. Der Standardwert lautet 1000.
+ `CommitTimeout`— Legt die maximale Zeit in Sekunden fest, um Transaktionen stapelweise AWS DMS zu sammeln, bevor ein Timeout deklariert wird. Der Standardwert ist 1.

Bei der bidirektionalen Replikation gilt die folgende Einstellung nur, wenn der Ziel-Metadatenparameter `BatchApplyEnabled` auf `false` gesetzt ist.
+ `LoopbackPreventionSettings` – Diese Einstellungen bieten für jede fortlaufende Replikationsaufgabe bei jedem Aufgabenpaar, das an einer bidirektionalen Replikation beteiligt ist, eine Verhinderung von Loopbacks. Mit der *Loopback-Verhinderung* wird unterbunden, dass identische Änderungen in beiden Richtungen der bidirektionalen Replikation angewendet werden, wodurch Daten fehlerhaft werden können. Weitere Hinweise zur bidirektionalen Replikation finden Sie unter [Durchführen der bidirektionalen Replikation](CHAP_Task.CDC.md#CHAP_Task.CDC.Bidirectional).

AWS DMS versucht, Transaktionsdaten im Speicher zu belassen, bis die Transaktion vollständig an die Quelle, das Ziel oder beide übergeben wurde. Allerdings werden Transaktionen, die größer sind als der zugewiesene Speicher oder die innerhalb des festgelegten Zeitraums nicht gespeichert wurden, auf die Festplatte geschrieben.

Die folgenden Einstellungen gelten für die Optimierung der Verarbeitung von Änderungen unabhängig von dem Modus der Änderungsverarbeitung.
+ `MemoryLimitTotal` – Legt die maximale Größe (in MB) fest, die alle Transaktionen im Arbeitsspeicher belegen können, bevor sie auf die Festplatte geschrieben werden. Der Standardwert lautet 1024.
+ `MemoryKeepTime` – Legt die maximale Zeit in Sekunden fest, die jede Transaktion im Arbeitsspeicher bleiben kann, bevor sie auf die Festplatte geschrieben wird. Die Dauer wird ab dem Zeitpunkt berechnet, zu dem mit der Erfassung der Transaktion AWS DMS begonnen wurde. Der Standardwert lautet 60. 
+ `StatementCacheSize` – Legt die maximale Anzahl der vorbereiteten Anweisungen fest, die auf dem Server gespeichert werden, um später ausgeführt zu werden, wenn Änderungen auf das Ziel angewendet werden. Der Standardwert ist 50 und der Höchstwert ist 200.
+ `RecoveryTimeout`— RecoveryTimeout Steuert bei der Wiederaufnahme einer Aufgabe im CDC-Modus, wie lange (in Minuten) die Aufgabe auf den Wiederaufnahme-Checkpoint wartet. Wenn der Checkpoint nicht innerhalb des konfigurierten Zeitrahmens erreicht wird, schlägt die Aufgabe fehl. Das Standardverhalten besteht darin, unbegrenzt auf das Checkpoint-Ereignis zu warten.

Beispiel dafür, wie Aufgabeneinstellungen, die das Change Processing Tuning behandeln, in einer JSON-Datei mit Aufgabeneinstellungen angezeigt werden:

```
"ChangeProcessingTuning": {
        "BatchApplyPreserveTransaction": true,
        "BatchApplyTimeoutMin": 1,
        "BatchApplyTimeoutMax": 30,
        "BatchApplyMemoryLimit": 500,
        "BatchSplitSize": 0,
        "MinTransactionSize": 1000,
        "CommitTimeout": 1,
        "MemoryLimitTotal": 1024,
        "MemoryKeepTime": 60,
        "StatementCacheSize": 50
        "RecoveryTimeout": -1
}
```

Um die Häufigkeit von Schreibvorgängen auf ein Amazon-S3-Ziel während einer Datenreplikationsaufgabe zu steuern, können Sie die zusätzlichen Verbindungsattribute `cdcMaxBatchInterval` und `cdcMinFileSize` konfigurieren. Dies kann zu einer besseren Leistung bei der Analyse der Daten ohne zusätzliche überflüssige Aufgaben führen. Weitere Informationen finden Sie unter [Endpunkteinstellungen bei Verwendung von Amazon S3 als Ziel für AWS DMS](CHAP_Target.S3.md#CHAP_Target.S3.Configuring).

# Aufgabeneinstellungen zur Datenvalidierung
<a name="CHAP_Tasks.CustomizingTasks.TaskSettings.DataValidation"></a>

Sie können sicherstellen, dass Ihre Daten korrekt von der Quelle zum Ziel migriert wurden. Wenn Sie die Validierung für eine Aufgabe aktivieren, AWS DMS beginnt der Vergleich der Quell- und Zieldaten unmittelbar nach dem vollständigen Laden einer Tabelle. Weitere Informationen zur Aufgabendatenvalidierung, deren Anforderungen, den Umfang des Datenbank-Supports und die gemeldeten Metriken finden Sie unter [AWS DMS-Datenvalidierung](CHAP_Validating.md). Informationen zur Verwendung einer Aufgabenkonfigurationsdatei zum Festlegen von Aufgabeneinstellungen finden Sie unter [Beispiel für Aufgabeneinstellungen](CHAP_Tasks.CustomizingTasks.TaskSettings.md#CHAP_Tasks.CustomizingTasks.TaskSettings.Example).

 Zu den Datenvalidierungseinstellungen und deren Werten gehören:
+ `EnableValidation` – Aktiviert die Datenvalidierung bei Einstellung von „true“. Andernfalls wird die Validierung für die Aufgabe deaktiviert. Der Standardwert ist "false".
+ `ValidationMode`— steuert, wie AWS DMS Daten in der Zieltabelle anhand der Quelltabelle validiert werden. Ab Version 3.5.4 der Replication Engine setzt DMS dies automatisch auf die unterstützten Migrationspfade, was `GROUP_LEVEL` für eine verbesserte Validierungsleistung und eine deutlich schnellere Verarbeitung großer Datenmengen sorgt. [Diese Verbesserung gilt für Migrationen für die Migrationspfade, die in Data Resync aufgeführt sind.AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Validating.DataResync.html#CHAP_DataResync.limitations) Für alle anderen Migrationspfade ist der Validierungsmodus standardmäßig auf. `ROW_LEVEL` 
**Anmerkung**  
Unabhängig von der Einstellung werden alle über die Tabellenüberprüfung konfigurierten Zeilen AWS DMS validiert.
+ `FailureMaxCount` – Gibt die maximale Anzahl der Datensätze an, bei denen die Validierung fehlschlagen kann, bevor die Validierung für die Aufgabe ausgesetzt wird. Der Standardwert lautet 10.000. Wenn Sie möchten, dass die Validierung unabhängig von der Anzahl der Datensätze, bei denen die Validierung fehlgeschlagen ist, fortgesetzt wird, setzen Sie diesen Wert höher als die Anzahl der Datensätze in der Quelle.
+ `HandleCollationDiff`— Wenn diese Option auf gesetzt ist`true`, berücksichtigt die Validierung Unterschiede in der Spaltensortierung zwischen Quell- und Zieldatenbanken. Andernfalls werden jegliche Unterschiede bei der Spaltensortierung für die Validierung ignoriert. Die Spaltensortierung kann die Reihenfolge der Zeilen bestimmen, was für die Datenvalidierung wichtig ist. Das Festlegen von `HandleCollationDiff` auf "true" behebt diese Sortierungsunterschiede automatisch und verhindert Fehlalarme bei der Datenvalidierung. Der Standardwert ist `false`.
+ `RecordFailureDelayInMinutes` – Gibt die Verzögerung in Minuten an, bevor Informationen über das Fehlschlagen der Validierung gemeldet werden.

  Wenn die Gesamtlatenz der DMS-Aufgabe die CDC-Latenz übersteigt, hat `RecordFailureDelayInMinutesthen` sie Vorrang, z. B. wenn sie 5 `RecordFailureDelayInMinutes` ist und die CDC-Latenz 7 Minuten beträgt, wartet DMS 7 Minuten, um die Einzelheiten des Validierungsfehlers zu melden.
+ `RecordFailureDelayLimitInMinutes`— Gibt die Verzögerung an, bis Details zu einem Validierungsfehler gemeldet werden. AWS DMS verwendet die Task-Latenz, um die tatsächliche Verzögerung von Änderungen zu erkennen, damit sie das Ziel erreichen, um Fehlalarme zu vermeiden. Diese Einstellung überschreibt die tatsächliche Verzögerung und den CDC-Latenzwert für DMS-Aufgaben und ermöglicht es Ihnen, eine größere Verzögerung festzulegen, bevor Sie Validierungsmetriken melden. Der Standardwert lautet 0.
+ `RecordSuspendDelayInMinutes` – Gibt die Wartezeit in Minuten an, bevor die Validierung von Tabellen aufgrund des in `FailureMaxCount` festgelegten Fehlerschwellenwerts ausgesetzt wird.
+ `SkipLobColumns`— Wenn diese Option auf gesetzt ist`true`, wird die Datenvalidierung für alle LOB-Spalten im Tabellenteil der Aufgabenvalidierung AWS DMS übersprungen. Der Standardwert ist `false`.
+ `TableFailureMaxCount` – Gibt die maximale Anzahl der Zeilen in einer Tabelle an, bei denen die Validierung fehlschlagen kann, bevor sie für die Tabelle ausgesetzt wird. Der Standardwert lautet 1.000. 
+ `ThreadCount`— Gibt die Anzahl der Ausführungs-Threads an, die bei der Validierung AWS DMS verwendet werden. Jeder Thread wählt not-yet-validated Daten aus der Quelle und dem Ziel aus, um sie zu vergleichen und zu validieren. Der Standardwert ist 5. Wenn Sie eine `ThreadCount` höhere Zahl angeben, AWS DMS kann die Validierung schneller abgeschlossen werden. Allerdings führt AWS DMS dann auch mehr simultane Abfragen aus, sodass bei Quelle und Ziel mehr Ressourcen verbraucht werden.
+ `ValidationOnly` – Wenn diese Option auf `true` gesetzt ist, führt die Aufgabe eine Datenvalidierung durch, ohne eine Migration oder Replikation von Daten vorzunehmen. Der Standardwert ist `false`. Sie können die Einstellung `ValidationOnly` nicht ändern, nachdem die Aufgabe erstellt wurde.

  Sie müssen **TargetTablePrepMode**auf `DO_NOTHING` (die Standardeinstellung für reine Validierungsaufgaben) und den **Migrationstyp** auf einen der folgenden Werte festlegen:
  + Volllast — Stellen Sie den **Migrationstyp** der Aufgabe in der AWS DMS Konsole auf **Vorhandene Daten migrieren** ein. Oder legen Sie in der AWS DMS API den Migrationstyp auf FULL-LOAD fest.
  + CDC – Legen Sie für **Migrationstyp** in der AWS DMS -Konsole **Nur Replizieren von Datenänderungen** fest. Oder legen Sie in der AWS DMS API den Migrationstyp auf CDC fest.

  Unabhängig vom ausgewählten Migrationstyp werden Daten während einer reinen Validierungsaufgabe nicht wirklich migriert oder repliziert.

  Weitere Informationen finden Sie unter [Reine Validierungsaufgaben](CHAP_Validating.md#CHAP_Validating.ValidationOnly).
**Wichtig**  
Die Einstellung `ValidationOnly` ist unveränderlich. Nach dem Erstellen einer Aufgabe kann sie für diese Aufgabe nicht mehr geändert werden.
+ `ValidationPartialLobSize` – Gibt an, ob Sie eine teilweise Validierung für LOB-Spalten durchführen möchten, anstatt alle in der Spalte gespeicherten Daten zu validieren. Dies ist möglicherweise nützlich, wenn Sie nur einen Teil der LOB-Daten und nicht den gesamten LOB-Datensatz migrieren. Der Wert wird in KB-Einheiten angegeben. Der Standardwert ist 0. Dies bedeutet, dass AWS DMS alle LOB-Spaltendaten validiert. `"ValidationPartialLobSize": 32`Bedeutet beispielsweise, dass AWS DMS nur die ersten 32 KB der Spaltendaten sowohl in der Quelle als auch im Ziel validiert werden.
+ `PartitionSize` – Gibt die Stapelgröße der Datensätze an, die für den Vergleich aus der Quelle und dem Ziel gelesen werden sollen. Der Standardwert ist 10 000.
+ `ValidationQueryCdcDelaySeconds` – Die Zeitspanne, um die sich die erste Validierungsabfrage bei jeder CDC-Aktualisierung sowohl an der Quelle als auch am Ziel verzögert. Bei einer hohen Migrationslatenz kann diese Einstellung dazu beitragen, Ressourcenkonflikte zu reduzieren. Bei einer reinen Validierungsaufgabe werden für diese Option automatisch 180 Sekunden festgelegt. Der Standardwert ist 0.

Beispielsweise kann mit der folgenden JSON die Datenvalidierung mit der doppelten Standard-Anzahl an Threads ausgeführt werden. Außerdem kommt dies für die Unterschiede in der Reihenfolge von Datensätzen auf, die durch Unterschiede bei der Spaltensortierung in PostgreSQL-Endpunkten bedingt wurden. Auch wird eine Validierungs-Berichtverzögerung bereitgestellt, um für zusätzliche Zeit aufzukommen, die benötigt wird, um Validierungsfehler zu verarbeiten.

```
"ValidationSettings": {
     "EnableValidation": true,
     "ThreadCount": 10,
     "HandleCollationDiff": true,
     "RecordFailureDelayLimitInMinutes": 30
  }
```

**Anmerkung**  
 AWS DMS Verwendet für einen Oracle-Endpunkt DBMS\$1CRYPTO zur Validierung. BLOBs Wenn Ihr Oracle-Endpunkt verwendet BLOBs, erteilen Sie dem Benutzerkonto, das auf den Oracle-Endpunkt zugreift, die `execute` Berechtigung für DBMS\$1CRYPTO. Führen Sie dazu die folgende Anweisung aus.  

```
grant execute on sys.dbms_crypto to dms_endpoint_user;
```

# Einstellungen für die Resynchronisierung von Daten
<a name="CHAP_Tasks.CustomizingTasks.TaskSettings.DataResyncSettings"></a>

Mit der Funktion zum erneuten Synchronisieren von Daten können Sie die Zieldatenbank auf der Grundlage eines Datenvalidierungsberichts erneut mit Ihrer Quelldatenbank synchronisieren. Weitere Informationen finden Sie unter [AWS DMS Datenvalidierung](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Validating.html).

Sie können zusätzliche Parameter für `ResyncSettings` den `ReplicationTaskSettings` Endpunkt hinzufügen, der den Resynchronisierungsprozess konfiguriert. Weitere Informationen finden Sie unter [Beispiel für Aufgabeneinstellungen im Abschnitt](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TaskSettings.html#CHAP_Tasks.CustomizingTasks.TaskSettings.Example) [Angeben von Aufgabeneinstellungen für AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TaskSettings.html) Aufgaben.

**Anmerkung**  
`ResyncSchedule`und `MaxResyncTime` Parameter sind erforderlich, wenn der Resynchronisierungsprozess aktiviert ist und die Aufgabe über eine CDC-Komponente verfügt. Sie sind nicht für Aufgaben gültig, die nur bei Volllast ausgeführt werden.

Die Einstellungen und Werte des Parameters für die Resynchronisierung von Daten lauten wie folgt:

`EnableResync`  
Aktiviert die Funktion zum erneuten Synchronisieren von Daten, wenn diese Option auf eingestellt ist. `true` Standardmäßig ist die Neusynchronisierung von Daten deaktiviert.  
**Datentyp**: Boolean  
**Required**: No  
**Standardwert**: `false`  
**Validierung**: Sollte nicht Null sein, wenn der `ResyncSettings` Parameter in vorhanden ist. `TaskSettings`

`ResyncSchedule`  
Zeitfenster, in dem die Funktion zum erneuten Synchronisieren von Daten in Kraft treten soll. Muss im Cron-Format vorliegen. Weitere Informationen finden Sie unter [Regeln für Cron-Ausdrücke](CHAP_Validating.DataResync.md#CHAP_DataResync.cron).  
**Datentyp**: Zeichenfolge  
**Required**: No  
**Validierung:**   
+ Muss im Cron-Ausdrucksformat vorhanden sein.
+ Sollte nicht Null sein für Aufgaben mit CDC, für die die Einstellung auf `EnableResync` festgelegt ist. `true`
+ Kann nicht für Aufgaben ohne CDC-Komponente festgelegt werden.

`MaxResyncTime`  
Maximaler Zeitraum in Minuten, bis die Funktion zum erneuten Synchronisieren von Daten in Kraft treten muss.  
**Datentyp**: Ganzzahl  
**Required**: No  
**Validierung:**   
+ Sollte für Aufgaben mit CDC nicht Null sein.
+ Nicht erforderlich für Aufgaben ohne CDC.
+ Mindestwert:`5 minutes`, Höchstwert: `14400 minutes` (10 Tage).

`Validation onlyTaskID`  
Eindeutige ID der Validierungsaufgabe. Die Aufgaben-ID nur für die Validierung wird am Ende eines ARN angehängt. Beispiel:  
+ ARN für reine Validierungsaufgabe: `arn:aws:dms:us-west-2:123456789012:task:6DG4CLGJ5JSJR67CFD7UDXFY7KV6CYGRICL6KWI`
+ Nur Validierung, Aufgaben-ID: `6DG4CLGJ5JSJR67CFD7UDXFY7KV6CYGRICL6KWI`
**Datentyp**: Zeichenfolge  
**Required**: No  
**Validierung**: Sollte für Aufgaben mit aktivierter Funktion zur erneuten Datensynchronisierung und deaktivierter Überprüfung nicht Null sein.  
Beispiel:  

```
"ResyncSettings": {
    "EnableResync": true,
    "ResyncSchedule": "30 9 ? * MON-FRI", 
    "MaxResyncTime": 400,  
    "ValidationTaskId": "JXPP94804DJOEWIJD9348R3049"
},
```

# Aufgabeneinstellungen für den Umgang mit der DDL-Änderungsverarbeitung
<a name="CHAP_Tasks.CustomizingTasks.TaskSettings.DDLHandling"></a>



Die folgenden Einstellungen bestimmen, wie Änderungen der Datendefinitionssprache (DDL) für Zieltabellen während der Change Data Capture (CDC) AWS DMS behandelt werden. Informationen zur Verwendung einer Aufgabenkonfigurationsdatei zum Festlegen von Aufgabeneinstellungen finden Sie unter [Beispiel für Aufgabeneinstellungen](CHAP_Tasks.CustomizingTasks.TaskSettings.md#CHAP_Tasks.CustomizingTasks.TaskSettings.Example). 

Zu den Aufgabeneinstellungen zur Handhabung der Änderungsverarbeitungs-DDL gehören folgende:
+ `HandleSourceTableDropped –` Legen Sie diese Option auf `true` fest, um die Zieltabelle zu löschen, wenn die Quelltabelle gelöscht wird.
+ `HandleSourceTableTruncated` – Setzen Sie diese Option auf `true`, um die Zieltabelle zu kürzen, wenn die Quelltabelle gekürzt wird.
+ `HandleSourceTableAltered` – Setzen Sie diese Option auf `true`, um die Zieltabelle zu ändern, wenn die Quelltabelle geändert wird.

Es folgt ein Beispiel dafür, wie Aufgabeneinstellungen, die Änderungsverarbeitungs-DDL verarbeiten, in einer JSON-Datei für die Aufgabeneinstellung angezeigt werden:

```
                "ChangeProcessingDdlHandlingPolicy": {
                   "HandleSourceTableDropped": true,
                   "HandleSourceTableTruncated": true,
                   "HandleSourceTableAltered": true
                },
```

**Anmerkung**  
Weitere Informationen dazu, welche DDL-Anweisungen für einen bestimmten Endpunkt unterstützt werden, finden Sie in dem Abschnitt zur Beschreibung des betreffenden Endpunkts.

# Einstellungen der Zeichenersetzungsaufgabe
<a name="CHAP_Tasks.CustomizingTasks.TaskSettings.CharacterSubstitution"></a>

Sie können angeben, dass Ihre Replikationsaufgabe Zeichenersetzungen in der Zieldatenbank für alle Quelldatenbankspalten mit dem Datentyp AWS DMS `STRING` oder `WSTRING` durchführt. Informationen zur Verwendung einer Aufgabenkonfigurationsdatei zum Festlegen von Aufgabeneinstellungen finden Sie unter [Beispiel für Aufgabeneinstellungen](CHAP_Tasks.CustomizingTasks.TaskSettings.md#CHAP_Tasks.CustomizingTasks.TaskSettings.Example). 

Sie können die Zeichenersetzung für jede Aufgabe mit Endpunkten aus den folgenden Quell- und Zieldatenbanken konfigurieren:
+ Quelldatenbanken:
  + Oracle
  + Microsoft SQL Server
  + MySQL
  + MariaDB
  + PostgreSQL
  + SAP Adaptive Server Enterprise (ASE)
  + IBM Db2 (LUW)
+ Zieldatenbanken:
  + Oracle
  + Microsoft SQL Server
  + MySQL
  + MariaDB
  + PostgreSQL
  + SAP Adaptive Server Enterprise (ASE)
  + Amazon Redshift

Sie können Zeichenersetzungen mithilfe des Parameters `CharacterSetSettings` in Ihren Aufgabeneinstellungen angeben. Diese Zeichenersetzungen erfolgen für Zeichen, die mit dem Unicode-Codepunktwert in Hexadezimalnotation angegeben werden. Sie können die Ersetzungen in zwei Phasen in der folgenden Reihenfolge implementieren, wenn beide angegeben sind:

1. **Individuelle Zeichenersetzung** — AWS DMS kann die Werte ausgewählter Zeichen in der Quelle durch die angegebenen Ersatzwerte der entsprechenden Zeichen auf dem Ziel ersetzen. Verwenden Sie das `CharacterReplacements`-Array in `CharacterSetSettings`, um alle Quellzeichen mit den von Ihnen angegebenen Unicode-Codepunkten auszuwählen. Verwenden Sie dieses Array auch, um die Ersatz-Codepunkte für die entsprechenden Zeichen auf dem Ziel anzugeben. 

   Um alle Zeichen in der Quelle auszuwählen, die einen bestimmten Codepunkt haben, legen Sie eine Instance von `SourceCharacterCodePoint` im `CharacterReplacements`-Array auf diesen Codepunkt fest. Geben Sie dann den Ersatz-Codepunkt für alle gleichwertigen Zielzeichen an, indem Sie die entsprechende Instance von `TargetCharacterCodePoint` in diesem Array festlegen. Um Zielzeichen zu löschen, anstatt sie zu ersetzen, setzen Sie die entsprechenden Instances von `TargetCharacterCodePoint` auf Null (0). Sie können beliebig viele verschiedene Werte von Zielzeichen ersetzen oder löschen, indem Sie zusätzliche Paare von `SourceCharacterCodePoint`- und `TargetCharacterCodePoint`-Einstellungen im `CharacterReplacements`-Array angeben. Wenn Sie denselben Wert für mehrere Instances von `SourceCharacterCodePoint` angeben, gilt der Wert der letzten entsprechenden Einstellung von `TargetCharacterCodePoint` für das Ziel.

   Angenommen, Sie geben z. B. die folgenden Werte für `CharacterReplacements` an.

   ```
   "CharacterSetSettings": {
       "CharacterReplacements": [ {
           "SourceCharacterCodePoint": 62,
           "TargetCharacterCodePoint": 61
           }, {
           "SourceCharacterCodePoint": 42,
           "TargetCharacterCodePoint": 41
           }
       ]
   }
   ```

   In diesem Beispiel werden alle Zeichen mit dem Quellcodepunkt-Hexadezimalwert 62 auf dem Ziel durch Zeichen mit dem Codepunktwert 61 AWS DMS ersetzt. AWS DMS Ersetzt außerdem alle Zeichen mit dem Quellcodepunkt 42 auf dem Ziel durch Zeichen mit dem Codepunktwert 41. Anders gesagt, ersetzt AWS DMS alle Instances des Buchstaben `'b'`auf dem Ziel durch den Buchstaben `'a'`. AWS DMS Ersetzt auf ähnliche Weise alle Vorkommen des Buchstabens `'B'` auf dem Ziel durch den Buchstaben`'A'`.

1. **Überprüfung und Ersetzung des Zeichensatzes** — Nachdem alle einzelnen Zeichen ersetzt wurden, AWS DMS kann sichergestellt werden, dass alle Zielzeichen gültige Unicode-Codepunkte in dem von Ihnen angegebenen Zeichensatz enthalten. Sie verwenden `CharacterSetSupport` in `CharacterSetSettings`, um diese Verifizierung und Modifizierung von Zielzeichen zu konfigurieren. Um den Verifizierungszeichensatz anzugeben, legen Sie `CharacterSet` in `CharacterSetSupport` auf den Zeichenfolgenwert des Zeichensatzes fest. (Nachstehend finden Sie die möglichen Werte für `CharacterSet`.) Sie können die ungültigen Zielzeichen auf eine der folgenden Arten AWS DMS ändern:
   + Geben Sie einen einzigen Ersatz-Unicode-Codepunkt für alle ungültigen Zielzeichen an, unabhängig von ihrem aktuellen Codepunkt. Um diesen Ersatz-Codepunkt zu konfigurieren, setzen Sie `ReplaceWithCharacterCodePoint` in `CharacterSetSupport` auf den angegebenen Wert.
   + Konfigurieren Sie das Löschen aller ungültigen Zielzeichen, indem Sie `ReplaceWithCharacterCodePoint` auf Null (0) setzen.

   Angenommen, Sie geben z. B. die folgenden Werte für `CharacterSetSupport` an.

   ```
   "CharacterSetSettings": {
       "CharacterSetSupport": {
           "CharacterSet": "UTF16_PlatformEndian",
           "ReplaceWithCharacterCodePoint": 0
       }
   }
   ```

   In diesem Beispiel AWS DMS werden alle Zeichen auf dem Ziel gelöscht, die im `"UTF16_PlatformEndian"` Zeichensatz ungültig sind. Daher werden alle mit dem Hexadezimalwert `2FB6` angegebenen Zeichen gelöscht. Dieser Wert ist ungültig, da es sich um einen 4-Byte-Unicode-Codepunkt handelt und UTF16 Zeichensätze nur Zeichen mit 2-Byte-Codepunkten akzeptieren.

**Anmerkung**  
Die Replikationsaufgabe schließt alle angegebenen Zeichenersetzungen ab, bevor globale Transformationen oder Transformationen auf Tabellenebene gestartet werden, die Sie über die Tabellenzuordnung angeben. Weitere Informationen zur Tabellenzuweisung finden Sie unter [Verwenden der Tabellenzuweisung zum Angeben von Aufgabeneinstellungen](CHAP_Tasks.CustomizingTasks.TableMapping.md).  
Die Zeichenersetzung unterstützt keine LOB-Datentypen. Dazu gehören alle Datentypen, die DMS als LOB-Datentyp betrachtet. Beispielsweise wird der Datentyp `Extended` in Oracle als LOB betrachtet. Weitere Hinweise zu Quelldatentypen finden Sie unter [Quelldatentypen für Oracle](CHAP_Source.Oracle.md#CHAP_Source.Oracle.DataTypes). 

Die Werte, die für AWS DMS `CharacterSet` unterstützen, sind in der folgenden Tabelle aufgeführt.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TaskSettings.CharacterSubstitution.html)

# Vorher-Abbild-Aufgabeneinstellungen
<a name="CHAP_Tasks.CustomizingTasks.TaskSettings.BeforeImage"></a>

Wenn Sie CDC-Aktualisierungen auf ein Daten-Streaming-Ziel wie Kinesis oder Apache Kafka schreiben, können Sie die ursprünglichen Werte einer Zeile in der Quelldatenbank anzeigen, bevor sie durch eine Aktualisierung geändert werden. Um dies zu ermöglichen, AWS DMS füllt es ein *Vorher-Abbild* der Aktualisierungsereignisse auf der Grundlage von Daten aus, die von der Quelldatenbank-Engine bereitgestellt werden. Informationen zur Verwendung einer Aufgabenkonfigurationsdatei zum Festlegen von Aufgabeneinstellungen finden Sie unter [Beispiel für Aufgabeneinstellungen](CHAP_Tasks.CustomizingTasks.TaskSettings.md#CHAP_Tasks.CustomizingTasks.TaskSettings.Example).

Hierfür verwenden Sie den Parameter `BeforeImageSettings`, der jeder Aktualisierungsoperation ein neues JSON-Attribut hinzufügt, wobei Werte aus dem Quelldatenbanksystem erfasst werden. 

Stellen Sie sicher, dass Sie `BeforeImageSettings` nur auf Aufgaben für vollständiges Laden plus CDC oder auf reine CDC-Aufgaben anwenden. Bei Aufgaben für vollständiges Laden plus CDC werden vorhandene Daten migriert und fortlaufende Änderungen repliziert. Bei reinen CDC-Aufgaben werden nur Datenänderungen repliziert. 

Wenden Sie `BeforeImageSettings` nicht auf Nur-Volllast-Aufgaben an.

Für `BeforeImageSettings` sind folgende Optionen möglich:
+ `EnableBeforeImage` – Aktiviert Vorher-Abbilder, wenn auf `true` gesetzt. Der Standardwert ist `false`. 
+ `FieldName` – Weist dem neuen JSON-Attribut einen Namen zu. Wann `EnableBeforeImage` `true` ist, ist `FieldName` erforderlich und darf nicht leer sein.
+ `ColumnFilter` – Gibt eine Spalte an, die mithilfe von Vorher-Abbildern hinzugefügt werden soll. Wenn Sie nur Spalten hinzufügen möchten, die Teil der Primärschlüssel der Tabelle sind, verwenden Sie den Standardwert `pk-only`. Wenn Sie eine Spalte hinzufügen möchten, die einen Vorher-Abbild-Wert hat, verwenden Sie `all`. Beachten Sie, dass das Vorher-Abbild keine LOB-Datentypen (LOB = Large Binary Object) wie CLOB und BLOB unterstützt.

Das folgende Beispiel veranschaulicht die Verwendung von `BeforeImageSettings`. 

```
"BeforeImageSettings": {
    "EnableBeforeImage": true,
    "FieldName": "before-image",
    "ColumnFilter": "pk-only"
  }
```

Weitere Informationen zu den Vorher-Abbild-Einstellungen für Kinesis, einschließlich zusätzlicher Tabellenzuweisungseinstellungen, finden Sie unter [Verwenden eines Vorher-Abbilds zum Anzeigen von Originalwerten von CDC-Zeilen für einen Kinesis-Datenstrom als Ziel](CHAP_Target.Kinesis.md#CHAP_Target.Kinesis.BeforeImage).

Weitere Informationen zu den Vorher-Abbild-Einstellungen für Kafka, einschließlich zusätzlicher Tabellenzuordnungseinstellungen, finden Sie unter [Verwenden eines Vorher-Abbilds zum Anzeigen von Originalwerten von CDC-Zeilen für Apache Kafka als Ziel](CHAP_Target.Kafka.md#CHAP_Target.Kafka.BeforeImage).

# Aufgabeneinstellungen zur Fehlerbehandlung
<a name="CHAP_Tasks.CustomizingTasks.TaskSettings.ErrorHandling"></a>

Sie können das Fehlerbehandlungsverhalten der Replikationsaufgabe mit den folgenden Einstellungen festlegen. Informationen zur Verwendung einer Aufgabenkonfigurationsdatei zum Festlegen von Aufgabeneinstellungen finden Sie unter [Beispiel für Aufgabeneinstellungen](CHAP_Tasks.CustomizingTasks.TaskSettings.md#CHAP_Tasks.CustomizingTasks.TaskSettings.Example).
+ `DataErrorPolicy`— Legt fest, welche Aktion AWS DMS ergreift, wenn ein Fehler im Zusammenhang mit der Datenverarbeitung auf Datensatzebene auftritt. Einige Beispiele für Fehler bei der Datenverarbeitung sind Konvertierungsfehler, Fehler bei der Transformation und ungültige Daten. Der Standardwert ist `LOG_ERROR`.
  + `IGNORE_RECORD` – Die Aufgabe wird fortgesetzt und die Daten für diesen Datensatz werden ignoriert. Der Fehlerzähler für die Eigenschaft `DataErrorEscalationCount` wird erhöht. Wenn Sie also ein Limit für Fehler für eine Tabelle festlegen, wird dieser Fehler auf dieses Limit angerechnet. 
  + `LOG_ERROR` – Die Aufgabe wird fortgesetzt und der Fehler wird in das Aufgabenprotokoll geschrieben.
  + `SUSPEND_TABLE` – Die Aufgabe wird fortgesetzt, Daten aus der Tabelle mit dem fehlerhaften Datensatz werden jedoch in einen Fehlerstatus verschoben und die Daten werden nicht repliziert.
  + `STOP_TASK` – Die Aufgabe wird gestoppt und ein manuelles Eingreifen ist erforderlich.
+ `DataTruncationErrorPolicy` – Legt die Aktion fest, die AWS DMS ausführt, wenn Daten gekürzt sind. Der Standardwert ist `LOG_ERROR`.
  + `IGNORE_RECORD` – Die Aufgabe wird fortgesetzt und die Daten für diesen Datensatz werden ignoriert. Der Fehlerzähler für die Eigenschaft `DataErrorEscalationCount` wird erhöht. Wenn Sie also ein Limit für Fehler für eine Tabelle festlegen, wird dieser Fehler auf dieses Limit angerechnet. 
  + `LOG_ERROR` – Die Aufgabe wird fortgesetzt und der Fehler wird in das Aufgabenprotokoll geschrieben.
  + `SUSPEND_TABLE` – Die Aufgabe wird fortgesetzt, Daten aus der Tabelle mit dem fehlerhaften Datensatz werden jedoch in einen Fehlerstatus verschoben und die Daten werden nicht repliziert.
  + `STOP_TASK` – Die Aufgabe wird gestoppt und ein manuelles Eingreifen ist erforderlich.
+ `DataErrorEscalationPolicy` – Legt die Aktion fest, die AWS DMS ausführt, wenn die maximale Anzahl an Fehlern (im Parameter `DataErrorEscalationCount` festgelegt) erreicht ist. Der Standardwert ist `SUSPEND_TABLE`.
  + `SUSPEND_TABLE` – Die Aufgabe wird fortgesetzt, Daten aus der Tabelle mit dem fehlerhaften Datensatz werden jedoch in einen Fehlerstatus verschoben und die Daten werden nicht repliziert.
  + `STOP_TASK` – Die Aufgabe wird gestoppt und ein manuelles Eingreifen ist erforderlich.
+ `DataErrorEscalationCount` – Legt die maximale Anzahl an Fehlern fest, die für einen bestimmten Datensatz auftreten können. Wenn diese Anzahl erreicht ist, werden die Daten für die Tabelle, die den fehlerhaften Datensatz enthält, gemäß der Richtlinie behandelt, die in `DataErrorEscalationPolicy` festgelegt ist. Der Standardwert ist 0. 
+ `EventErrorPolicy`— Legt fest, welche Aktion AWS DMS ergreift, wenn beim Senden eines aufgabenbezogenen Ereignisses ein Fehler auftritt. Mögliche Werte
  + `IGNORE` – Die Aufgabe wird fortgesetzt und alle mit diesem Ereignis verknüpften Daten werden ignoriert.
  + `STOP_TASK` – Die Aufgabe wird gestoppt und ein manuelles Eingreifen ist erforderlich.
+ `TableErrorPolicy` – Legt die Aktion fest, die AWS DMS ausführt, wenn bei der Verarbeitung von Daten oder Metadaten für eine bestimmte Tabelle ein Fehler auftritt. Dieser Fehler gilt nur für allgemeine Tabellendaten und ist kein Fehler, der sich auf einen bestimmten Datensatz bezieht. Der Standardwert ist `SUSPEND_TABLE`.
  + `SUSPEND_TABLE` – Die Aufgabe wird fortgesetzt, Daten aus der Tabelle mit dem fehlerhaften Datensatz werden jedoch in einen Fehlerstatus verschoben und die Daten werden nicht repliziert.
  + `STOP_TASK` – Die Aufgabe wird gestoppt und ein manuelles Eingreifen ist erforderlich.
+ `TableErrorEscalationPolicy` – Legt die Aktion fest, die AWS DMS ausführt, wenn die maximale Anzahl an Fehlern (über den Parameter `TableErrorEscalationCount` festgelegt) erreicht ist. Die Standard- und einzige Benutzereinstellung ist `STOP_TASK`: Die Aufgabe wird angehalten und ein manueller Eingriff ist erforderlich.
+ `TableErrorEscalationCount` – Die maximale Anzahl an Fehlern, die bei allgemeinen Daten oder Metadaten für eine bestimmte Tabelle auftreten können. Wenn diese Anzahl erreicht ist, werden die Daten für die Tabelle gemäß der Richtlinie behandelt, die in `TableErrorEscalationPolicy` festgelegt wurde. Der Standardwert ist 0. 
+ `RecoverableErrorCount` – Die maximale Anzahl an Versuchen zum Neustart einer Aufgabe, wenn ein Umgebungsfehler auftritt. Nachdem das System so oft wie angegeben versucht hat, die Aufgabe neu zu starten, wird die Aufgabe angehalten und ein manueller Eingriff ist erforderlich. Der Standardwert ist -1.

  Wenn Sie diesen Wert auf -1 setzen, variiert die Anzahl der Wiederholungsversuche, die DMS versucht, je nach dem zurückgegebenen Fehlertyp wie folgt:
  + **Status Running, behebbarer Fehler**: Tritt ein behebbarer Fehler auf, z. B. ein Verbindungsverlust oder ein Fehler bei der Zielanwendung, wiederholt DMS die Aufgabe neun Mal.
  + **Startstatus, behebbarer Fehler**: DMS wiederholt die Aufgabe sechsmal.
  + **Laufender Status, schwerwiegender Fehler, der vom DMS behandelt wurde: DMS versucht** die Aufgabe sechsmal erneut.
  + **Status Running, fataler Fehler, der vom DMS nicht behandelt wurde: DMS** versucht die Aufgabe nicht erneut.
  + **Anders als oben**: AWS DMS Wiederholt die Aufgabe auf unbestimmte Zeit.

  Legen Sie diesen Wert auf 0 fest, um nie zu versuchen, eine Aufgabe neu zu starten. 

  Es wird empfohlen, Werte so einzustellen`RecoverableErrorCount`, dass in ausreichenden Intervallen genügend Wiederholungen erfolgen, damit Ihre DMS-Aufgabe ordnungsgemäß wiederhergestellt werden kann. `RecoverableErrorInterval` Wenn ein schwerwiegender Fehler auftritt, unterbricht DMS in den meisten Szenarien die Neustartversuche.
+ `RecoverableErrorInterval`— Die Anzahl der Sekunden, die AWS DMS zwischen Versuchen wartet, eine Aufgabe neu zu starten. Der Standardwert ist 5. 
+ `RecoverableErrorThrottling` – Wenn diese Option aktiviert ist, wird das Intervall zwischen den Versuchen zum Neustart einer Aufgabe in einer Reihe verlängert, basierend auf dem Wert von `RecoverableErrorInterval`. Wenn für `RecoverableErrorInterval` beispielsweise 5 Sekunden festgelegt sind, erfolgt der nächste Wiederholungsversuch nach 10 Sekunden, dann nach 20 Sekunden, dann nach 40 Sekunden usw. Der Standardwert ist `true`. 
+ `RecoverableErrorThrottlingMax`— Die maximale Anzahl von Sekunden, die AWS DMS zwischen Versuchen wartet, eine Aufgabe neu zu starten, falls diese Option aktiviert ist. `RecoverableErrorThrottling` Der Standardwert ist 1800. 
+ `RecoverableErrorStopRetryAfterThrottlingMax`— Der Standardwert ist auf festgelegt`true`, und DMS beendet die Wiederaufnahme der Aufgabe, wenn die maximale Anzahl von Sekunden, die zwischen den Wiederherstellungsversuchen AWS DMS gewartet werden kann, pro erreicht ist. `RecoverableErrorStopRetryAfterThrottlingMax` Wenn diese Option auf gesetzt ist`false`, setzt DMS die Aufgabe fort, wenn die maximale Anzahl von Sekunden, die zwischen Wiederherstellungsversuchen vergehen, AWS DMS pro Tag erreicht ist, bis diese erreicht ist. `RecoverableErrorStopRetryAfterThrottlingMax` `RecoverableErrorCount`
+ `ApplyErrorDeletePolicy` – Legt fest, welche Aktion AWS DMS ausführt, wenn es zu einem Konflikt mit einem DELETE-Vorgang kommt. Der Standardwert ist `IGNORE_RECORD`. Folgende Werte sind möglich:
  + `IGNORE_RECORD` – Die Aufgabe wird fortgesetzt und die Daten für diesen Datensatz werden ignoriert. Der Fehlerzähler für die Eigenschaft `ApplyErrorEscalationCount` wird erhöht. Wenn Sie also ein Limit für Fehler für eine Tabelle festlegen, wird dieser Fehler auf dieses Limit angerechnet. 
  + `LOG_ERROR` – Die Aufgabe wird fortgesetzt und der Fehler wird in das Aufgabenprotokoll geschrieben.
  + `SUSPEND_TABLE` – Die Aufgabe wird fortgesetzt, Daten aus der Tabelle mit dem fehlerhaften Datensatz werden jedoch in einen Fehlerstatus verschoben und die Daten werden nicht repliziert.
  + `STOP_TASK` – Die Aufgabe wird gestoppt und ein manuelles Eingreifen ist erforderlich.
+ `ApplyErrorInsertPolicy` – Legt fest, welche Aktion AWS DMS ausführt, wenn es zu einem Konflikt mit einem INSERT-Vorgang kommt. Der Standardwert ist `LOG_ERROR`. Folgende Werte sind möglich:
  + `IGNORE_RECORD` – Die Aufgabe wird fortgesetzt und die Daten für diesen Datensatz werden ignoriert. Der Fehlerzähler für die Eigenschaft `ApplyErrorEscalationCount` wird erhöht. Wenn Sie also ein Limit für Fehler für eine Tabelle festlegen, wird dieser Fehler auf dieses Limit angerechnet. 
  + `LOG_ERROR` – Die Aufgabe wird fortgesetzt und der Fehler wird in das Aufgabenprotokoll geschrieben.
  + `SUSPEND_TABLE` – Die Aufgabe wird fortgesetzt, Daten aus der Tabelle mit dem fehlerhaften Datensatz werden jedoch in einen Fehlerstatus verschoben und die Daten werden nicht repliziert.
  + `STOP_TASK` – Die Aufgabe wird gestoppt und ein manuelles Eingreifen ist erforderlich.
  + `INSERT_RECORD` – Wenn ein bereits bestehender Zieldatensatz denselben Primärschlüssel wie der eingefügte Quelldatensatz aufweist, wird der Zieldatensatz aktualisiert.
**Anmerkung**  
**Im Modus „Transactional Apply“**: Bei diesem Vorgang versucht das System zunächst, den Datensatz einzufügen. Wenn das Einfügen aufgrund eines Primärschlüsselkonflikts fehlschlägt, löscht es den vorhandenen Datensatz und fügt dann den neuen ein. 
**Im Batch Apply-Modus**: Der Prozess entfernt alle vorhandenen Datensätze im Zielstapel, bevor der komplette Satz neuer Datensätze eingefügt wird, wodurch ein sauberes Ersetzen der Daten gewährleistet wird.
Dieser Prozess verhindert Datenduplikationen, verursacht jedoch im Vergleich zur Standardrichtlinie einige Leistungseinbußen. Die genaue Auswirkung auf die Leistung hängt von Ihren spezifischen Workload-Merkmalen ab.
+ `ApplyErrorUpdatePolicy` – Legt fest, welche Aktion AWS DMS ausführt, wenn es zu einem Konflikt bezüglich fehlender Daten mit einem UPDATE-Vorgang kommt. Der Standardwert ist `LOG_ERROR`. Folgende Werte sind möglich:
  + `IGNORE_RECORD` – Die Aufgabe wird fortgesetzt und die Daten für diesen Datensatz werden ignoriert. Der Fehlerzähler für die Eigenschaft `ApplyErrorEscalationCount` wird erhöht. Wenn Sie also ein Limit für Fehler für eine Tabelle festlegen, wird dieser Fehler auf dieses Limit angerechnet. 
  + `LOG_ERROR` – Die Aufgabe wird fortgesetzt und der Fehler wird in das Aufgabenprotokoll geschrieben.
  + `SUSPEND_TABLE` – Die Aufgabe wird fortgesetzt, Daten aus der Tabelle mit dem fehlerhaften Datensatz werden jedoch in einen Fehlerstatus verschoben und die Daten werden nicht repliziert.
  + `STOP_TASK` – Die Aufgabe wird gestoppt und ein manuelles Eingreifen ist erforderlich.
  + `UPDATE_RECORD`— Wenn der Zieldatensatz fehlt, wird der fehlende Zieldatensatz in die Zieltabelle eingefügt. AWS DMS deaktiviert die LOB-Spaltenunterstützung für die Aufgabe vollständig. Wenn diese Option ausgewählt wird, muss die vollständige ergänzende Protokollierung für alle Quelltabellenspalten aktiviert werden, wenn Oracle die Quelldatenbank ist.
**Anmerkung**  
**Im Modus „Transactional Apply“**: In diesem Prozess versucht das System zunächst, den Datensatz zu aktualisieren. Wenn die Aktualisierung aufgrund eines fehlenden Datensatzes auf dem Zieldatensatz fehlschlägt, löscht es den fehlerhaften Datensatz und fügt dann den neuen ein. Dieser Prozess erfordert eine vollständige zusätzliche Protokollierung für Oracle-Quelldatenbanken, und DMS deaktiviert die LOB-Spaltenunterstützung für diese Aufgabe.
**Im Batch Apply-Modus**: Der Prozess entfernt alle vorhandenen Datensätze im Zielstapel, bevor der komplette Satz neuer Datensätze eingefügt wird, wodurch ein sauberes Ersetzen der Daten gewährleistet wird.
+ `ApplyErrorEscalationPolicy`— Legt fest, welche Aktion AWS DMS ergreift, wenn die maximale Anzahl von Fehlern (die mithilfe des `ApplyErrorEscalationCount` Parameters festgelegt wurde) erreicht ist. Die Standardeinstellung ist LOG\$1ERROR:
  + `LOG_ERROR` – Die Aufgabe wird fortgesetzt und der Fehler wird in das Aufgabenprotokoll geschrieben.
  + `SUSPEND_TABLE` – Die Aufgabe wird fortgesetzt, Daten aus der Tabelle mit dem fehlerhaften Datensatz werden jedoch in einen Fehlerstatus verschoben und die Daten werden nicht repliziert.
  + `STOP_TASK` – Die Aufgabe wird gestoppt und ein manuelles Eingreifen ist erforderlich.
+ `ApplyErrorEscalationCount` – Legt die maximale Anzahl der APPLY-Konflikte fest, die während einer Prozessänderung für eine bestimmte Tabelle auftreten können. Wenn diese Anzahl erreicht ist, werden die Daten für die Tabelle gemäß der Richtlinie behandelt, die im Parameter `ApplyErrorEscalationPolicy` festgelegt wurde. Der Standardwert ist 0. 
+ `ApplyErrorFailOnTruncationDdl` – Legen Sie für diese Option `true` fest, damit die Aufgabe fehlschlägt, wenn an einer der nachverfolgten Tabellen während CDC eine Kürzung vorgenommen wird. Der Standardwert ist `false`. 

  Dieser Ansatz funktioniert nicht mit PostgreSQL Version 11.x oder niedriger oder einem anderen Quellendpunkt, der die DDL-Tabellenkürzung nicht repliziert.
+ `FailOnNoTablesCaptured` – Legen Sie für diese Option `true` fest, damit die Aufgabe fehlschlägt, wenn die für eine Aufgabe definierten Tabellenzuweisungen beim Start der Aufgabe keine Tabellen finden. Der Standardwert ist `true`.
+ `FailOnTransactionConsistencyBreached` – Diese Option gilt für Aufgaben, die für CDC Oracle als Quelle verwenden. Der Standardwert lautet „false“. Geben Sie dies mit `true` an, damit eine Aufgabe fehlschlägt, wenn eine Transaktion länger als der angegebene Timeoutwert geöffnet ist und verworfen werden kann. 

  Wenn eine CDC-Aufgabe mit Oracle gestartet wird, AWS DMS wartet eine begrenzte Zeit, bis die älteste offene Transaktion geschlossen ist, bevor CDC gestartet wird. Wenn die älteste offene Transaktion erst geschlossen wird, wenn das Timeout erreicht ist, wird CDC in den meisten Fällen AWS DMS gestartet, wobei diese Transaktion ignoriert wird. Wenn diese Option auf `true` gesetzt ist, schlägt die Aufgabe fehl.
+ `FullLoadIgnoreConflicts`— Stellen Sie diese Option so ein, `true` dass die Fehler „Keine betroffenen Zeilen“ und „Duplikate“ bei der Anwendung zwischengespeicherter Ereignisse AWS DMS ignoriert werden. Wenn diese Option auf gesetzt ist`false`, werden alle Fehler AWS DMS gemeldet, anstatt sie zu ignorieren. Der Standardwert ist `true`. 
+ `DataMaskingErrorPolicy`— Legt fest, welche Aktion ausgeführt wird, wenn die Datenmaskierung aufgrund eines inkompatiblen Datentyps oder aus einem anderen Grund AWS DMS fehlschlägt. Die folgenden Optionen sind verfügbar:
  + `STOP_TASK`(Standard) — Die Aufgabe wird beendet und ein manuelles Eingreifen ist erforderlich.
  + `IGNORE_RECORD` – Die Aufgabe wird fortgesetzt und die Daten für diesen Datensatz werden ignoriert.
  + `LOG_ERROR` – Die Aufgabe wird fortgesetzt und der Fehler wird in das Aufgabenprotokoll geschrieben. Unmaskierte Daten werden in die Zieltabelle geladen.
  + `SUSPEND_TABLE` – Die Aufgabe wird fortgesetzt, Daten aus der Tabelle mit dem fehlerhaften Datensatz werden jedoch in einen Fehlerstatus verschoben und die Daten werden nicht repliziert.

**Anmerkung**  
 Fehler beim Laden von Tabellen in Redshift als Ziel werden unter gemeldet. `STL_LOAD_ERRORS` Weitere Informationen finden Sie unter [STL\$1LOAD\$1ERRORS](https://docs.aws.amazon.com/redshift/latest/dg/r_STL_LOAD_ERRORS.html) im *Datenbankentwicklerhandbuch für Amazon Redshift*.

**Anmerkung**  
Parameteränderungen im Zusammenhang mit behebbaren Fehlern werden erst wirksam, wenn Sie die DMS-Aufgabe beenden und wieder aufnehmen. Änderungen gelten nicht für die aktuelle Ausführung.

# Speichern der Aufgabeneinstellungen
<a name="CHAP_Tasks.CustomizingTasks.TaskSettings.Saving"></a>

Sie können die Aufgabeneinstellungen als JSON-Datei speichern, falls Sie die Einstellungen für eine andere Aufgabe wiederverwenden möchten. Aufgabeneinstellungen zum Kopieren in eine JSON-Datei finden Sie im Abschnitt **Übersichtsdetails** einer Aufgabe.

**Anmerkung**  
Wenn Sie Aufgabeneinstellungen für andere Aufgaben wiederverwenden, entfernen Sie alle Attribute `CloudWatchLogGroup` und `CloudWatchLogStream`. Andernfalls wird der folgende Fehler angezeigt: SYSTEM ERROR MESSAGE:Task Settings CloudWatchLogGroup or CloudWatchLogStream cannot be set on create.

Zum Beispiel enthält die folgende JSON-Datei gespeicherte Einstellungen für eine Aufgabe.

```
{
    "TargetMetadata": {
        "TargetSchema": "",
        "SupportLobs": true,
        "FullLobMode": false,
        "LobChunkSize": 0,
        "LimitedSizeLobMode": true,
        "LobMaxSize": 32,
        "InlineLobMaxSize": 0,
        "LoadMaxFileSize": 0,
        "ParallelLoadThreads": 0,
        "ParallelLoadBufferSize": 0,
        "BatchApplyEnabled": false,
        "TaskRecoveryTableEnabled": false,
        "ParallelLoadQueuesPerThread": 0,
        "ParallelApplyThreads": 0,
        "ParallelApplyBufferSize": 0,
        "ParallelApplyQueuesPerThread": 0
    },
    "FullLoadSettings": {
        "TargetTablePrepMode": "DO_NOTHING",
        "CreatePkAfterFullLoad": false,
        "StopTaskCachedChangesApplied": false,
        "StopTaskCachedChangesNotApplied": false,
        "MaxFullLoadSubTasks": 8,
        "TransactionConsistencyTimeout": 600,
        "CommitRate": 10000
    },
    "Logging": {
        "EnableLogging": true,
        "LogComponents": [
            {
                "Id": "TRANSFORMATION",
                "Severity": "LOGGER_SEVERITY_DEFAULT"
            },
            {
                "Id": "SOURCE_UNLOAD",
                "Severity": "LOGGER_SEVERITY_DEFAULT"
            },
            {
                "Id": "IO",
                "Severity": "LOGGER_SEVERITY_DEFAULT"
            },
            {
                "Id": "TARGET_LOAD",
                "Severity": "LOGGER_SEVERITY_DEFAULT"
            },
            {
                "Id": "PERFORMANCE",
                "Severity": "LOGGER_SEVERITY_DEFAULT"
            },
            {
                "Id": "SOURCE_CAPTURE",
                "Severity": "LOGGER_SEVERITY_DEFAULT"
            },
            {
                "Id": "SORTER",
                "Severity": "LOGGER_SEVERITY_DEFAULT"
            },
            {
                "Id": "REST_SERVER",
                "Severity": "LOGGER_SEVERITY_DEFAULT"
            },
            {
                "Id": "VALIDATOR_EXT",
                "Severity": "LOGGER_SEVERITY_DEFAULT"
            },
            {
                "Id": "TARGET_APPLY",
                "Severity": "LOGGER_SEVERITY_DEFAULT"
            },
            {
                "Id": "TASK_MANAGER",
                "Severity": "LOGGER_SEVERITY_DEFAULT"
            },
            {
                "Id": "TABLES_MANAGER",
                "Severity": "LOGGER_SEVERITY_DEFAULT"
            },
            {
                "Id": "METADATA_MANAGER",
                "Severity": "LOGGER_SEVERITY_DEFAULT"
            },
            {
                "Id": "FILE_FACTORY",
                "Severity": "LOGGER_SEVERITY_DEFAULT"
            },
            {
                "Id": "COMMON",
                "Severity": "LOGGER_SEVERITY_DEFAULT"
            },
            {
                "Id": "ADDONS",
                "Severity": "LOGGER_SEVERITY_DEFAULT"
            },
            {
                "Id": "DATA_STRUCTURE",
                "Severity": "LOGGER_SEVERITY_DEFAULT"
            },
            {
                "Id": "COMMUNICATION",
                "Severity": "LOGGER_SEVERITY_DEFAULT"
            },
            {
                "Id": "FILE_TRANSFER",
                "Severity": "LOGGER_SEVERITY_DEFAULT"
            }
        ]
    },
    "ControlTablesSettings": {
        "ControlSchema": "",
        "HistoryTimeslotInMinutes": 5,
        "HistoryTableEnabled": false,
        "SuspendedTablesTableEnabled": false,
        "StatusTableEnabled": false,
        "FullLoadExceptionTableEnabled": false
    },
    "StreamBufferSettings": {
        "StreamBufferCount": 3,
        "StreamBufferSizeInMB": 8,
        "CtrlStreamBufferSizeInMB": 5
    },
    "ChangeProcessingDdlHandlingPolicy": {
        "HandleSourceTableDropped": true,
        "HandleSourceTableTruncated": true,
        "HandleSourceTableAltered": true
    },
    "ErrorBehavior": {
        "DataErrorPolicy": "LOG_ERROR",
        "DataTruncationErrorPolicy": "LOG_ERROR",
        "DataErrorEscalationPolicy": "SUSPEND_TABLE",
        "DataErrorEscalationCount": 0,
        "TableErrorPolicy": "SUSPEND_TABLE",
        "TableErrorEscalationPolicy": "STOP_TASK",
        "TableErrorEscalationCount": 0,
        "RecoverableErrorCount": -1,
        "RecoverableErrorInterval": 5,
        "RecoverableErrorThrottling": true,
        "RecoverableErrorThrottlingMax": 1800,
        "RecoverableErrorStopRetryAfterThrottlingMax": true,
        "ApplyErrorDeletePolicy": "IGNORE_RECORD",
        "ApplyErrorInsertPolicy": "LOG_ERROR",
        "ApplyErrorUpdatePolicy": "LOG_ERROR",
        "ApplyErrorEscalationPolicy": "LOG_ERROR",
        "ApplyErrorEscalationCount": 0,
        "ApplyErrorFailOnTruncationDdl": false,
        "FullLoadIgnoreConflicts": true,
        "FailOnTransactionConsistencyBreached": false,
        "FailOnNoTablesCaptured": true
    },
    "ChangeProcessingTuning": {
        "BatchApplyPreserveTransaction": true,
        "BatchApplyTimeoutMin": 1,
        "BatchApplyTimeoutMax": 30,
        "BatchApplyMemoryLimit": 500,
        "BatchSplitSize": 0,
        "MinTransactionSize": 1000,
        "CommitTimeout": 1,
        "MemoryLimitTotal": 1024,
        "MemoryKeepTime": 60,
        "StatementCacheSize": 50
    },
    "PostProcessingRules": null,
    "CharacterSetSettings": null,
    "LoopbackPreventionSettings": null,
    "BeforeImageSettings": null,
    "FailTaskWhenCleanTaskResourceFailed": false
}
```

# Einstellung der LOB-Unterstützung für Quelldatenbanken in einer Aufgabe AWS DMS
<a name="CHAP_Tasks.LOBSupport"></a>

Es kann manchmal schwierig sein, große binäre Objekte (LOBs) zwischen Systemen zu migrieren. AWS DMS bietet eine Reihe von Optionen, die bei der Optimierung von LOB-Spalten helfen. Informationen darüber, welche und wann Datentypen berücksichtigt LOBs werden AWS DMS, finden Sie in der AWS DMS Dokumentation.

Wenn Sie Daten von einer Datenbank in eine andere migrieren, nutzen Sie möglicherweise die Gelegenheit, um zu überdenken, wie Ihre Daten gespeichert LOBs werden, insbesondere bei heterogenen Migrationen. Wenn Sie dies möchten, müssen Sie die LOB-Daten nicht migrieren.

Wenn Sie sich für die Aufnahme entscheiden LOBs, können Sie anschließend die anderen LOB-Einstellungen festlegen:
+ Der LOB-Modus bestimmt, wie damit umgegangen LOBs wird:
  + **Vollständiger LOB-Modus** — Im vollständigen LOB-Modus werden alle Daten unabhängig von der Größe LOBs von der Quelle zum Ziel AWS DMS migriert. In dieser Konfiguration liegen keine Informationen über die zu erwartende maximale Größe vor LOBs . AWS DMS Somit LOBs werden nacheinander, Stück für Stück, migriert. Der vollständige LOB-Modus kann recht langsam sein.
  + Limitierter LOB-Modus – Im limitierten LOB-Modus können Sie eine maximale LOB-Größe festlegen, die von DMS akzeptiert werden sollte. Dadurch kann DMS Speicher vorab zuweisen und die LOB-Daten in großen Mengen laden. LOBsdie die maximale LOB-Größe überschreiten, werden gekürzt, und es wird eine Warnung in der Protokolldatei ausgegeben. Im limitierten LOB-Modus kann gegenüber dem vollständigen LOB-Modus eine erhebliche Leistungssteigerung erzielt werden. Wir empfehlen Ihnen, nach Möglichkeit den eingeschränkten LOB-Modus zu verwenden. Der Höchstwert für diesen Parameter ist 102400 KB (100 MB).
**Anmerkung**  
Wenn die Option „Maximale LOB-Größe (KB)“ mit einem Wert von mehr als 63 KB verwendet wird, beeinträchtigt dies die Leistung eines vollständigen Ladevorgangs, der für die Ausführung im limitierten LOB-Modus konfiguriert ist. Beim vollständigen Laden weist DMS Speicher zu, indem der Wert für die maximale LOB-Größe (KB) mit der Commit-Rate multipliziert und das Produkt mit der Anzahl der LOB-Spalten multipliziert wird. Wenn DMS diesen Speicher nicht vorab zuweisen kann, verbraucht es SWAP-Speicher, was sich negativ auf die Leistung der Vollladeaufgaben auswirkt. Wenn bei der Verwendung des eingeschränkten LOB-Modus Leistungsprobleme auftreten, sollten Sie die Übertragungsrate verringern, bis Sie ein akzeptables Leistungsniveau erreicht haben. Während eines CDC-Modus weist DMS Speicher zu, indem es die Anzahl der LOB-Spalten mit dem Parameter Max. LOB-Größe multipliziert, der in den Task-Einstellungen für begrenzte LOBs angegeben ist, und anschließend mit der Datensatzgröße. Der DMS-CDC-Prozess läuft pro DMS-Aufgabe in einem einzigen Thread ab. Weitere Informationen finden Sie unter [Ändern der Einstellungen für die Verarbeitungsoptimierung](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TaskSettings.ChangeProcessingTuning.html).  
Um die begrenzte LOB-Größe zu überprüfen, müssen Sie für `ValidationPartialLobSize` denselben Wert wie für `LobMaxSize` (KB) angeben.
  + **Inline-LOB-Modus** — Im Inline-LOB-Modus legen Sie die maximale LOB-Größe fest, die DMS inline überträgt. LOBs Kleinere als die angegebene Größe werden inline übertragen. LOBs größer als die angegebene Größe werden im vollständigen LOB-Modus repliziert. Sie können diese Option wählen, um sowohl kleine als auch große zu replizieren, LOBs wenn die LOBs meisten davon klein sind. Für Endpunkte, die den vollständigen LOB-Modus nicht unterstützen, wie S3 und Redshift, unterstützt DMS den Inline-LOB-Modus nicht.
**Anmerkung**  
Bei Oracle LOBs werden Datentypen wann immer möglich als VARCHAR-Datentypen behandelt. Dieser Ansatz bedeutet, dass sie in großen Mengen aus der Datenbank AWS DMS abgerufen werden, was deutlich schneller ist als bei anderen Methoden. Die maximale Größe eines VARCHAR in Oracle beträgt 32 K. Wenn Oracle Ihre Quelldatenbank ist, ist eine auf weniger als 32 K begrenzte LOB-Größe daher optimal.
+ Wenn eine Aufgabe zur Ausführung im eingeschränkten LOB-Modus konfiguriert wurde, wird mit der Option **Max LOB size (K) (Maximale LOB-Größe (K))** die maximale LOB-Größe festgelegt, die von AWS DMS akzeptiert wird. Alle Werte LOBs , die größer als dieser Wert sind, werden auf diesen Wert gekürzt.
+ Wenn eine Aufgabe so konfiguriert ist, dass sie den vollständigen LOB-Modus verwendet, AWS DMS ruft LOBs sie in Einzelteilen ab. Die Option **LOB chunk size (K) (LOB-Teilegröße)** bestimmt die Größe der einzelnen Teile. Wenn Sie diese Option festlegen, achten Sie besonders auf die maximale Paketgröße, die gemäß Ihrer Netzwerkkonfiguration zulässig ist. Wenn die LOB-Blockgröße die maximal zulässige Paketgröße überschreitet, erhalten Sie möglicherweise Trennungsfehler. Der empfohlene Wert für `LobChunkSize` ist 64 Kilobyte. Wenn für `LobChunkSize` ein höherer Wert als 64 Kilobyte verwendet wird, kann dies zu Aufgabenfehlern führen.
+ Wenn eine Aufgabe so konfiguriert ist, dass sie im Inline-LOB-Modus ausgeführt wird, bestimmt die `InlineLobMaxSize` Einstellung, welcher LOBs DMS Inline-Übertragungen durchführt.
**Anmerkung**  
Bei CDC-Vorgängen (Change Data Capture) ist für Tabellen, die LOB-Spalten enthalten, ein Primärschlüssel erforderlich. DMS verwendet diesen Schlüssel, um LOB-Werte in der Quelltabelle nachzuschlagen. Diese Anforderung gilt nur für CDC-Aufgaben. Bei Volllastaufgaben können ganze LOB-Spalten ohne Einschränkungen direkt von der Quelle zum Ziel gelesen und kopiert werden.

Weitere Informationen zu den Aufgabeneinstellungen zum Angeben dieser Optionen finden Sie unter [Ziel-Metadaten-Aufgabeneinstellungen](CHAP_Tasks.CustomizingTasks.TaskSettings.TargetMetadata.md)

## SQL-Befehle zur Überprüfung der maximalen LOB-Spaltenlänge in der Quelltabelle
<a name="CHAP_Tasks.Creating.SQLCommandsLOB"></a>

Verwenden Sie die folgenden SQL-Befehle, um die maximale LOB-Spaltenlänge zu überprüfen und entsprechend die DMS-Limited-LOB-Einstellungen zu konfigurieren, um Datenkürzungen bei der Migration zu vermeiden:

**Oracle**  

```
SELECT dbms_lob.getlength(<COL_NAME>) as LOB_LENGTH
FROM <TABLE_NAME>
ORDER BY dbms_lob.getlength(<COL_NAME>) DESC
FETCH FIRST 10 ROWS ONLY;

Select ((max(length(<COL_NAME>)))/(1024)) from <TABLE_NAME>
```

**SQL Server**  

```
Select top 10 datalength(<COL_NAME>) as fieldsize from <TABLE_NAME> order by datalength(<COL_NAME>) desc;
```

**MySQL**  

```
Select (max(length(<COL_NAME>))/(1024)) as "Size in KB" from <TABLE_NAME>;
```

**PostgreSQL**  

```
Select max((octet_length(<COL_NAME>))/(1024.0)) as "Size in KB" from <TABLE_NAME>;
```

**Db2 LUW**  

```
-- Method 1: Using SYSCAT.COLUMNS (converting to KB)

SELECT TABSCHEMA, TABNAME, COLNAME, LENGTH/1024 as LENGTH_KB, TYPENAME FROM SYSCAT.COLUMNS WHERE TYPENAME IN ('BLOB', 'CLOB', 'DBCLOB') ORDER BY LENGTH DESC;

-- Method 2: For specific table with KB conversion

  SELECT COLNAME, LENGTH/1024 as LENGTH_KB, TYPENAME FROM SYSCAT.COLUMNS WHERE TABSCHEMA = 'YOUR_SCHEMA'AND TABNAME = 'YOUR_TABLE'AND TYPENAME IN ('BLOB', 'CLOB', 'DBCLOB'); 
  
-- Method 3: Using SYSIBM.SYSCOLUMNS

SELECT TBCREATOR, TBNAME, NAME, LENGTH/1024 as LENGTH_KB, COLTYPE FROM SYSIBM.SYSCOLUMNS WHERE COLTYPE IN ('BLOB', 'CLOB', 'DBCLOB') ORDER BY LENGTH DESC;

SYBASE :

SELECT c.name as column_name, t.name as data_type, (c.length)/1024 as length_KB FROM syscolumns c JOIN systypes t ON c.usertype = t.usertype WHERE object_name(c.id) = 'YOUR_TABLE_NAME'AND t.name IN ('text', 'image', 'unitext') ORDER BY c.length DESC;
```

# Erstellen mehrerer Aufgaben
<a name="CHAP_Tasks.ReplicationTasks.MultipleTasks"></a>

In einigen Migrationsszenarien müssen Sie möglicherweise mehrere Migrationsaufgaben erstellen. Aufgaben funktionieren unabhängig voneinander und können gleichzeitig ausgeführt werden. Jede Aufgabe hat ihren eigenen Prozess für das anfängliche Laden, CDC und das Lesen von Protokollen. Tabellen, die über DML (Datenmanipulationssprache) miteinander in Beziehung stehen, müssen Teil der gleichen Aufgabe sein.

Einige Gründe für das Erstellen mehrerer Aufgaben für eine Migration sind Folgende:
+ Die Zieltabellen für die Aufgaben liegen auf verschiedenen Datenbanken, z. B., wenn Sie ein System erweitern oder in mehrere Systeme unterteilen.
+ Sie möchten die Migration einer großen Tabelle mithilfe von Filtern in mehrere Aufgaben unterteilen.

**Anmerkung**  
Da jede Aufgabe ihren eigenen Prozess für das Erfassen von Änderungen und das Lesen von Protokollen hat, werden Änderungen *nicht* über Aufgaben hinweg koordiniert. Vergewissern Sie sich daher bei Verwendung mehrerer Aufgaben für die Durchführung einer Migration, dass jede einzelne Quelltransaktion vollständig innerhalb einer einzigen Aufgabe enthalten ist. Sie können mehrere Aufgaben verwenden, um eine Migration durchzuführen, wenn keine einzelne Transaktion auf verschiedene Aufgaben aufgeteilt ist.

# Aufgaben für die laufende Replikation erstellen mit AWS DMS
<a name="CHAP_Task.CDC"></a>

Sie können eine AWS DMS Aufgabe erstellen, die laufende Änderungen aus dem Quelldatenspeicher erfasst. Diese Erfassung kann erfolgen, während Sie Ihre Daten migrieren. Sie können auch eine Aufgabe erstellen, die laufende Änderungen erfasst, nachdem Sie Ihre erste (Full-Load) Migration auf einen unterstützten Zieldatenspeicher abgeschlossen haben. Dieser Vorgang wird als fortlaufende Replikation oder Change Data Capture (CDC) bezeichnet. AWS DMS verwendet diesen Prozess, wenn laufende Änderungen aus einem Quelldatenspeicher repliziert werden. Bei diesem Prozess werden Änderungen an den Datenbankprotokollen mithilfe der Datenbank-Engine der nativen API erfasst. 

**Anmerkung**  
Sie können Ansichten nur mithilfe von Full-Load-Aufgaben migrieren. Wenn es sich bei Ihrer Aufgabe entweder um eine reine CDC-Aufgabe oder eine Full-Load-Aufgabe handelt, die CDC nach ihrem Abschluss startet, enthält die Migration nur Tabellen aus der Quelle. Mithilfe einer full-load-only Aufgabe können Sie Ansichten oder eine Kombination aus Tabellen und Ansichten migrieren. Weitere Informationen finden Sie unter [Festlegen der Tabellenauswahl- und Transformationsregeln mit JSON](CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.md).

Jede Quell-Engine verfügt über spezifische Konfigurationsanforderungen für die Bereitstellung dieses Änderungsstroms für ein bestimmtes Benutzerkonto. Die meisten Engines erfordern eine zusätzliche Konfiguration, damit der Erfassungsprozess die Änderungsdaten sinnvoll und ohne Datenverlust verwerten kann. Zum Beispiel erfordert Oracle eine zusätzliche Protokollierung und MySQL eine binäre Protokollierung auf Zeilenebene. 

 Um laufende Änderungen aus der Quelldatenbank zu lesen, AWS DMS verwendet Engine-spezifische API-Aktionen, um Änderungen aus den Transaktionsprotokollen der Quell-Engine zu lesen. Im Folgenden finden Sie einige Beispiele dafür, wie AWS DMS das funktioniert: 
+  AWS DMS Verwendet für Oracle entweder die LogMiner Oracle-API oder die Binary-Reader-API (bfile-API), um laufende Änderungen zu lesen. AWS DMS liest laufende Änderungen anhand der System Change Number (SCN) aus den Online- oder Archiv-Redo-Logs. 
+  AWS DMS Verwendet für Microsoft SQL Server MS-Replikation oder MS-CDC, um Informationen in das SQL Server-Transaktionsprotokoll zu schreiben. Anschließend wird die Funktion `fn_dblog()` oder ` fn_dump_dblog()` in SQL Server zum Lesen der Änderungen im Transaktionsprotokoll basierend auf der Log-Sequenznummer (LSN) verwendet. 
+  AWS DMS Liest für MySQL Änderungen aus den zeilenbasierten Binärprotokollen (Binlogs) und migriert diese Änderungen auf das Ziel.
+ Für PostgreSQL richtet es logische AWS DMS Replikationsslots ein und verwendet das test\$1decoding-Plugin, um Änderungen aus der Quelle zu lesen und sie zum Ziel zu migrieren.
+ Für Amazon RDS als Quelle sollten Sie sicherstellen, dass zur Einrichtung von CDC Sicherungen aktiviert sind. Wir empfehlen außerdem, sicherzustellen, dass die Quelldatenbank so konfiguriert ist, dass Änderungsprotokolle ausreichend lange beibehalten werden – in der Regel sind 24 Stunden genug. Spezifische Einstellungen für die einzelnen Endpunkte finden Sie in den folgenden Themen:
  + **Amazon RDS für Oracle: ** [Konfiguration einer AWS-verwalteten Oracle-Quelle für AWS DMS](CHAP_Source.Oracle.md#CHAP_Source.Oracle.Amazon-Managed.Configuration).
  + **Amazon RDS für MySQL und Aurora MySQL:** [Verwendung einer AWS-verwalteten MySQL-kompatiblen Datenbank als Quelle für AWS DMS](CHAP_Source.MySQL.md#CHAP_Source.MySQL.AmazonManaged).
  + **Amazon RDS für SQL Server:** [Einrichten der laufenden Replikation auf einer SQL-Server-DB-Instance in der Cloud](CHAP_Source.SQLServer.CDC.md#CHAP_Source.SQLServer.Configuration).
  + **Amazon RDS für PostgreSQL und Aurora PostgreSQL:** PostgreSQL behält automatisch das erforderliche WAL bei. 

Es gibt zwei Arten von fortlaufenden Replikationsaufgaben:
+ Vollständiger Ladevorgang plus CDC – Die Aufgabe migriert vorhandene Daten und aktualisiert dann die Zieldatenbank basierend auf den Änderungen an der Quelldatenbank.
+ Nur CDC – Die Aufgabe migriert laufende Änderungen, nachdem Sie Daten in Ihrer Zieldatenbank vorliegen haben.

## Durchführen der Replikation von einem CDC-Startpunkt aus
<a name="CHAP_Task.CDC.StartPoint"></a>

Sie können eine AWS DMS laufende Replikationsaufgabe (nur Erfassung von Änderungsdaten) von mehreren Punkten aus starten. Diese umfassen u. a. folgende: 
+  **Ab einer benutzerdefinierten CDC-Startzeit** — Sie können das AWS-Managementkonsole oder verwenden, AWS CLI um einen Zeitstempel anzugeben AWS DMS , an dem die Replikation beginnen soll. AWS DMS startet dann ab dieser benutzerdefinierten CDC-Startzeit eine laufende Replikationsaufgabe. AWS DMS konvertiert den angegebenen Zeitstempel (in UTC) in einen systemeigenen Startpunkt, z. B. eine LSN für SQL Server oder eine SCN für Oracle. AWS DMS verwendet Engine-spezifische Methoden, um anhand des Change-Streams der Quell-Engine zu bestimmen, wo die Migrationsaufgabe gestartet werden soll. 
**Anmerkung**  
Nur wenn das `StartFromContext` zusätzliche Verbindungsattribut auf den erforderlichen Zeitstempel gesetzt wird, bietet Db2 als Quelle eine benutzerdefinierte CDC-Startzeit.  
PostgreSQL als Quelle unterstützt die benutzerdefinierte CDC-Startzeit nicht. Der Grund hierfür ist, dass die PostgreSQL-Datenbank-Engine keine Möglichkeit hat, einen Zeitstempel zu einem LSN oder SCN zuzuordnen, wie es Oracle und SQL Server tun. 
+ **Ab einem nativen CDC-Startpunkt** – Sie können auch ab einem nativen Punkt im Transaktionsprotokoll der Quell-Engine starten. In einigen Fällen bevorzugen Sie möglicherweise diesen Ansatz, da ein Zeitstempel mehrere systemeigene Punkte im Transaktionslog angeben kann. AWS DMS unterstützt diese Funktion für die folgenden Quellendpunkte: 
  + SQL Server
  + PostgreSQL
  + Oracle
  + MySQL
  + MariaDB
**Anmerkung**  
Die folgenden Datenbank-Endpunkte unterstützen die native CDC-Startpunktfunktion nicht:  
 Amazon Aurora MySQL 
 Amazon Aurora PostgreSQL 
Amazon DocumentDB (mit MongoDB-Kompatibilität)
Amazon S3
IBM Db2 für z/OS
IBM Db2 (LUW)
Microsoft Azure SQL Database
Verwaltete Microsoft Azure SQL-Instanz
MongoDB
SAP Sybase ASE

Wenn die Aufgabe erstellt wird, AWS DMS markiert sie den CDC-Startpunkt und kann nicht geändert werden. Erstellen Sie eine neue Aufgabe, wenn Sie einen anderen CDC-Startpunkt verwenden möchten.

**Anmerkung**  
 Wenn Sie einen CDC-Startpunkt (Change Data Capture) angeben, wird bei der Bewertung vor der Migration dennoch eine vollständige Analyse der vorhandenen Metadaten und Parameter in der aktuellen Umgebung durchgeführt. Dadurch wird sichergestellt, dass alle aktuellen Konfigurationen und Einstellungen unabhängig vom angegebenen CDC-Startpunkt bewertet werden.   
 Wichtig: Wenn innerhalb der letzten 7 Tage für eine bestimmte Aufgabe keine Bewertungen durchgeführt wurden, wird die Bewertung vor der Migration automatisch sowohl im Wiederaufnahme- als auch im Reload-Modus ausgeführt, um die Vollständigkeit und Konsistenz der Daten sicherzustellen.   
 Die Metadatenanalyse ist nach wie vor umfassend. 
 Die Parameterauswertung deckt den aktuellen Stand ab. 
 Der CDC-Startpunkt schränkt den Umfang der Bewertung nicht ein. 
 Die vollständige Überprüfung der Systemkonfiguration wird beibehalten. 
 Automatische Ausführung im Wiederaufnahme- und Neulademodus, wenn:   
 Letzte Bewertung vor > 7 Tagen.   
 Es wurden keine Aufzeichnungen über frühere Bewertungen gefunden. 
 Dies trägt dazu bei, eine genaue Migrationsplanung zu gewährleisten und gleichzeitig die Datenkonsistenz zwischen dem angegebenen CDC-Punkt und dem aktuellen Systemstatus aufrechtzuerhalten. 

### Bestimmen eines nativen CDC-Startpunkts
<a name="CHAP_Task.CDC.StartPoint.Native"></a>

Ein *nativer CDC-Startpunkt* ist ein Punkt im Datenbank-Engine-Protokoll, der einen Zeitpunkt festlegt, ab dem Sie mit der CDC beginnen können. Nehmen wir beispielsweise an, dass bereits ein Massendaten-Dump auf das Ziel angewendet wurde. Sie können den nativen Startpunkt für die fortlaufende reine Replikationsaufgabe suchen. Wählen Sie den Startpunkt für die reine Replikationsaufgabe sorgfältig aus, um Dateninkonsistenzen zu vermeiden. DMS erfasst Transaktionen, die nach dem ausgewählten CDC-Startpunkt gestartet wurden.

Nachstehend finden Sie Beispiele dafür, wie Sie den nativen CDC-Startpunkt über unterstützte Quell-Engines finden:

**SQL Server**  
Bei SQL Server besteht eine Log-Sequenznummer (LSN) aus drei Teilen:  
+ Virtual Log File (VLF)-Sequenznummer
+ Anfangsversatz eines Protokollblocks
+ Slot-Nummer
 Die LSN lautet z. B.: `00000014:00000061:0001`   
Mit der Funktion `fn_dblog()` oder `fn_dump_dblog()` in SQL Server können Sie den Startpunkt einer SQL Server-Migrationsaufgabe basierend auf den Sicherungseinstellungen Ihres Transaktionsprotokolls anfordern.   
Um den nativen CDC-Startpunkt mit SQL Server zu verwenden, erstellen Sie eine Veröffentlichung in einer beliebigen Tabelle, die an der fortlaufenden Replikation teilnimmt. AWS DMS erstellt die Veröffentlichung automatisch, wenn Sie CDC ohne Verwendung eines nativen CDC-Startpunkts verwenden.

**PostgreSQL**  
Sie können einen CDC-Wiederherstellungsprüfpunkt für Ihre PostgreSQL-Quelldatenbank verwenden. Dieser Prüfpunktwert wird an verschiedenen Punkten generiert, während eine laufende Replikationsaufgabe für Ihre Quelldatenbank (die übergeordnete Aufgabe) ausgeführt wird. Weitere Informationen zu Prüfpunkten im Allgemeinen finden Sie unter [Verwendung eines Kontrollpunkts als CDC-Startpunkt](#CHAP_Task.CDC.StartPoint.Checkpoint).   
Um den Checkpoint zu identifizieren, den Sie als systemeigenen Startpunkt verwenden möchten, verwenden Sie Ihre `pg_replication_slots` Datenbankansicht oder die Übersichtsdetails Ihrer übergeordneten Aufgabe aus der AWS-Managementkonsole  

**So finden Sie die Übersichtsdetails für Ihre übergeordnete Aufgabe auf der Konsole**

1. Melden Sie sich bei [https://console.aws.amazon.com/dms/v2/](https://console.aws.amazon.com/dms/v2/) an AWS-Managementkonsole und öffnen Sie die AWS DMS Konsole. 

   Wenn Sie als IAM-Benutzer angemeldet sind, müssen Sie über die entsprechenden Zugriffsberechtigungen für AWS DMS verfügen. Weitere Informationen zu den erforderlichen Berechtigungen finden Sie unter [Für die Verwendung sind IAM-Berechtigungen erforderlich AWS DMS](security-iam.md#CHAP_Security.IAMPermissions).

1. Wählen Sie im Navigationsbereich die Option **Database migration tasks (Datenbankmigrationsaufgaben)** aus.

1. Wählen Sie Ihre übergeordnete Aufgabe aus der Liste auf der Seite **Database migration tasks (Datenbankmigrationsaufgaben)** aus. Dadurch wird die Seite der übergeordneten Aufgaben geöffnet, auf der die Übersichtsdetails angezeigt werden.

1. Suchen Sie unter **Change Data Capture (CDC)**, **Change Data Capture (CDC) start position (CDC-Startposition)** und **Change Data Capture (CDC) Recovery Checkpoint (CDC-Wiederherstellungsprüfpunkt)** nach dem Prüfpunktwert. 

   Der Wert ähnelt dem folgenden:

   ```
   checkpoint:V1#1#000004AF/B00000D0#0#0#*#0#0
   ```

   Hier ist es die Komponente `4AF/B00000D0`, die Sie benötigen, um diesen nativen CDC-Startpunkt anzugeben. Setzen Sie beim Erstellen der CDC-Aufgabe den DMS-API-Parameter `CdcStartPosition` auf diesen Wert, um die Replikation an diesem Startpunkt für Ihre PostgreSQL-Quelle zu beginnen. Informationen zur Verwendung der, um diese CDC-Aufgabe AWS CLI zu erstellen, finden Sie unter. [CDC mit einer AWS-verwalteten PostgreSQL-DB-Instance aktivieren mit AWS DMS](CHAP_Source.PostgreSQL.md#CHAP_Source.PostgreSQL.RDSPostgreSQL.CDC)

**Oracle**  
Eine System Change Number (SCN) ist ein logischer, interner Zeitstempel, der von Oracle-Datenbanken verwendet wird. SCNs ordnet Ereignisse, die innerhalb der Datenbank auftreten. Dies ist erforderlich, um die ACID-Eigenschaften einer Transaktion zu erfüllen. Oracle-Datenbanken SCNs kennzeichnen den Speicherort, an dem alle Änderungen auf die Festplatte geschrieben wurden, sodass bei einer Wiederherstellungsaktion keine bereits geschriebenen Änderungen übernommen werden. Oracle verwendet auch SCNs , um den Punkt zu markieren, an dem für einen Datensatz keine Wiederherstellung mehr möglich ist, sodass die Wiederherstellung beendet werden kann.   
Führen Sie den folgenden Befehl aus, um die aktuelle SCN in einer Oracle-Datenbank zu erhalten.  

```
SELECT CURRENT_SCN FROM V$DATABASE
```
Wenn Sie die SCN oder den Zeitstempel verwenden, um eine CDC-Aufgabe zu starten, verpassen Sie die Ergebnisse aller offenen Transaktionen und können diese Ergebnisse nicht migrieren. *Offene Transaktionen* sind Transaktionen, die vor der Startposition der Aufgabe gestartet und nach der Startposition der Aufgabe festgeschrieben wurden. Sie können die SCN und den Zeitstempel identifizieren, um eine CDC-Aufgabe an einem Punkt zu starten, der alle offenen Transaktionen umfasst. Weitere Informationen finden Sie unter [Transaktionen](https://docs.oracle.com/database/121/CNCPT/transact.htm#CNCPT016) in der Oracle-Dokumentation. AWS DMS Unterstützt ab Version 3.5.1 offene Transaktionen für eine reine CDC-Aufgabe mithilfe der `openTransactionWindow` Endpunkteinstellung, wenn Sie SCN oder Timestamp verwenden, um die Aufgabe zu starten.   
 Wenn Sie `openTransactionWindow` diese Einstellung verwenden, müssen Sie das Zeitfenster in Minuten angeben, in dem die offenen Transaktionen bearbeitet werden sollen. AWS DMS verschiebt die Erfassungsposition und findet die neue Position, an der die Datenerfassung gestartet werden soll. AWS DMS verwendet die neue Startposition für das Scannen aller offenen Transaktionen aus den erforderlichen Oracle-Redo- oder archivierten Redo-Logs.

**MySQL**  
Vor der Veröffentlichung von MySQL Version 5.6.3 bestand die Log-Sequenznummer (LSN) für MySQL aus einer 4-Byte-Ganzzahl ohne Vorzeichen. In MySQL Version 5.6.3 wurde die LSN mit der Erhöhung des Redo-Log-Dateigrößenlimits von 4 GB auf 512 GB zu einer 8-Byte-Ganzzahl ohne Vorzeichen. Die Erhöhung berücksichtigt, dass weitere Byte zum Speichern zusätzlicher Größeninformationen erforderlich waren. Anwendungen, die auf MySQL 5.6.3 oder höher basieren und LSN-Werte nutzen, sollten zum Speichern und Vergleichen von LSN-Werten 64-Bit- anstelle von 32-Bit-Variablen verwenden. Weitere Informationen zu MySQL LSNs finden Sie in der [MySQL-Dokumentation](https://dev.mysql.com/doc/refman/5.7/en/glossary.html#glos_lsn).   
 Führen Sie den folgenden Befehl aus, um die aktuelle LSN in einer MySQL-Datenbank zu erhalten.  

```
mysql> show master status;
```
 Die Abfrage gibt einen Binärprotokoll-Dateinamen, die Position und einige andere Werte zurück. Der native CDC-Startpunkt ist eine Kombination aus dem Namen der Binärprotokolldatei und der Position, z. B. `mysql-bin-changelog.000024:373`. In diesem Beispiel `mysql-bin-changelog.000024` ist dies der Name der Binlogs-Datei und `373` die Position, an der mit der Erfassung von Änderungen begonnen AWS DMS werden muss. 

### Verwendung eines Kontrollpunkts als CDC-Startpunkt
<a name="CHAP_Task.CDC.StartPoint.Checkpoint"></a>

 Bei einer laufenden Replikationsaufgabe werden Änderungen migriert und AWS DMS von Zeit zu Zeit spezifische Checkpoint-Informationen AWS DMS zwischengespeichert. Der Prüfpunkt, den AWS DMS erstellt, enthält Informationen, sodass die Replikations-Engine den Wiederherstellungspunkt für den Änderungsstream kennt. Sie können den Prüfpunkt verwenden, um in der Zeitleiste der Änderungen zurückzugehen und eine fehlgeschlagene Migrationsaufgabe wiederherzustellen. Mit einem Prüfpunkt können Sie auch eine weitere laufende Replikationsaufgabe für ein anderes Ziel zu einem bestimmten Zeitpunkt starten.

Zum Abrufen der Prüfpunktinformationen gibt es drei Möglichkeiten: 
+ Führen Sie die API-Operation `DescribeReplicationTasks` aus und sehen Sie sich die Ergebnisse an. Sie können die Informationen nach Aufgabe filtern und nach dem Prüfpunkt suchen. Sie können den letzten Kontrollpunkt abrufen, wenn sich die Aufgabe im angehaltenen oder fehlgeschlagenen Zustand befindet. Diese Informationen gehen verloren, wenn die Aufgabe gelöscht wird.
+ Zeigen Sie die Metadatentabelle mit dem Namen `awsdms_txn_state` auf der Ziel-Instance an. Sie können die Tabelle abfragen, um Prüfpunktinformationen abzurufen. Zum Erstellen der Metadatentabelle legen Sie den `TaskRecoveryTableEnabled`-Parameter auf `Yes` fest, wenn Sie eine Aufgabe erstellen. Diese Einstellung bewirkt AWS DMS , dass Checkpoint-Informationen kontinuierlich in die Ziel-Metadatentabelle geschrieben werden. Diese Informationen gehen verloren, wenn eine Aufgabe gelöscht wird.

  Das folgende Beispiel zeigt einen Prüfpunkt in der Metadaten-Tabelle: `checkpoint:V1#34#00000132/0F000E48#0#0#*#0#121`
+ Wählen Sie im Navigationsbereich **Datenbankmigrationsaufgaben** und anschließend Ihre übergeordnete Aufgabe aus der Liste aus, die auf der Seite „Datenbankmigrationsaufgaben“ angezeigt wird. Die Seite der übergeordneten Aufgabe wird mit Übersichtsdetails geöffnet. Suchen Sie unter Change Data Capture (CDC), Change Data Capture (CDC) start position (CDC-Startposition) und Change Data Capture (CDC) Recovery Checkpoint (CDC-Wiederherstellungsprüfpunkt) nach dem Prüfpunktwert. Der Prüfpunktwert ähnelt dem folgenden:

  `checkpoint:V1#1#000004AF/B00000D0#0#0#*#0#0`

### Anhalten einer Aufgabe an einem Commit- oder Server-Zeitpunkt
<a name="CHAP_Task.CDC.StopPoint"></a>

 Mit der Einführung systemeigener CDC-Startpunkte AWS DMS kann eine Aufgabe auch an den folgenden Punkten gestoppt werden: 
+ Commit-Zeitpunkt in der Quelle
+ Server-Zeitpunkt auf der Replikations-Instance

 Sie können eine Aufgabe ändern und eine Uhrzeit zum Anhalten in koordinierter Weltzeit (UTC) wie erforderlich festlegen. Die Aufgabe wird basierend auf dem Commit- oder Server-Zeitpunkt, den Sie festgelegt haben, automatisch gestoppt. Wenn Sie zum Zeitpunkt der Aufgabenerstellung wissen, wann die Migrationsaufgabe enden soll, können Sie im Rahmen der Erstellung auch den betreffenden Zeitpunkt zum Stoppen festlegen. 

**Anmerkung**  
Beim ersten Start einer neuen AWS DMS serverlosen Replikation kann es bis zu 40 Minuten dauern, bis alle Ressourcen initialisiert sind. Beachten Sie, dass die Option `server_time` erst verfügbar ist, wenn die Ressourceninitialisierung abgeschlossen ist.

### Eine Aufgabe mit Target Reload starten
<a name="CHAP_Task.CDC.Start.Task"></a>

 Mit der Reload-Option („Reload-Target“ in der DMS-API) können Sie eine Aufgabe zum AWS DMS Migrieren vorhandener Daten und zum Replizieren laufender Änderungen starten. In diesem Fall beginnt die Migration von vorne, lädt die Daten jeder Tabelle neu und setzt die Datenreplikation mit den Einstellungen für Volllast- und CDC-aktivierte Aufgaben fort. 

 Um die Option „Task Start with Reload“ verwenden zu können, müssen die folgenden Bedingungen erfüllt sein: 
+  Die Aufgabe muss gestoppt werden. 
+  Die Migrationsmethode für die Aufgabe muss entweder "Full Load" oder "Full Load with CDC" sein. 

 DMS wendet die TargetTablePrepMode Einstellung an, bevor die Tabellen neu geladen werden. Wenn Sie `TargetTablePrepMode` auf einstellen`DO_NOTHING`, müssen Sie die Tabellen zuerst manuell kürzen. 

**Anmerkung**  
 Wenn eine DMS-Aufgabe mit der Option zum erneuten Laden des Ziels gestartet wird, führt die Bewertung vor der Migration eine vollständige Analyse der vorhandenen Metadaten und Parameter in der aktuellen Umgebung durch. Dadurch wird sichergestellt, dass alle aktuellen Konfigurationen und Einstellungen unabhängig vom tatsächlichen Aufgabenstatus bewertet werden. 

**Wichtig**  
 Wenn innerhalb der letzten 7 Tage keine Bewertungen für eine bestimmte Aufgabe durchgeführt wurden, wird die Bewertung vor der Migration automatisch durchgeführt, um die Vollständigkeit und Konsistenz der Daten sicherzustellen. 

## Durchführen der bidirektionalen Replikation
<a name="CHAP_Task.CDC.Bidirectional"></a>

Sie können AWS DMS Aufgaben verwenden, um eine bidirektionale Replikation zwischen zwei Systemen durchzuführen. Bei der *bidirektionalen Replikation* replizieren Sie Daten aus derselben Tabelle (oder einem Satz von Tabellen) zwischen zwei Systemen in beide Richtungen. 

Beispielsweise können Sie eine Tabelle MITARBEITER von Datenbank A nach Datenbank B kopieren und Änderungen an der Tabelle von Datenbank A nach Datenbank B replizieren. Sie können auch Änderungen an der Tabelle MITARBEITER von Datenbank B zurück nach A replizieren. Sie führen also eine bidirektionale Replikation durch. 

**Anmerkung**  
AWS DMS Die bidirektionale Replikation ist nicht als vollständige Multimaster-Lösung einschließlich eines Primärknotens, Konfliktlösung usw. vorgesehen.

Verwenden Sie die bidirektionale Replikation für Situationen, in denen Daten auf verschiedenen Knoten operativ getrennt sind. Anders ausgedrückt: Angenommen, Sie lassen ein Datenelement von einer Anwendung ändern, die auf Knoten A ausgeführt wird, und Knoten A führt eine bidirektionale Replikation mit Knoten B durch. Dieses Datenelement auf Knoten A wird niemals von einer Anwendung geändert, die auf Knoten B ausgeführt wird.

AWS DMS unterstützt die bidirektionale Replikation auf diesen Datenbank-Engines: 
+ Oracle 
+ SQL Server 
+ MySQL 
+ PostgreSQL 
+ Amazon Aurora MySQL-Compatible Edition
+ Aurora PostgreSQL-Compatible Edition

### Erstellen von bidirektionalen Replikationsaufgaben
<a name="CHAP_Task.CDC.Bidirectional.Tasks"></a>

Um die AWS DMS bidirektionale Replikation zu aktivieren, konfigurieren Sie Quell- und Zielendpunkte für beide Datenbanken (A und B). Konfigurieren Sie z. B. einen Quell-Endpunkt für Datenbank A, einen Quell-Endpunkt für Datenbank B, einen Ziel-Endpunkt für Datenbank A und einen Ziel-Endpunkt für Datenbank B. 

Erstellen Sie dann zwei Aufgaben: eine Aufgabe für Quelle A zum Verschieben von Daten nach Ziel B und eine weitere Aufgabe für Quelle B zum Verschieben von Daten nach Ziel A. Stellen Sie außerdem sicher, dass jede Aufgabe mit einer Loopback-Verhinderung konfiguriert ist. Auf diese Weise wird verhindert, dass identische Änderungen an den Zielen beider Aufgaben vorgenommen werden und somit die Daten für mindestens eine der beiden Aufgaben fehlerhaft werden. Weitere Informationen finden Sie unter [Verhindern eines Loopbacks](#CHAP_Task.CDC.Bidirectional.Loopback).

Die einfachste Methode ist, mit identischen Datensätzen sowohl in Datenbank A als auch in Datenbank B zu beginnen. Erstellen Sie dann zwei Nur-CDC-Aufgaben, eine Aufgabe, um Daten von A nach B zu replizieren, und eine weitere Aufgabe, um Daten von B nach A zu replizieren.

Gehen Sie wie folgt vor AWS DMS , um einen neuen Datensatz (Datenbank) auf Knoten B von Knoten A aus zu instanziieren:

1. Verwenden Sie eine Aufgabe zum vollständigen Laden und eine CDC-Aufgabe, um Daten von Datenbank A nach B zu verschieben. Stellen Sie sicher, dass während dieser Zeit keine Anwendungen Daten in Datenbank B ändern.

1. Wenn das vollständige Laden abgeschlossen ist und bevor Anwendungen Daten in Datenbank B ändern dürfen, notieren Sie die Uhrzeit oder die CDC-Startposition von Datenbank B. Anweisungen finden Sie unter [Durchführen der Replikation von einem CDC-Startpunkt aus](#CHAP_Task.CDC.StartPoint).

1. Erstellen Sie eine Nur-CDC-Aufgabe, bei der die Daten von Datenbank B zurück nach A unter Verwendung dieser Startzeit oder CDC-Startposition verschoben werden.

**Anmerkung**  
Nur eine Aufgabe in einem bidirektionalen Paar kann eine Aufgabe für vollständiges Laden und CDC sein.

### Verhindern eines Loopbacks
<a name="CHAP_Task.CDC.Bidirectional.Loopback"></a>

Um zu verdeutlichen, dass Loopback verhindert wird, nehmen wir an, dass T1 in einer Aufgabe Änderungsprotokolle aus der Quelldatenbank A AWS DMS liest und die Änderungen auf die Zieldatenbank B anwendet. 

Als Nächstes liest eine zweite Aufgabe, T2, Änderungsprotokolle aus der Quelldatenbank B und wendet diese wieder auf die Zieldatenbank A an. Bevor T2 dies tut, muss DMS sicherstellen, dass dieselben Änderungen, die von der Quelldatenbank A in der Zieldatenbank B vorgenommen wurden, nicht auch in der Quelldatenbank A vorgenommen werden. Anders ausgedrückt: DMS muss sicherstellen, dass diese Änderungen nicht auf die Zieldatenbank A zurückreflektiert (zurückgeschleift) werden. Andernfalls können die Daten in Datenbank A beschädigt werden. 

Um ein Loopback (eine Schleifenschaltung) von Änderungen zu verhindern, fügen Sie die folgenden Aufgabeneinstellungen zu jeder bidirektionalen Replikationsaufgabe hinzu. Dadurch wird sichergestellt, dass eine Loopback-Datenbeschädigung nicht in beide Richtungen auftritt.

```
{
. . .

  "LoopbackPreventionSettings": {
    "EnableLoopbackPrevention": Boolean,
    "SourceSchema": String,
    "TargetSchema": String
  },

. . .
}
```

Über die Aufgabeneinstellungen von `LoopbackPreventionSettings` wird festgestellt, ob eine Transaktion neu ist oder ein Echo von der Aufgabe für die entgegengesetzte Replikation. Wenn das AWS DMS eine Transaktion auf eine Zieldatenbank anwendet, aktualisiert es eine DMS-Tabelle (`awsdms_loopback_prevention`) mit einem Hinweis auf die Änderung. Bevor jede Transaktion auf ein Ziel angewendet wird, ignoriert das DMS jede Transaktion, die einen Verweis auf diese `awsdms_loopback_prevention`-Tabelle enthält. Daher wendet es die Änderung nicht an. 

Nehmen Sie diese Aufgabeneinstellungen bei jeder Replikationsaufgabe in ein bidirektionales Paar auf. Diese Einstellungen aktivieren die Loopback-Verhinderung. Sie geben auch das Schema für jede Quell- und Zieldatenbank in der Aufgabe an, die die `awsdms_loopback_prevention`-Tabelle für jeden Endpunkt enthält.

Damit jede Aufgabe ein solches Echo identifizieren und ausschalten kann, setzen Sie `EnableLoopbackPrevention` auf `true`. Um an der Quelle ein Schema anzugeben, das `awsdms_loopback_prevention` enthält, setzen Sie `SourceSchema` auf den Namen für dieses Schema in der Quelldatenbank. Um am Ziel ein Schema anzugeben, das dieselbe Tabelle enthält, setzen Sie `TargetSchema` auf den Namen für dieses Schema in der Zieldatenbank.

Im folgenden Beispiel werden die `SourceSchema`- und `TargetSchema`-Einstellungen für eine Replikationsaufgabe T1 und ihre Aufgabe T2 für die entgegengesetzte Replikation mit entgegengesetzten Einstellungen angegeben.

Die Einstellungen für die Aufgabe T1 sind wie folgt.

```
{
. . .

  "LoopbackPreventionSettings": {
    "EnableLoopbackPrevention": true,
    "SourceSchema": "LOOP-DATA",
    "TargetSchema": "loop-data"
  },

. . .
}
```

Die Einstellungen für die Aufgabe T2 für die entgegengesetzte Replikation sind wie folgt.

```
{
. . .

  "LoopbackPreventionSettings": {
    "EnableLoopbackPrevention": true,
    "SourceSchema": "loop-data",
    "TargetSchema": "LOOP-DATA"
  },

. . .
}
```

**Anmerkung**  
Wenn Sie die verwenden AWS CLI, verwenden Sie nur die `modify-replication-task` Befehle `create-replication-task` oder, um Ihre bidirektionalen `LoopbackPreventionSettings` Replikationsaufgaben zu konfigurieren. 

### Einschränkungen der bidirektionalen Replikation
<a name="CHAP_Task.CDC.Bidirectional.Limitations"></a>

Die bidirektionale Replikation für AWS DMS hat die folgenden Einschränkungen:
+ Die Loopback-Prävention verfolgt nur DML-Anweisungen (Data Manipulation Language). AWS DMS unterstützt nicht die Verhinderung von Loopback in Data Definition Language (DDL). Konfigurieren Sie dazu eine der Aufgaben in einem bidirektionalen Paar, um DDL-Anweisungen herauszufiltern.
+ Aufgaben, bei denen die Loopback-Verhinderung verwendet wird, unterstützen nicht die Übergabe von Änderungen in Stapeln. Um eine Aufgabe mit Loopback-Verhinderung zu konfigurieren, stellen Sie sicher, dass `BatchApplyEnabled` auf `false` gesetzt ist.
+ Die bidirektionale DMS-Replikation umfasst keine Konflikterkennung oder -lösung. Um Dateninkonsistenzen zu erkennen, verwenden Sie die Datenvalidierung für beide Aufgaben. 
+ `setUpMsCdcForTables`muss auf gesetzt sein, damit der SQL Server-Quellendpunkt `true` die bidirektionale Replikation einrichten kann.

# Ändern einer Aufgabe
<a name="CHAP_Tasks.Modifying"></a>

Sie können eine Aufgabe ändern, wenn Sie die Aufgabeneinstellungen, Tabellenzuweisung oder andere Einstellungen ändern müssen. Sie können auch Bewertungen vor der Migration aktivieren und ausführen, bevor Sie die geänderte Aufgabe ausführen. Eine Aufgabe in der Konsole können Sie ändern, indem Sie die Aufgabe auswählen und anschließend auf **Ändern** klicken. Sie können auch den CLI-Befehl oder die API-Operation verwenden [ModifyReplicationTask](https://docs.aws.amazon.com/dms/latest/APIReference/API_ModifyReplicationTask.html). 

Es gibt einige Einschränkungen für das Ändern einer Aufgabe. Diese umfassen u. a. folgende:
+ Sie können den Quell- oder Zielendpunkt einer Aufgabe nicht ändern.
+ Sie können den Migrationstyp einer Aufgabe nicht ändern.
+ Aufgaben, die ausgeführt wurden, müssen den Status **Angehalten** oder **Fehlgeschlagen** aufweisen, damit sie geändert werden können.

# Verschieben einer Aufgabe
<a name="CHAP_Tasks.Moving"></a>

Sie können eine Aufgabe auf eine andere Replikations-Instance verschieben, wenn eine der folgenden Situationen auf Ihren Anwendungsfall zutrifft.
+ Sie verwenden derzeit eine Instance eines bestimmten Typs und möchten zu einem anderen Instance-Typ wechseln.
+ Ihre aktuelle Instance ist durch viele Replikationsaufgaben überlastet und Sie möchten die Last auf mehrere Instances verteilen.
+ Ihr Instance-Speicher ist voll und als Alternative zur Skalierung von Speicher oder Rechenleistung möchten Sie Aufgaben von dieser Instance auf eine leistungsstärkere Instance verschieben.
+ Sie möchten eine neu veröffentlichte Funktion von verwenden AWS DMS, möchten aber keine neue Aufgabe erstellen und die Migration neu starten. Stattdessen ziehen Sie es vor, eine Replikationsinstanz mit einer neuen AWS DMS Version zu starten, die diese Funktion unterstützt, und die vorhandene Aufgabe auf diese Instanz zu verschieben.

Eine Aufgabe in der Konsole können Sie verschieben, indem Sie die Aufgabe auswählen und anschließend auf **Verschieben** klicken. Sie können auch den CLI-Befehl oder die API-Operation `MoveReplicationTask` verwenden, um die Aufgabe zu verschieben. Sie können eine Aufgabe verschieben, deren Zielendpunkt eine beliebige Datenbank-Engine ist.

Stellen Sie sicher, dass die Zielreplikations-Instance über ausreichend Speicherplatz für die Aufgabe verfügt, die verschoben wird. Skalieren Sie andernfalls den Speicher, um Platz für Ihre Zielreplikations-Instance zu schaffen, bevor Sie die Aufgabe verschieben.

Stellen Sie außerdem sicher, dass Ihre Zielreplikationsinstanz mit derselben oder einer höheren AWS DMS Engine-Version wie die aktuelle Replikationsinstanz erstellt wurde. 

**Anmerkung**  
Sie können eine Aufgabe nicht in dieselbe Replikations-Instance verschieben, in der sie sich derzeit befindet.
Sie können die Einstellungen einer Aufgabe während des Verschiebens nicht ändern.
Eine ausgeführte Aufgabe muss den Status **Angehalten**, **Fehlgeschlagen** oder **Verschieben fehlgeschlagen** aufweisen, damit Sie sie verschieben können.

Es gibt zwei Aufgabenstatus im Zusammenhang mit dem Verschieben einer DMS-Aufgabe: **Verschieben** und **Verschieben fehlgeschlagen**. Weitere Informationen zu diesen Aufgabenstatus finden Sie unter [Aufgabenstatus](CHAP_Monitoring.md#CHAP_Tasks.Status). 

Nach dem Verschieben einer Aufgabe können Sie Bewertungen vor der Migration aktivieren und ausführen, um nach Fehlern zu suchen, bevor Sie die verschobene Aufgabe ausführen.

# Erneutes Laden von Tabellen während einer Aufgabe
<a name="CHAP_Tasks.ReloadTables"></a>

Während eine Aufgabe ausgeführt wird, können Sie eine Zieldatenbanktabelle mit Daten aus der Quelle erneut laden. Möglicherweise möchten Sie eine Tabelle neu laden, wenn während der Aufgabe ein Fehler auftritt oder Daten sich aufgrund von Partitions-Operationen ändern (z. B. bei der Verwendung von Oracle). Sie können bis zu 10 Tabellen von einer Aufgabe erneut laden.

Durch das erneute Laden von Tabellen wird die Aufgabe nicht beendet.

Um eine Tabelle erneut zu laden, müssen die folgenden Bedingungen erfüllt sein:
+ Die Aufgabe muss ausgeführt werden.
+ Die Migrationsmethode für die Aufgabe muss entweder "Full Load" oder "Full Load with CDC" sein.
+ Doppelte Tabellen sind nicht zulässig.
+ AWS DMS behält die zuvor gelesene Tabellendefinition bei und erstellt sie während des Neuladevorgangs nicht neu. Alle DDL-Anweisungen wie ALTER TABLE ADD COLUMN oder DROP COLUMN, die auf die Tabelle angewendet werden, bevor diese neu geladen wird, können bewirken, dass das Neuladen fehlschlägt. 

**Anmerkung**  
DMS wendet die `TargetTablePrepMode`-Einstellung an, bevor die Tabelle neu geladen wird. Wenn Sie `TargetTablePrepMode` auf `DO_NOTHING` einstellen, müssen Sie die Tabelle zuerst manuell kürzen.

## AWS-Managementkonsole
<a name="CHAP_Tasks.ReloadTables.CON"></a>

**Um eine Tabelle mit der Konsole neu zu laden AWS DMS**

1. Melden Sie sich bei [https://console.aws.amazon.com/dms/v2/](https://console.aws.amazon.com/dms/v2/) an AWS-Managementkonsole und öffnen Sie die AWS DMS Konsole. 

   Wenn Sie als IAM-Benutzer angemeldet sind, müssen Sie über die entsprechenden Zugriffsberechtigungen für AWS DMS verfügen. Weitere Informationen zu den erforderlichen Berechtigungen finden Sie unter [Für die Verwendung sind IAM-Berechtigungen erforderlich AWS DMS](security-iam.md#CHAP_Security.IAMPermissions).

1. Wählen Sie im Navigationsbereich **Tasks (Aufgaben)** aus. 

1. Wählen Sie die ausgeführte Aufgabe mit der Tabelle, die Sie erneut laden möchten. 

1. Wählen Sie die Registerkarte **Table Statistics** (Tabellenstatistiken).  
![\[AWS DMS Überwachung\]](http://docs.aws.amazon.com/de_de/dms/latest/userguide/images/datarep-reloading1.png)

1. Wählen Sie die Tabelle aus, die Sie neu laden möchten. Wenn die Aufgabe nicht mehr ausgeführt wird, können Sie die Tabelle nicht neu laden.

1. Wählen Sie **Reload table data (Tabellendaten neu laden)**.

Wenn AWS DMS das Neuladen einer Tabelle vorbereitet wird, ändert die Konsole den Tabellenstatus in **Tabelle wird neu** geladen.

# Verwenden der Tabellenzuweisung zum Angeben von Aufgabeneinstellungen
<a name="CHAP_Tasks.CustomizingTasks.TableMapping"></a>

Die Zuweisung von Tabellen verwendet mehrere Arten von Regeln für die Angabe der Datenquelle, des Quellschemas, der Daten und aller Transformationen, die während der Aufgabe auftreten sollten. Sie können mithilfe von Tabellenzuweisung einzelne zu migrierende Tabellen in einer Datenbank und das für die Migration zu verwendende Schema bestimmen. 

Wenn Sie mit der Tabellenzuweisung arbeiten, können Sie mithilfe von Filtern Daten angeben, die aus Tabellenspalten repliziert werden sollen. Außerdem können Sie Transformationen verwenden, um ausgewählte Schemata, Tabellen oder Ansichten zu ändern, bevor sie in die Zieldatenbank geschrieben werden.

**Topics**
+ [Festlegen der Tabellenauswahl und der Transformationsregeln über die Konsole](CHAP_Tasks.CustomizingTasks.TableMapping.Console.md)
+ [Festlegen der Tabellenauswahl- und Transformationsregeln mit JSON](CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.md)
+ [Auswahlregeln und Aktionen](CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Selections.md)
+ [Platzhalter bei der Tabellenzuordnung](CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Wildcards.md)
+ [Transformationsregeln und Aktionen](CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Transformations.md)
+ [Verwenden von Transformationsregelausdrücken zum Definieren von Spalteninhalten](CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Expressions.md)
+ [Regeln und Operationen für Tabellen- und Sammlungseinstellungen](CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Tablesettings.md)
+ [Verwendung von Datenmaskierung zum Verbergen vertraulicher Informationen](CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Masking.md)

**Anmerkung**  
Wenn Sie mit der Tabellenzuweisung für einen MongoDB-Quellendpunkt arbeiten, können Sie Filter verwenden, um Daten anzugeben, die repliziert werden sollen, und einen Datenbanknamen anstelle von `schema_name` angeben. Sie können den Standard-`"%"` verwenden.

# Festlegen der Tabellenauswahl und der Transformationsregeln über die Konsole
<a name="CHAP_Tasks.CustomizingTasks.TableMapping.Console"></a>

Sie können den verwenden AWS-Managementkonsole , um Tabellenzuordnungen durchzuführen, einschließlich der Angabe von Tabellenauswahl und Transformationen. In der Konsole können Sie im Bereich **Where (Wo)** Schema, Tabelle und Aktion (Einschließen oder Ausschließen) angeben. Im Bereich **Filter** können Sie den Spaltennamen in einer Tabelle sowie die Bedingungen angeben, die für eine Replikationsaufgabe gelten sollen. Zusammen erstellen diese beiden Aktionen eine Auswahlregel.

Sie können Transformationen in einer Tabellenzuweisung einschließen, nachdem Sie mindestens eine Auswahlregel angegeben haben. Sie können Transformationen dazu verwenden, ein Schema oder eine Tabelle umzubenennen, einem Schema oder einer Tabelle ein Präfix oder Suffix anzufügen oder eine Tabellenspalte zu entfernen.

**Anmerkung**  
AWS DMS unterstützt nicht mehr als eine Transformationsregel pro Schema-, Tabellen- oder Spaltenebene.

Das folgende Verfahren zeigt, wie Auswahlregeln basierend auf einer Tabelle namens **Customers** in einem Schema mit der Bezeichnung **EntertainmentAgencySample** eingerichtet werden. 

**So geben Sie eine Tabellenauswahl, Filterkriterien und Transformationen mithilfe der Konsole an**

1. Melden Sie sich bei [https://console.aws.amazon.com/dms/v2/](https://console.aws.amazon.com/dms/v2/) an AWS-Managementkonsole und öffnen Sie die AWS DMS Konsole. 

   Wenn Sie als IAM-Benutzer angemeldet sind, müssen Sie über die entsprechenden Zugriffsberechtigungen für AWS DMS verfügen. Weitere Informationen zu den erforderlichen Berechtigungen finden Sie unter [Für die Verwendung sind IAM-Berechtigungen erforderlich AWS DMS](security-iam.md#CHAP_Security.IAMPermissions).

1. Wählen Sie auf der Seite **Dashboard** **Datenbankmigrationsaufgaben** aus.

1. Wählen Sie **Aufgabe erstellen** aus.

1. Geben Sie im Abschnitt **Aufgabenkonfiguration** die Aufgabeninformationen ein, einschließlich **Aufgaben-ID**, **Replikations-Instance**, **Quelldatenbank-Endpunkt**, **Zieldatenbank-Endpunkt** und **Migrationstyp**.   
![\[Schema- und Tabellenauswahl\]](http://docs.aws.amazon.com/de_de/dms/latest/userguide/images/datarep-create-task-20.png)

1. Wählen Sie im Abschnitt **Tabellenzuordnung** den Schemanamen und den Tabellennamen aus. Sie können bei der Angabe des Schema- oder Tabellennamens „%“ als Platzhalterzeichen verwenden. Informationen zu anderen Platzhaltern, die Sie verwenden können, finden Sie unter [Platzhalter bei der Tabellenzuordnung](CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Wildcards.md). Geben Sie die auszuführende Aktion an, um vom Filter definierte Daten ein- oder auszuschließen.   
![\[Schema- und Tabellenauswahl\]](http://docs.aws.amazon.com/de_de/dms/latest/userguide/images/datarep-Tasks-selecttransfrm.png)

1. Geben Sie Filterinformationen mithilfe der Links **Add column filter (Spaltenfilter hinzufügen)** und **Add condition (Bedingung hinzufügen) **an.

   1. Wählen Sie **Add column filter (Spaltenfilter hinzufügen)** aus, um eine Spalte und Bedingungen anzugeben.

   1. Wählen Sie **Add condition (Bedingung hinzufügen)** aus, um zusätzliche Bedingungen hinzuzufügen.

    Das folgende Beispiel zeigt einen Filter für die Tabelle **Customers**, die **AgencyIDs** zwischen **01** und **85** enthält.  
![\[Schema- und Tabellenauswahl\]](http://docs.aws.amazon.com/de_de/dms/latest/userguide/images/datarep-Tasks-filter.png)

1. Wenn Sie die gewünschte Auswahl getroffen haben, wählen Sie **Auswahlregel hinzufügen** aus.

1. Nachdem Sie mindestens eine Auswahlregel erstellt haben, können Sie eine Transformation zu der Aufgabe hinzufügen. Wählen Sie **Add transformation rule (Transformationsregel hinzufügen)** aus.  
![\[Transformationsregel\]](http://docs.aws.amazon.com/de_de/dms/latest/userguide/images/datarep-Tasks-transform1.png)

1. Wählen Sie das Ziel aus, das Sie transformieren möchten, und geben Sie die angefragten zusätzlichen Informationen ein. Das folgende Beispiel zeigt eine Transformation, bei der die Spalte **AgencyStatus** aus der Tabelle **Customer** gelöscht wird.  
![\[Transformationsregel\]](http://docs.aws.amazon.com/de_de/dms/latest/userguide/images/datarep-Tasks-transform2.png)

1. Wählen Sie **Add transformation rule (Transformationsregel hinzufügen)** aus.

1. Wählen Sie **Create task** aus.

**Anmerkung**  
AWS DMS unterstützt nicht mehr als eine Transformationsregel pro Schema-, Tabellen- oder Spaltenebene.

# Festlegen der Tabellenauswahl- und Transformationsregeln mit JSON
<a name="CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation"></a>

Zum Festlegen der Tabellenzuweisungen, die Sie während der Migration anwenden möchten, können Sie eine JSON-Datei erstellen. Wenn Sie eine Migrationsaufgabe mithilfe der Konsole erstellen, können Sie nach dieser JSON-Datei suchen oder das JSON direkt in das Tabellenzuweisungsfeld eingeben. Wenn Sie die CLI oder API verwenden, um Migrationen durchzuführen, können Sie diese Datei mit dem Parameter `TableMappings` der API-Operation `CreateReplicationTask` oder `ModifyReplicationTask` angeben. 

AWS DMS kann nur JSON-Dateien mit Tabellenzuordnungen mit einer Größe von bis zu 2 MB verarbeiten. Wir empfehlen, dass Sie bei der Arbeit mit DMS-Aufgaben die Größe der JSON-Datei für die Zuordnungsregel unter dem Grenzwert von 2 MB halten. Dadurch werden unerwartete Fehler bei der Erstellung oder Änderung von Aufgaben vermieden. Wenn eine Zuordnungsregeldatei den Grenzwert von 2 MB überschreitet, empfehlen wir, die Tabellen auf mehrere Aufgaben aufzuteilen, um die Größe der Zuordnungsregeldatei so zu reduzieren, dass sie unter diesem Limit bleibt.

Sie können angeben, mit welchen Tabellen, Ansichten und Schemata Sie arbeiten möchten. Sie können auch Tabellen-, Ansichts- und Schematransformationen durchführen und Einstellungen dazu festlegen, wie AWS DMS einzelne Tabellen und Ansichten lädt. Sie erstellen mit den folgenden Regeltypen Tabellenzuweisungsregeln für diese Optionen:
+ `selection`-Regeln – Identifizieren die Typen und Namen der Quelltabellen, Ansichten und Schemata, die geladen werden sollen. Weitere Informationen finden Sie unter [Auswahlregeln und Aktionen](CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Selections.md).
+ `transformation`-Regeln – Geben bestimmte Änderungen oder Ergänzungen an bestimmten Quelltabellen und Schemata in der Quelle an, bevor sie auf dem Ziel geladen werden. Weitere Informationen finden Sie unter [Transformationsregeln und Aktionen](CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Transformations.md).

  Um den Inhalt neuer und vorhandener Spalten zu definieren, können Sie auch einen Ausdruck innerhalb einer Transformationsregel verwenden. Weitere Informationen finden Sie unter [Verwenden von Transformationsregelausdrücken zum Definieren von Spalteninhalten](CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Expressions.md).
+ `table-settings`-Regeln – Legen fest, wie DMS-Aufgaben die Daten für einzelne Tabellen laden. Weitere Informationen finden Sie unter [Regeln und Operationen für Tabellen- und Sammlungseinstellungen](CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Tablesettings.md).

**Anmerkung**  
Für Amazon-S3-Ziele können Sie auch S3-Objekte markieren, die mithilfe des `post-processing`-Regeltyps und der `add-tag`-Regelaktion ausgewählten Tabellen und Schemata zugeordnet sind. Weitere Informationen finden Sie unter [Markieren von Amazon-S3-Objekten](CHAP_Target.S3.md#CHAP_Target.S3.Tagging).  
Für die folgenden Ziele können Sie mithilfe des `object-mapping`-Regeltyps angeben, wie und wo ausgewählte Schemata und Tabellen auf das Ziel migriert werden:  
Amazon DynamoDB – Weitere Informationen finden Sie unter [Verwenden der Objektzuordnung zum Migrieren von Daten zu DynamoDB](CHAP_Target.DynamoDB.md#CHAP_Target.DynamoDB.ObjectMapping).
Amazon Kinesis – Weitere Informationen finden Sie unter [Verwenden der Objektzuweisung zum Migrieren von Daten zu einem Kinesis-Datenstrom](CHAP_Target.Kinesis.md#CHAP_Target.Kinesis.ObjectMapping).
Apache Kafka – Weitere Informationen finden Sie unter [Verwenden der Objektzuweisung zum Migrieren von Daten zu einem Kafka-Thema](CHAP_Target.Kafka.md#CHAP_Target.Kafka.ObjectMapping).

# Auswahlregeln und Aktionen
<a name="CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Selections"></a>

Mithilfe der Tabellenzuweisung können Sie angeben, mit welchen Tabellen, Ansichten oder Schemata Sie arbeiten möchten, indem Sie Auswahlregeln und Aktionen verwenden. Für Tabellenzuweisungsregeln, die den Regeltyp "Auswahl" verwenden, können Sie die folgenden Werte anwenden. 

**Warnung**  
Nehmen Sie keine sensiblen Daten in diese Regeln auf.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Selections.html)

**Example Migrieren aller Tabellen in einem Schema**  
Im folgenden Beispiel werden alle Tabellen aus einem Schema mit dem Namen `Test` in Ihrer Quelle zu Ihrem Zielendpunkt migriert.  

```
{
    "rules": [
        {
            "rule-type": "selection",
            "rule-id": "1",
            "rule-name": "1",
            "object-locator": {
                "schema-name": "Test",
                "table-name": "%"
            },
            "rule-action": "include"
        }
    ]
}
```

**Example Migrieren einiger Tabellen in einem Schema**  
Im folgenden Beispiel werden alle Tabellen außer denjenigen, die mit `DMS` beginnen, aus einem Schema mit dem Namen `Test` in Ihrer Quelle zu Ihrem Zielendpunkt migriert.  

```
{
    "rules": [
        {
            "rule-type": "selection",
            "rule-id": "1",
            "rule-name": "1",
            "object-locator": {
                "schema-name": "Test",
                "table-name": "%"
            },
            "rule-action": "include"
        },
        {
            "rule-type": "selection",
            "rule-id": "2",
            "rule-name": "2",
            "object-locator": {
                "schema-name": "Test",
                "table-name": "DMS%"
            },
            "rule-action": "exclude"
        }
    ]
}
```

**Example Migrieren einer bestimmten einzelnen Tabelle in einem einzelnen Schema**  
Im folgenden Beispiel wird die `Customer`-Tabelle aus dem `NewCust`-Schema in Ihrer Quelle zu Ihrem Zielendpunkt migriert.  

```
{
    "rules": [
        {
            "rule-type": "selection",
            "rule-id": "1",
            "rule-name": "1",
            "object-locator": {
                "schema-name": "NewCust",
                "table-name": "Customer"
            },
            "rule-action": "explicit"
        }
    ]
}
```
Sie können explizit auf mehreren Tabellen und Schemata auswählen, indem Sie mehrere Auswahlregeln angeben.

**Example Migrieren von Tabellen in einer festgelegten Reihenfolge**  
Tabellen und Ansichten werden entsprechend ihren Werten in der Ladereihenfolge migriert, wobei höheren Werten in der Migrationssequenz Priorität eingeräumt wird. Im folgenden Beispiel werden zwei Tabellen `loadfirst` mit einem Prioritätswert von 2 und einem Prioritätswert von 1 migriert. Die Migrationsaufgabe würde zuerst die Tabelle verarbeiten, bevor `loadsecond` mit der `loadfirst` Tabelle fortgefahren wird. `loadsecond` Dieser Priorisierungsmechanismus stellt sicher, dass Abhängigkeiten zwischen Datenbankobjekten während des Migrationsprozesses berücksichtigt werden.  

```
{
    "rules": [
        {
            "rule-type": "selection",
            "rule-id": "1",
            "rule-name": "1",
            "object-locator": {
                "schema-name": "Test",
                "table-name": "loadsecond"
            },
            "rule-action": "include",
            "load-order": "1"
        },
        {
            "rule-type": "selection",
            "rule-id": "2",
            "rule-name": "2",
            "object-locator": {
                "schema-name": "Test",
                "table-name": "loadfirst"
            },
            "rule-action": "include",
            "load-order": "2"
        }
    ]
}
```

**Anmerkung**  
`load-order` gilt für die Tabelleninitialisierung. Das Laden einer nachfolgenden Tabelle wartet nicht darauf, dass das Laden einer vorherigen Tabelle abgeschlossen ist, wenn der Wert `MaxFullLoadSubTasks` größer als 1 ist.

**Example Migrieren einiger Ansichten in einem Schema**  
Im folgenden Beispiel werden einige Ansichten aus einem Schema mit dem Namen `Test` in Ihrer Quelle in gleichwertige Tabellen in Ihrem Ziel migriert.  

```
{
   "rules": [
        {
           "rule-type": "selection",
           "rule-id": "2",
           "rule-name": "2",
           "object-locator": {
               "schema-name": "Test",
               "table-name": "view_DMS%",
               "table-type": "view"
            },
           "rule-action": "include"
        }
    ]
}
```

**Example Migrieren aller Tabellen und Ansichten in einem Schema**  
Im folgenden Beispiel werden alle Tabellen und Ansichten aus einem Schema mit dem Namen `report` in Ihrer Quelle in gleichwertige Tabellen in Ihrem Ziel migriert.  

```
{
   "rules": [
        {
           "rule-type": "selection",
           "rule-id": "3",
           "rule-name": "3",
           "object-locator": {
               "schema-name": "report",
               "table-name": "%",
               "table-type": "all"
            },
           "rule-action": "include"
        }
    ]
}
```

# Platzhalter bei der Tabellenzuordnung
<a name="CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Wildcards"></a>

In diesem Abschnitt werden Platzhalter beschrieben, die Sie verwenden können, wenn Sie die Schema- und Tabellennamen für die Tabellenzuordnung angeben.


| Platzhalter | Entspricht | 
| --- |--- |
| % | Null oder mehr Zeichen | 
| \$1 | Ein einzelnes Zeichen | 
| [\$1] | Ein wörtlicher Unterstrich | 
| [ab] | Eine Reihe von Charakteren. Zum Beispiel entspricht [ab] entweder „a“ oder „b“. | 
| [a-d] | Eine Reihe von Zeichen. Zum Beispiel entspricht [a-d] entweder 'a', 'b', 'c' oder 'd'. | 

Für Oracle-Quell- und Zielendpunkte können Sie das zusätzliche `escapeCharacter`-Verbindungsattribut verwenden, um ein Escape-Zeichen anzugeben. Ein Escape-Zeichen ermöglicht Ihnen, ein bestimmtes Platzhalterzeichen in Ausdrücken so zu verwenden, als ob es kein Platzhalterzeichen wäre. `escapeCharacter=#` Ermöglicht Ihnen beispielsweise, „\$1“ zu verwenden, damit ein Platzhalterzeichen in einem Ausdruck wie in diesem Beispielcode als normales Zeichen fungiert.

```
{
    "rules": [
        {
            "rule-type": "selection",
            "rule-id": "542485267",
            "rule-name": "542485267",
            "object-locator": { "schema-name": "ROOT", "table-name": "TEST#_T%" },
            "rule-action": "include",
            "filters": []
        }
    ]
}
```

Hier sorgt das Escape-Zeichen '\$1' dafür, dass sich das Platzhalterzeichen '\$1' wie ein normales Zeichen verhält. AWS DMS wählt Tabellen im genannten Schema aus`ROOT`, wobei jede Tabelle einen Namen mit `TEST_T` einem Präfix hat.

# Transformationsregeln und Aktionen
<a name="CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Transformations"></a>

Sie verwenden die Transformationsaktionen, um alle Transformationen anzugeben, die Sie auf das ausgewählte Schema, Tabelle oder Ansicht anwenden möchten. Transformationsregeln sind optional. 

## Einschränkungen
<a name="CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Transformations.Limitations"></a>
+ Sie können nicht mehr als eine Transformationsregelaktion auf dasselbe Objekt (Schema, Tabelle, Spalte, Tabellen-Tablespace oder Index-Tablespace) anwenden. Sie können mehrere Transformationsregelaktionen auf jeder Ebene anwenden, solange jede Transformationsaktion auf ein anderes Objekt angewendet wird. Diese Einschränkung gilt jedoch nicht, wenn Sie Transformationsregeln für die Datenmaskierung verwenden, bei denen Sie eine weitere Transformation wie oder für dieselbe Spalte verwenden können. `ADD-COLUMN` `CHANGE-DATA-TYPE`
+ Bei Tabellennamen und Spaltennamen in Transformationsregeln muss die Groß- und Kleinschreibung beachtet werden. Beispielsweise müssen Sie Tabellennamen und Spaltennamen für eine Oracle- oder Db2-Datenbank in Großbuchstaben angeben.
+ Transformationen werden für Spaltennamen mit Right-to-Left Sprachen nicht unterstützt.
+ Transformationen können nicht für Spalten durchgeführt werden, deren Name Sonderzeichen (z. B. \$1, \$1, /, -) enthält.
+ Die einzige unterstützte Transformation für Spalten, die BLOB/CLOB Datentypen zugeordnet sind, besteht darin, die Spalte auf dem Ziel zu löschen.
+ AWS DMS unterstützt nicht die Replikation von zwei Quelltabellen in eine einzelne Zieltabelle. AWS DMS repliziert Datensätze von Tabelle zu Tabelle und von Spalte zu Spalte gemäß den Transformationsregeln der Replikationsaufgabe. Die Objektnamen müssen eindeutig sein, um Überschneidungen zu vermeiden.

  Beispielsweise hat eine Quelltabelle eine Spalte mit dem Namen `ID` und die entsprechende Zieltabelle hat eine bereits existierende Spalte mit dem Namen `id`. Wenn eine Regel eine `ADD-COLUMN` Anweisung verwendet, um eine neue Spalte namens hinzuzufügen`id`, und eine SQLite Anweisung, um die Spalte mit benutzerdefinierten Werten zu füllen, erzeugt dies ein doppeltes, mehrdeutiges Objekt mit dem Namen `id` und wird nicht unterstützt. 
+ Beim Erstellen einer Transformationsregel empfehlen wir, den `data-type` Parameter nur zu verwenden, wenn die Auswahlregeln mehrere Spalten angeben, z. B. wenn Sie `column-name` auf `%` festlegen. Wir empfehlen nicht, `data-type` für die Auswahl einer einzelnen Spalte zu verwenden.
+ AWS DMS unterstützt keine Transformationsregeln, bei denen sich Quell- und Zielobjekte (Tabellen) in derselben Datenbank/demselben Schema befinden. Die Verwendung derselben Tabelle als Quelle und Ziel in einer Transformationsregel kann zu unerwarteten und potenziell schädlichen Ergebnissen führen, einschließlich, aber nicht beschränkt auf unbeabsichtigte Änderungen an den Tabellendaten, Änderungen von Tabellenstrukturen oder sogar das Löschen von Tabellen.

## Werte
<a name="CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Transformations.Values"></a>

Für Tabellenzuweisungsregeln, die den Regeltyp "Transformation" verwenden, können Sie die folgenden Werte anwenden. 

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Transformations.html)

## Beispiele
<a name="CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Transformations.Examples"></a>

**Example Umbenennen eines Schemas**  
Im folgenden Beispiel wird ein Schema von `Test` in Ihrer Quelle auf `Test1` in Ihrem Ziel umbenannt.  

```
{

    "rules": [
        {
            "rule-type": "selection",
            "rule-id": "1",
            "rule-name": "1",
            "object-locator": {
                "schema-name": "Test",
                "table-name": "%"
            },
            "rule-action": "include"
        },
        {
            "rule-type": "transformation",
            "rule-id": "2",
            "rule-name": "2",
            "rule-action": "rename",
            "rule-target": "schema",
            "object-locator": {
                "schema-name": "Test"
            },
            "value": "Test1"
        }
    ]
}
```

**Example Tabellen umbenennen**  
Im folgenden Beispiel wird eine Tabelle von `Actor` in Ihrer Quelle auf `Actor1` in Ihrem Ziel umbenannt.  

```
{
    "rules": [
        {
            "rule-type": "selection",
            "rule-id": "1",
            "rule-name": "1",
            "object-locator": {
                "schema-name": "Test",
                "table-name": "%"
            },
            "rule-action": "include"
        },
        {
            "rule-type": "transformation",
            "rule-id": "2",
            "rule-name": "2",
            "rule-action": "rename",
            "rule-target": "table",
            "object-locator": {
                "schema-name": "Test",
                "table-name": "Actor"
            },
            "value": "Actor1"
        }
    ]
}
```

**Example Umbenennen einer Spalte**  
Im folgenden Beispiel wird eine Spalte in Tabelle `Actor` von `first_name` in Ihrer Quelle auf `fname` in Ihrem Zielendpunkt umbenannt.  

```
{
    "rules": [
        {
            "rule-type": "selection",
            "rule-id": "1",
            "rule-name": "1",
            "object-locator": {
                "schema-name": "test",
                "table-name": "%"
            },
            "rule-action": "include"
        },
         {
            "rule-type": "transformation",
            "rule-id": "4",
            "rule-name": "4",
            "rule-action": "rename",
            "rule-target": "column",
            "object-locator": {
                "schema-name": "test",
                "table-name": "Actor",
                "column-name" : "first_name"
            },
            "value": "fname"
        }
    ]
}
```

**Example Umbenennen eines Oracle-Tabellen-Tabellenraums**  
Im folgenden Beispiel wird der Tabellen-Tabellenraum mit dem Namen `SetSpace` für eine Tabelle mit dem Namen `Actor` in Ihrer Oracle-Quelle auf `SceneTblSpace` in Ihrem Oracle-Zielendpunkt umbenannt.  

```
{
    "rules": [
        {
            "rule-type": "selection",
            "rule-id": "1",
            "rule-name": "1",
            "object-locator": {
                "schema-name": "Play",
                "table-name": "%"
            },
            "rule-action": "include"
        },
        {
            "rule-type": "transformation",
            "rule-id": "2",
            "rule-name": "2",
            "rule-action": "rename",
            "rule-target": "table-tablespace",
            "object-locator": {
                "schema-name": "Play",
                "table-name": "Actor",
                "table-tablespace-name": "SetSpace"
            },
            "value": "SceneTblSpace"
        }
    ]
}
```

**Example Umbenennen eines Oracle-Index-Tabellenraums**  
Im folgenden Beispiel wird der Index-Tabellenraum mit dem Namen `SetISpace` für eine Tabelle mit dem Namen `Actor` in Ihrer Oracle-Quelle auf `SceneIdxSpace` in Ihrem Oracle-Zielendpunkt umbenannt.  

```
{
    "rules": [
        {
            "rule-type": "selection",
            "rule-id": "1",
            "rule-name": "1",
            "object-locator": {
                "schema-name": "Play",
                "table-name": "%"
            },
            "rule-action": "include"
        },
        {
            "rule-type": "transformation",
            "rule-id": "2",
            "rule-name": "2",
            "rule-action": "rename",
            "rule-target": "table-tablespace",
            "object-locator": {
                "schema-name": "Play",
                "table-name": "Actor",
                "table-tablespace-name": "SetISpace"
            },
            "value": "SceneIdxSpace"
        }
    ]
}
```

**Example Hinzufügen einer Spalte**  
Im folgenden Beispiel wird der Tabelle `Actor` im Schema `test` eine `datetime`- Spalte hinzugefügt.  

```
{
    "rules": [
        {
            "rule-type": "selection",
            "rule-id": "1",
            "rule-name": "1",
            "object-locator": {
                "schema-name": "test",
                "table-name": "%"
            },
            "rule-action": "include"
        },
        {
            "rule-type": "transformation",
            "rule-id": "2",
            "rule-name": "2",
            "rule-action": "add-column",
            "rule-target": "column",
            "object-locator": {
                "schema-name": "test",
                "table-name": "actor"
            },
            "value": "last_updated",
            "data-type": {
                "type": "datetime",
                "precision": 6
            }
        }
    ]
}
```

**Example Entfernen einer Spalte**  
Im folgenden Beispiel wird die Tabelle mit dem Namen `Actor` in Ihrer Quelle so transformiert, dass alle Spalten, die mit den Zeichen `col` beginnen, in Ihrem Ziel daraus entfernt werden.  

```
{
 	"rules": [{
		"rule-type": "selection",
		"rule-id": "1",
		"rule-name": "1",
		"object-locator": {
			"schema-name": "test",
			"table-name": "%"
		},
		"rule-action": "include"
	}, {
		"rule-type": "transformation",
		"rule-id": "2",
		"rule-name": "2",
		"rule-action": "remove-column",
		"rule-target": "column",
		"object-locator": {
			"schema-name": "test",
			"table-name": "Actor",
			"column-name": "col%"
		}
	}]
 }
```

**Example In Kleinbuchstaben konvertieren**  
Im folgenden Beispiel wird ein Tabellenname von `ACTOR` in Ihrer Quelle auf `actor` in Ihrem Ziel umgewandelt.  

```
{
	"rules": [{
		"rule-type": "selection",
		"rule-id": "1",
		"rule-name": "1",
		"object-locator": {
			"schema-name": "test",
			"table-name": "%"
		},
		"rule-action": "include"
	}, {
		"rule-type": "transformation",
		"rule-id": "2",
		"rule-name": "2",
		"rule-action": "convert-lowercase",
		"rule-target": "table",
		"object-locator": {
			"schema-name": "test",
			"table-name": "ACTOR"
		}
	}]
}
```

**Example Umwandeln in Großschreibung**  
Im folgenden Beispiel werden alle Spalten in allen Tabellen und allen Schemata von Kleinschreibung an Ihrer Quelle in Großschreibung an Ihrem Ziel umgewandelt.  

```
{
    "rules": [
        {
            "rule-type": "selection",
            "rule-id": "1",
            "rule-name": "1",
            "object-locator": {
                "schema-name": "test",
                "table-name": "%"
            },
            "rule-action": "include"
        },
        {
            "rule-type": "transformation",
            "rule-id": "2",
            "rule-name": "2",
            "rule-action": "convert-uppercase",
            "rule-target": "column",
            "object-locator": {
                "schema-name": "%",
                "table-name": "%",
                "column-name": "%"
            }
        }
    ]
}
```

**Example Hinzufügen eines Präfix**  
Im folgenden Beispiel werden alle Tabellen in Ihrer Quelle so transformiert, dass ihnen das Präfix `DMS_` in Ihrem Ziel hinzugefügt wird.  

```
{
 	"rules": [{
		"rule-type": "selection",
		"rule-id": "1",
		"rule-name": "1",
		"object-locator": {
			"schema-name": "test",
			"table-name": "%"
		},
		"rule-action": "include"
	}, {
		"rule-type": "transformation",
		"rule-id": "2",
		"rule-name": "2",
		"rule-action": "add-prefix",
		"rule-target": "table",
		"object-locator": {
			"schema-name": "test",
			"table-name": "%"
		},
		"value": "DMS_"
	}]
 
}
```

**Example Ersetzen eines Präfix**  
Im folgenden Beispiel werden alle Spalten, die das Präfix `Pre_` in Ihrer Quelle enthalten, so transformiert, dass das Präfix durch `NewPre_` in Ihrem Ziel ersetzt wird.  

```
{
    "rules": [
        {
            "rule-type": "selection",
            "rule-id": "1",
            "rule-name": "1",
            "object-locator": {
                "schema-name": "test",
                "table-name": "%"
            },
            "rule-action": "include"
        },
        {
            "rule-type": "transformation",
            "rule-id": "2",
            "rule-name": "2",
            "rule-action": "replace-prefix",
            "rule-target": "column",
            "object-locator": {
                "schema-name": "%",
                "table-name": "%",
                "column-name": "%"
            },
            "value": "NewPre_",
            "old-value": "Pre_"
        }
    ]
}
```

**Example Entfernen eines Suffix**  
Im folgenden Beispiel werden alle Tabellen in Ihrer Quelle so transformiert, dass aus ihnen das Suffix `_DMS` in Ihrem Ziel entfernt wird.  

```
{
	"rules": [{
		"rule-type": "selection",
		"rule-id": "1",
		"rule-name": "1",
		"object-locator": {
			"schema-name": "test",
			"table-name": "%"
		},
		"rule-action": "include"
	}, {
		"rule-type": "transformation",
		"rule-id": "2",
		"rule-name": "2",
		"rule-action": "remove-suffix",
		"rule-target": "table",
		"object-locator": {
			"schema-name": "test",
			"table-name": "%"
		},
		"value": "_DMS"
	}]
}
```

**Example Definieren eines Primärschlüssels**  
Das folgende Beispiel definiert einen Primärschlüssel mit dem Namen `ITEM-primary-key` auf drei Spalten der `ITEM`-Tabelle, die zu Ihrem Zielendpunkt migriert wurde.  

```
{
	"rules": [{
		"rule-type": "selection",
		"rule-id": "1",
		"rule-name": "1",
		"object-locator": {
			"schema-name": "inventory",
			"table-name": "%"
		},
		"rule-action": "include"
	}, {
		"rule-type": "transformation",
		"rule-id": "2",
		"rule-name": "2",
		"rule-action": "define-primary-key",
		"rule-target": "table",
		"object-locator": {
			"schema-name": "inventory",
			"table-name": "ITEM"
		},
		"primary-key-def": {
			"name": "ITEM-primary-key",
			"columns": [
				"ITEM-NAME",
				"BOM-MODEL-NUM",
				"BOM-PART-NUM"
			]
              }
	}]
}
```

**Example Definieren eines eindeutigen Index**  
Das folgende Beispiel definiert einen eindeutigen Index mit dem Namen `ITEM-unique-idx` auf drei Spalten der `ITEM`-Tabelle, die zu Ihrem Zielendpunkt migriert wurde.  

```
{
	"rules": [{
		"rule-type": "selection",
		"rule-id": "1",
		"rule-name": "1",
		"object-locator": {
			"schema-name": "inventory",
			"table-name": "%"
		},
		"rule-action": "include"
	}, {
		"rule-type": "transformation",
		"rule-id": "2",
		"rule-name": "2",
		"rule-action": "define-primary-key",
		"rule-target": "table",
		"object-locator": {
			"schema-name": "inventory",
			"table-name": "ITEM"
		},
		"primary-key-def": {
			"name": "ITEM-unique-idx",
			"origin": "unique-index",
			"columns": [
				"ITEM-NAME",
				"BOM-MODEL-NUM",
				"BOM-PART-NUM"
			]
              }
	}]
}
```

**Example Ändern des Datentyps der Zielspalte**  
Im folgenden Beispiel wird der Datentyp einer Zielspalte namens `SALE_AMOUNT` von einem vorhandenen Datentyp in `int8` geändert.  

```
{
    "rule-type": "transformation",
    "rule-id": "1",
    "rule-name": "RuleName 1",
    "rule-action": "change-data-type",
    "rule-target": "column",
    "object-locator": {
        "schema-name": "dbo",
        "table-name": "dms",
        "column-name": "SALE_AMOUNT"
    },
    "data-type": {
        "type": "int8"
    }
}
```

**Example Hinzufügen einer Vorher-Abbild-Spalte**  
Für eine Quellspalte mit dem Namen `emp_no` fügt die Transformationsregel im folgenden Beispiel eine neue Spalte mit dem Namen `BI_emp_no` auf dem Ziel hinzu.  

```
{
	"rules": [{
			"rule-type": "selection",
			"rule-id": "1",
			"rule-name": "1",
			"object-locator": {
				"schema-name": "%",
				"table-name": "%"
			},
			"rule-action": "include"
		},
		{
			"rule-type": "transformation",
			"rule-id": "2",
			"rule-name": "2",
			"rule-target": "column",
			"object-locator": {
				"schema-name": "%",
				"table-name": "employees"
			},
			"rule-action": "add-before-image-columns",
			"before-image-def": {
				"column-prefix": "BI_",
				"column-suffix": "",
				"column-filter": "pk-only"
			}
		}
	]
}
```
Hier füllt die folgende Anweisung eine `BI_emp_no`-Spalte in der entsprechenden Zeile mit 1.  

```
UPDATE employees SET emp_no = 3 WHERE BI_emp_no = 1;
```
Beim Schreiben von CDC-Aktualisierungen für unterstützte AWS DMS Ziele lässt sich anhand der `BI_emp_no` Spalte erkennen, für welche Zeilen die Werte in der `emp_no` Spalte aktualisiert wurden.

# Verwenden von Transformationsregelausdrücken zum Definieren von Spalteninhalten
<a name="CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Expressions"></a>

Um Inhalte für neue und vorhandene Spalten zu definieren, können Sie einen Ausdruck innerhalb einer Transformationsregel verwenden. Beispielsweise können Sie mithilfe von Ausdrücken eine Spalte hinzufügen oder Quelltabellenüberschriften zu einem Ziel replizieren. Sie können Ausdrücke auch verwenden, um Datensätze in Zieltabellen als eingefügt, aktualisiert oder an der Quelle gelöscht zu kennzeichnen. 

**Topics**
+ [Hinzufügen einer Spalte mithilfe eines Ausdrucks](#CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Expressions-adding)
+ [Markieren von Zieldatensätzen mithilfe eines Ausdrucks](#CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Expressions-Flagging)
+ [Replizieren von Quelltabellenheadern mithilfe von Ausdrücken](#CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Expressions-Headers)
+ [Verwenden von SQLite Funktionen zum Erstellen von Ausdrücken](#CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Expressions-SQLite)
+ [Hinzufügen von Metadaten zu einer Zieltabelle mithilfe von Ausdrücken](#CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Expressions-Metadata)

## Hinzufügen einer Spalte mithilfe eines Ausdrucks
<a name="CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Expressions-adding"></a>

Verwenden Sie eine `add-column`-Regelaktion und ein `column`-Regelziel, um Tabellen mithilfe eines Ausdrucks in einer Transformationsregel Spalten hinzuzufügen.

Im folgenden Beispiel wird der `ITEM`-Tabelle eine neue Spalte hinzugefügt. Der Name der neuen Spalte ist `FULL_NAME`, der Datentyp `string`, und die Länge ist 50 Zeichen. Der Ausdruck verkettet die Werte zweier vorhandener Spalten, `FIRST_NAME` und `LAST_NAME`, so dass sie zu `FULL_NAME` ausgewertet werden. `schema-name`, `table-name` und Ausdrucksparameter und beziehen sich auf Objekte in der Quelldatenbanktabelle. `Value`und der `data-type`-Block bezieht sich auf Objekte in der Zieldatenbanktabelle.

```
{
    "rules": [
        {
            "rule-type": "selection", 
            "rule-id": "1",
            "rule-name": "1",
            "object-locator": {
                "schema-name": "Test",
                "table-name": "%"
            },
            "rule-action": "include"
        },
        {
            "rule-type": "transformation",
            "rule-id": "2",
            "rule-name": "2",
            "rule-action": "add-column",
            "rule-target": "column",
            "object-locator": {
                "schema-name": "Test",
                "table-name": "ITEM"
            },
            "value": "FULL_NAME",
            "expression": "$FIRST_NAME||'_'||$LAST_NAME",
            "data-type": {
                 "type": "string",
                 "length": 50
            }
        }
    ]
}
```

## Markieren von Zieldatensätzen mithilfe eines Ausdrucks
<a name="CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Expressions-Flagging"></a>

Um Datensätze in Zieltabellen als eingefügt, aktualisiert oder gelöscht in der Quelltabelle zu kennzeichnen, verwenden Sie einen Ausdruck in einer Transformationsregel. Der Ausdruck verwendet eine `operation_indicator`-Funktion, um Datensätze zu kennzeichnen. Datensätze, die aus der Quelle gelöscht werden, werden nicht aus dem Ziel gelöscht. Stattdessen wird der Zieldatensatz mit einem vom Benutzer angegebenen Wert markiert, um anzuzeigen, dass er aus der Quelle gelöscht wurde.

**Anmerkung**  
Die `operation_indicator`-Funktion funktioniert nur für Tabellen, die einen Primärschlüssel für die Quell- und die Zieldatenbank haben. 

Beispielsweise fügt die folgende Transformationsregel einer Zieltabelle zuerst eine neue `Operation`-Spalte hinzu. Anschließend wird die Spalte mit dem Wert `D` aktualisiert, wenn ein Datensatz aus einer Quelltabelle gelöscht wird.

```
{
      "rule-type": "transformation",
      "rule-id": "2",
      "rule-name": "2",
      "rule-target": "column",
      "object-locator": {
        "schema-name": "%",
        "table-name": "%"
      },
      "rule-action": "add-column",
      "value": "Operation",
      "expression": "operation_indicator('D', 'U', 'I')",
      "data-type": {
        "type": "string",
        "length": 50
      }
}
```

## Replizieren von Quelltabellenheadern mithilfe von Ausdrücken
<a name="CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Expressions-Headers"></a>

Standardmäßig werden Header für Quelltabellen nicht auf das Ziel repliziert. Um anzugeben, welche Header repliziert werden sollen, verwenden Sie eine Transformationsregel mit einem Ausdruck, der den Spaltenheader der Tabelle enthält. 

Sie können die folgenden Spaltenkopfzeilen in Ausdrücken verwenden. 

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Expressions.html)

Im folgenden Beispiel wird dem Ziel eine neue Spalte hinzugefügt, indem der Wert für die Stream-Position aus der Quelle verwendet wird. Bei SQL Server ist der Wert für die Stream-Position der LSN für den Quellendpunkt. Bei Oracle ist der Wert für die Stream-Position der SCN für den Quellendpunkt.

```
{
      "rule-type": "transformation",
     "rule-id": "2",
      "rule-name": "2",
      "rule-target": "column",
      "object-locator": {
        "schema-name": "%",
        "table-name": "%"
      },
      "rule-action": "add-column",
      "value": "transact_id",
      "expression": "$AR_H_STREAM_POSITION",
      "data-type": {
        "type": "string",
        "length": 50
      }
    }
```

Das folgende Beispiel fügt dem Ziel eine neue Spalte hinzu, die eine eindeutige inkrementelle Zahl aus der Quelle hat. Dieser Wert steht für eine 35-stellige eindeutige Zahl auf Aufgabenebene. Die ersten 16 Ziffern sind Teil eines Zeitstempels und die letzten 19 Ziffern sind die vom DBMS inkrementierte Record\$1ID-Nummer.

```
{
"rule-type": "transformation",
"rule-id": "2",
"rule-name": "2",
"rule-target": "column",
"object-locator": {
"schema-name": "%",
"table-name": "%"
},
"rule-action": "add-column",
"value": "transact_id",
"expression": "$AR_H_CHANGE_SEQ",
"data-type": {
"type": "string",
"length": 50
}
}
```

## Verwenden von SQLite Funktionen zum Erstellen von Ausdrücken
<a name="CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Expressions-SQLite"></a>

Mit den Tabelleneinstellungen können Sie alle Einstellungen angeben, die Sie auf die ausgewählte Tabelle oder Ansicht für eine bestimmte Operation anwenden möchten. Regeln für Tabelleneinstellungen sind optional. 

**Anmerkung**  
Anstelle des Konzepts von Tabellen und Ansichten speichern MongoDB- und DocumentDB-Datenbanken Datensätze als Dokumente, die in *Sammlungen* zusammengefasst werden. Wenn Sie also von einer MongoDB- oder DocumentDB-Quelle migrieren, sollten Sie den Bereichssegmentierungstyp der parallelen Ladeeinstellungen für ausgewählte *Sammlungen* und nicht für Tabellen und Ansichten berücksichtigen.

**Topics**
+ [Verwenden eines CASE-Ausdrucks](#CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Expressions-SQLite.CASE)
+ [Beispiele](#CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Expressions-SQLite.Ex)

Im Folgenden finden Sie Zeichenkettenfunktionen, mit denen Sie Ausdrücke für Transformationsregeln erstellen können.


| Zeichenfolgenfunktionen | Description | 
| --- | --- | 
|  `lower(x)`  |  Die `lower(x)`-Funktion gibt eine Kopie der Zeichenfolge *`x`* zurück, in der alle Zeichen in Kleinbuchstaben umgewandelt wurden. Die integrierte `lower`-Standardfunktion funktioniert nur für ASCII-Zeichen.  | 
|  `upper(x)`  |  Die `upper(x)`-Funktion gibt eine Kopie der Zeichenfolge *`x`* zurück, in der alle Zeichen in Großbuchstaben umgewandelt wurden. Die integrierte `upper`-Standardfunktion funktioniert nur für ASCII-Zeichen.  | 
|  `ltrim(x,y)`  |  Die `ltrim(x,y)`-Funktion gibt eine Zeichenfolge zurück, die gebildet wird, indem alle Zeichen, die in y vorkommen, von der linken Seite von x entfernt werden. Wenn es keinen Wert für y gibt, entfernt `ltrim(x)` Leerzeichen auf der linken Seite von x.  | 
|  `replace(x,y,z)`  |  Die `replace(x,y,z)`-Funktion gibt eine Zeichenfolge zurück, die gebildet wird, indem jedes Vorkommen der Zeichenfolge y in der Zeichenfolge x durch die Zeichenfolge z ersetzt wird.  | 
| `rtrim(x,y)` |  Die `rtrim(x,y)`-Funktion gibt eine Zeichenfolge zurück, die gebildet wird, indem alle Zeichen, die in y vorkommen, von der rechten Seite von x entfernt werden. Wenn es keinen Wert für y gibt, entfernt `rtrim(x)` Leerzeichen auf der rechten Seite von x.  | 
| `substr(x,y,z)` |  Die `substr(x,y,z)`-Funktion gibt eine Teilzeichenfolge der Eingabezeichenfolge `x` zurück, die mit `y`-ten Zeichen beginnt und *`z`* Zeichen lang ist.  Wenn *`z`* nicht angegeben ist, gibt `substr(x,y)` alle Zeichen bis zum Ende der Zeichenfolge `x` zurück, die mit dem `y`-ten Zeichen beginnt. Das am weitesten links stehende Zeichen von `x` ist die Zahl 1. Wenn *`y`* negativ ist, wird das erste Zeichen der Teilzeichenfolge ermittelt, indem von rechts statt von links gezählt wird. Wenn *`z`* negativ ist, werden die `abs(z)` Zeichen vor dem `y`-ten Zeichen zurückgegeben. Wenn es sich bei `x` um eine Zeichenfolge handelt, beziehen sich die Indizes der Zeichen auf tatsächliche UTF-8-Zeichen. Wenn es sich bei `x` um ein BLOB handelt, beziehen sich die Indizes auf Bytes.  | 
| trim(x,y) |  Die `trim(x,y)`-Funktion gibt eine Zeichenfolge zurück, die gebildet wird, indem alle Zeichen, die in `y` vorkommen, von beiden Seiten von rechten Seite von `x` entfernt werden. Wenn es keinen Wert für `y` gibt, entfernt `trim(x)` Leerzeichen von beiden Seiten von `x`.  | 

Im Folgenden finden Sie LOB-Funktionen, mit denen Sie Ausdrücke für Transformationsregeln erstellen können.


| LOB-Funktionen | Description | 
| --- | --- | 
|  `hex(x)`  |  Die `hex`-Funktion empfängt ein BLOB als Argument und gibt eine hexadezimale Zeichenkettenversion des BLOB-Inhalts in Großbuchstaben zurück.  | 
|  `randomblob (N)`  |  Die `randomblob(N)`-Funktion gibt ein `N`-Byte-BLOB zurück, das pseudozufällige Bytes enthält. Falls kleiner als 1 *N* ist, wird ein zufälliges 1-Byte-BLOB zurückgegeben.   | 
|  `zeroblob(N)`  |  Die `zeroblob(N)`-Funktion gibt ein BLOB zurück, das aus `N` Bytes von 0x00 besteht.  | 

Im Folgenden finden Sie numerische Funktionen, mit denen Sie Ausdrücke für Transformationsregeln erstellen können.


| Numerische Funktionen | Description | 
| --- | --- | 
|  `abs(x)`  |  Die `abs(x)`-Funktion gibt den absoluten Wert des numerischen Arguments `x` zurück. Die `abs(x)` Funktion gibt NULL zurück, wenn NULL *x* ist. Die `abs(x)` Funktion gibt 0,0 zurück, wenn **x** es sich um eine Zeichenfolge oder ein BLOB handelt, das nicht in einen numerischen Wert konvertiert werden kann.  | 
|  `random()`  |  Die `random`-Funktion gibt eine pseudozufällige Ganzzahl zwischen -9 223 372 036 854 775 808 und \$19 223 372 036 854 775 807 zurück.  | 
|  `round (x,y)`  |  Die `round (x,y)` Funktion gibt einen Gleitkommawert zurück, der auf *y* Ziffern rechts vom Dezimaltrennzeichen *x* gerundet ist. Wenn es keinen Wert für gibt, wird davon ausgegangen*y*, dass er 0 ist.  | 
|  `max (x,y...)`  |  Die `max`-Funktion mit mehreren Argumenten gibt das Argument mit dem Maximalwert zurück oder NULL, wenn ein Argument NULL ist.  Die `max`-Funktion durchsucht ihre Argumente von links nach rechts nach einem Argument, das eine Sortierfunktion definiert. Wenn eine gefunden wird, verwendet sie diese Sortierfunktion für alle Zeichenkettenvergleiche. Wenn keines der Argumente zur `max`-Definition einer Sortierfunktion vorhanden ist, wird die `BINARY`-Sortierfunktion verwendet. Die `max`-Funktion ist eine einfache Funktion, wenn sie zwei oder mehr Argumente hat, aber sie funktioniert als Aggregatfunktion, wenn sie ein einziges Argument hat.  | 
|  `min (x,y...)`  |  Die `min`-Funktion mit mehreren Argumenten gibt das Argument mit dem Mindestwert zurück.  Die `min`-Funktion durchsucht ihre Argumente von links nach rechts nach einem Argument, das eine Sortierfunktion definiert. Wenn eine gefunden wird, verwendet sie diese Sortierfunktion für alle Zeichenkettenvergleiche. Wenn keines der Argumente zur `min`-Definition einer Sortierfunktion vorhanden ist, wird die `BINARY`-Sortierfunktion verwendet. Die `min`-Funktion ist eine einfache Funktion, wenn sie zwei oder mehr Argumente hat, aber sie funktioniert als Aggregatfunktion, wenn sie ein einziges Argument hat.   | 

Im Folgenden finden Sie NULL-Prüffunktionen, mit denen Sie Ausdrücke für Transformationsregeln erstellen können.


| Funktionen zur NULL-Prüfung | Description | 
| --- | --- | 
|  `coalesce (x,y...)`  |  Die `coalesce`-Funktion gibt eine Kopie ihres ersten Arguments zurück, das nicht NULL ist, aber sie gibt NULL zurück, wenn alle Argumente NULL sind. Die Koaleszenzfunktion hat mindestens zwei Argumente.  | 
|  `ifnull(x,y)`  |  Die `ifnull`-Funktion gibt eine Kopie ihres ersten Arguments zurück, das nicht NULL ist, aber sie gibt NULL zurück, wenn beide Argumente NULL sind. Die `ifnull`-Funktion hat genau zwei Argumente. Die `ifnull`-Funktion ist dieselbe wie `coalesce` mit zwei Argumenten.  | 
|  `nullif(x,y)`  |  Die `nullif(x,y)`-Funktion gibt eine Kopie ihres ersten Arguments zurück, wenn die Argumente unterschiedlich sind, aber sie gibt NULL zurück, wenn die Argumente identisch sind.  Die `nullif(x,y)`-Funktion durchsucht ihre Argumente von links nach rechts nach einem Argument, das eine Sortierfunktion definiert. Wenn eine gefunden wird, verwendet sie diese Sortierfunktion für alle Zeichenkettenvergleiche. Wenn keines der Argumente zur Definition einer Sortierfunktion vorhanden ist, wird die `BINARY`-Sortierfunktion verwendet.  | 

Im Folgenden finden Sie Datums- und Zeitfunktionen, mit denen Sie Ausdrücke für Transformationsregeln erstellen können.


| Datums- und Zeitfunktionen | Description | 
| --- | --- | 
|  `date(timestring, modifier, modifier...)`  |  Die `date` Funktion gibt das Datum im Format zurück YYYY-MM-DD.  | 
|  `time(timestring, modifier, modifier...)`  |  Die `time`-Funktion gibt die Uhrzeit im Format HH:MM:SS zurück.  | 
|  `datetime(timestring, modifier, modifier...)`  |  Die `datetime` Funktion gibt Datum und Uhrzeit im Format YYYY-MM-DD HH:MM:SS zurück.  | 
|  `julianday(timestring, modifier, modifier...)`  |  Die `julianday`-Funktion gibt die Anzahl der Tage seit dem Mittag in Greenwich am 24. November 4714 v. Chr. zurück.  | 
|  `strftime(format, timestring, modifier, modifier...)`  |  Die `strftime`-Funktion gibt das Datum gemäß der als erstes Argument angegebenen Formatzeichenfolge zurück, wobei eine der folgenden Variablen verwendet wird: `%d`: Tag des Monats `%H`: Stunde 00-24 `%f`: \$1\$1 Sekundenbruchteile SS.SSS `%j`: Tag des Jahres 001-366 `%J`: \$1\$1 Julianische Tageszahl `%m`: Monat 01–12 `%M`: Minute (00–59) `%s`: Sekunden seit dem 01.01.1970 `%S`: Sekunden (00–59) `%w`: Wochentag (0–6; wobei Sonntag =0 ist) `%W`: Woche des Jahres 00–53 `%Y`: Jahr 0000–9999 `%%`: %  | 

Im Folgenden finden Sie eine Hash-Funktionen, mit der Sie Ausdrücke für Transformationsregeln erstellen können.


| Hash-Funktion | Description | 
| --- | --- | 
|  `hash_sha256(x)`  |  Die `hash`-Funktion generiert einen Hashwert für eine Eingabespalte (unter Verwendung des SHA-256-Algorithmus) und gibt den Hexadezimalwert des generierten Hashwerts zurück.  Um die `hash`-Funktion in einem Ausdruck zu verwenden, fügen Sie dem Ausdruck `hash_sha256(x)` hinzu und ersetzen Sie *`x`* durch den Namen der Quellspalte.  | 

### Verwenden eines CASE-Ausdrucks
<a name="CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Expressions-SQLite.CASE"></a>

Der SQLite `CASE` Ausdruck wertet eine Liste von Bedingungen aus und gibt einen Ausdruck zurück, der auf dem Ergebnis basiert. Die Syntax wird im Folgenden angezeigt.

```
    CASE case_expression
     WHEN when_expression_1 THEN result_1
     WHEN when_expression_2 THEN result_2
     ...
     [ ELSE result_else ] 
    END

# Or 

     CASE
     WHEN case_expression THEN result_1
     WHEN case_expression THEN result_2
     ...
     [ ELSE result_else ] 
    END
```

### Beispiele
<a name="CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Expressions-SQLite.Ex"></a>

**Example des Hinzufügens einer neuen Zeichenkettenspalte zur Zieltabelle unter Verwendung einer Case-Bedingung**  
Beispielsweise fügt die folgende Transformationsregel einer Zieltabelle, `employee`, zuerst eine neue Zeichenfolgenspalte, `emp_seniority`, hinzu. Es verwendet die SQLite `round` Funktion für die Gehaltsspalte mit einer Fallbedingung, um zu überprüfen, ob das Gehalt 20.000 entspricht oder überschreitet. Ist dies der Fall, erhält die Spalte den Wert `SENIOR` und alles andere hat den Wert `JUNIOR`.  

```
  {
      "rule-type": "transformation",
      "rule-id": "2",
      "rule-name": "2",
      "rule-action": "add-column",
      "rule-target": "column",
      "object-locator": {
        "schema-name": "public",
        "table-name": "employee"
      },
      "value": "emp_seniority",
      "expression": " CASE WHEN round($emp_salary)>=20000 THEN ‘SENIOR’ ELSE ‘JUNIOR’ END",
      "data-type": {
        "type": "string",
        "length": 50
      }

  }
```

**Example des Hinzufügens einer neuen Zeichenkettenspalte zur Zieltabelle mithilfe einer SUBSTR-Funktion**  
Die folgende Beispieltransformationsregel fügt mithilfe von SQLite Operatoren oder Funktionen eine neue Zeichenfolgenspalte hinzu, um die Daten in einer Spalte zu definieren. Bei diesem Ansatz werden SQLite Funktionen verwendet, um die aus Oracle geladenen GUID-Daten in das UUID-Format umzuwandeln, bevor sie in die PostgreSQL-Zieltabelle eingefügt werden.  
Die folgende Regel verwendet die Funktionen SQLite Teilzeichenfolge (SUBSTR), Hexadezimalfunktion (HEX) und Kleinschreibung (LOWER), um die GUID-Daten in mehrere durch Bindestriche getrennte Gruppen aufzuteilen, insbesondere eine Gruppe von 8 Ziffern, gefolgt von drei Gruppen von 4 Ziffern, gefolgt von einer Gruppe von 12 Ziffern, also insgesamt 32 Ziffern, die die 128 Bit repräsentieren.  
Im Folgenden finden Sie die Beispielquelldaten und die Ausgabe für die Zielnachverarbeitung mithilfe der Transformationsregel:  
**Quelltabelle (Oracle GUID-Format)**    
T\$1 COL2  

```
06F6949D234911EE80670242AC120002
1A2B3C4D5E6F11EE80670242AC120003
F5E4D3C2B1A011EE80670242AC120004
```
**Zieltabelle (PostgreSQL UUID-Format)**    
COL2T\$1\$1TMP  

```
06f6949d-2349-11ee-8067-0242ac120002
1a2b3c4d-5e6f-11ee-8067-0242ac120003
f5e4d3c2-b1a0-11ee-8067-0242ac120004
```

```
{
  "rule-type": "transformation",
  "rule-id": "2",
  "rule-name": "2",
  "rule-action": "add-column",
  "rule-target": "column",
  "object-locator": {
    "schema-name": "SPORTS",
    "table-name": "TEST_TBL_2"
  },
  "value": "t_col2_tmp",
  "expression": "CASE LOWER(SUBSTR(HEX($T_COL2), 1, 8) || '-' || SUBSTR(HEX($T_COL2), 9, 4) || '-' || SUBSTR(HEX($T_COL2), 13, 4) || '-' || SUBSTR(HEX($T_COL2), 17, 4) || '-' || SUBSTR(HEX($T_COL2), 21, 12)) WHEN '----' THEN NULL ELSE LOWER(SUBSTR(HEX($T_COL2), 1, 8) || '-' || SUBSTR(HEX($T_COL2), 9, 4) || '-' || SUBSTR(HEX($T_COL2), 13, 4) || '-' || SUBSTR(HEX($T_COL2), 17, 4) || '-' || SUBSTR(HEX($T_COL2), 21, 12)) END",
  "data-type": {
    "type": "string",
    "length": 60
  }
}
```

**Example des Hinzufügens einer neuen Datumsspalte zur Zieltabelle**  
Im folgenden Beispiel wird der Zieltabelle, `employee`, eine neue Datumsspalte, `createdate`, hinzugefügt. Wenn Sie die SQLite Datumsfunktion verwenden`datetime`, wird das Datum für jede eingefügte Zeile zur neu erstellten Tabelle hinzugefügt.  

```
  {
      "rule-type": "transformation",
      "rule-id": "2",
      "rule-name": "2",
      "rule-action": "add-column",
      "rule-target": "column",
      "object-locator": {
        "schema-name": "public",
        "table-name": "employee"
      },
      "value": "createdate",
      "expression": "datetime ()",
      "data-type": {
        "type": "datetime",
        "precision": 6
      }
  }
```

**Example des Hinzufügens einer neuen numerischen Spalte zur Zieltabelle**  
Im folgenden Beispiel wird der Zieltabelle, `employee`, eine neue numerische Spalte, `rounded_emp_salary`, hinzugefügt. Sie verwendet die SQLite `round` Funktion, um das gerundete Gehalt hinzuzufügen.   

```
  {
      "rule-type": "transformation",
      "rule-id": "2",
      "rule-name": "2",
      "rule-action": "add-column",
      "rule-target": "column",
      "object-locator": {
        "schema-name": "public",
        "table-name": "employee"
      },
      "value": "rounded_emp_salary",
      "expression": "round($emp_salary)",
      "data-type": {
        "type": "int8"
      }
  }
```

**Example des Hinzufügens einer neuen Zeichenkettenspalte zur Zieltabelle unter Verwendung der Hash–Funktion**  
Im folgenden Beispiel wird der Zieltabelle, `employee`, eine neue Zeichenkettenspalte, `hashed_emp_number`, hinzugefügt. Die SQLite `hash_sha256(x)` Funktion erstellt Hashwerte auf dem Ziel für die Quellspalte,`emp_number`.  

```
  {
      "rule-type": "transformation",
      "rule-id": "2",
      "rule-name": "2",
      "rule-action": "add-column",
      "rule-target": "column",
      "object-locator": {
        "schema-name": "public",
        "table-name": "employee"
      },
      "value": "hashed_emp_number",
      "expression": "hash_sha256($emp_number)",
      "data-type": {
        "type": "string",
        "length": 64
      }
  }
```

## Hinzufügen von Metadaten zu einer Zieltabelle mithilfe von Ausdrücken
<a name="CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Expressions-Metadata"></a>

Sie können die Metadateninformationen zur Zieltabelle hinzufügen, indem Sie die folgenden Ausdrücke verwenden:
+ `$AR_M_SOURCE_SCHEMA` – Der Name des Quellschemas.
+ `$AR_M_SOURCE_TABLE_NAME` – Der Name der Quelltabelle.
+ `$AR_M_SOURCE_COLUMN_NAME` – Der Name einer Spalte in der Quelltabelle.
+ `$AR_M_SOURCE_COLUMN_DATATYPE` – Der Datentyp einer Spalte in der Quelltabelle.

**Example des Hinzufügens einer Spalte für einen Schemanamen unter Verwendung des Schemanamens aus der Quelle**  
Im folgenden Beispiel wird dem Ziel eine neue Spalte mit dem Namen `schema_name` hinzugefügt, indem der Schemaname aus der Quelle verwendet wird.  

```
  {
      "rule-type": "transformation",
      "rule-id": "2",
      "rule-name": "2",
      "rule-action": "add-column",
      "rule-target": "column",
      "object-locator": {
        "schema-name": "%",
        "table-name": "%"
      },
      "rule-action": "add-column",
      "value":"schema_name",
      "expression": "$AR_M_SOURCE_SCHEMA", 
      "data-type": { 
         "type": "string",
         "length": 50
      }
  }
```

# Regeln und Operationen für Tabellen- und Sammlungseinstellungen
<a name="CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Tablesettings"></a>

Mit den Tabelleneinstellungen können Sie alle Einstellungen angeben, die Sie auf die ausgewählte Tabelle oder Ansicht für eine bestimmte Operation anwenden möchten. Regeln für Tabelleneinstellungen sind optional, je nach Endpunkt- und Migrationsanforderungen. 

Anstelle des Konzepts von Tabellen und Ansichten speichern MongoDB- und Amazon-DocumentDB-Datenbanken Datensätze als Dokumente, die in *Sammlungen* zusammengefasst werden. Eine einzelne Datenbank für einen MongoDB- oder Amazon-DocumentDB-Endpunkt ist ein bestimmter Satz von Sammlungen, die durch den Datenbanknamen identifiziert werden. 

Bei der Migration von einer MongoDB- oder Amazon-DocumentDB-Quelle arbeiten Sie etwas anders mit den Einstellungen für paralleles Laden. In diesem Fall sollten Sie den Typ „Autosegmentierung“ oder „Bereichssegmentierung“ der Einstellungen für paralleles Laden für ausgewählte Sammlungen und nicht für Tabellen und Ansichten in Betracht ziehen.

**Topics**
+ [Platzhalter in Tabelleneinstellungen sind eingeschränkt](#CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Tablesettings.Wildcards)
+ [Verwendung des parallelen Ladens für ausgewählte Tabellen und Ansichten](#CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Tablesettings.ParallelLoad)
+ [Angeben von LOB-Einstellungen für eine ausgewählte Tabelle oder Ansicht](#CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Tablesettings.LOB)
+ [Beispiele für Tabelleneinstellungen](#CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Tablesettings.Examples)

Für Termersetzungsregeln, die den Tabelleneinstellungsregeltyp geändert haben, können Sie die folgenden Parameter verwenden. 

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Tablesettings.html)

## Platzhalter in Tabelleneinstellungen sind eingeschränkt
<a name="CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Tablesettings.Wildcards"></a>

Die Verwendung des Prozent-Platzhalters (`"%"`) in-`"table-settings"` Regeln wird für Quelldatenbanken nicht unterstützt, wie im Folgenden dargestellt.

```
{
    "rule-type": "table-settings",
    "rule-id": "8",
    "rule-name": "8",
    "object-locator": {
        "schema-name": "ipipeline-prod",            
        "table-name": "%"
    },
    "parallel-load": {
        "type": "partitions-auto",
        "number-of-partitions": 16,
        "collection-count-from-metadata": "true",
        "max-records-skip-per-page": 1000000,
        "batch-size": 50000
    }
  }
```

Wenn Sie die `"table-settings"` Regeln wie abgebildet verwenden`"%"`, wird die folgende Ausnahme AWS DMS zurückgegeben.

```
Error in mapping rules. Rule with ruleId = x failed validation. Exact 
schema and table name required when using table settings rule.
```

 AWS Empfiehlt außerdem, nicht eine große Anzahl großer Sammlungen mithilfe einer einzigen Aufgabe mit zu laden`parallel-load`. Beachten Sie, dass von AWS DMS der Ressourcenkonflikt sowie die Anzahl der parallel geladenen Segmente um den Wert des Parameters `MaxFullLoadSubTasks` für die Aufgabeneinstellungen begrenzt wird, wobei der Höchstwert 49 beträgt. 

Geben Sie stattdessen alle Sammlungen für Ihre Quelldatenbank für die größten Sammlungen an, indem Sie sie `"schema-name"` und `"table-name"` einzeln angeben. Skalieren Sie Ihre Migration außerdem korrekt. Führen Sie beispielsweise mehrere Aufgaben auf einer ausreichenden Anzahl von Replikations-Instances aus, um eine große Anzahl großer Sammlungen in Ihrer Datenbank zu verwalten.

## Verwendung des parallelen Ladens für ausgewählte Tabellen und Ansichten
<a name="CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Tablesettings.ParallelLoad"></a>

Um die Migration zu beschleunigen und effizienter zu gestalten, können Sie für ausgewählte Tabellen, Ansichten und Sammlungen die parallele Ladung verwenden. Mit anderen Worten: Sie können eine einzelne segmentierte Tabelle, Ansicht oder Sammlung mit mehreren Threads parallel migrieren. Zu diesem Zweck AWS DMS teilt eine Vollladeaufgabe in Threads auf, wobei jedes Tabellensegment einem eigenen Thread zugewiesen wird. 

Mit diesem parallelen Ladevorgang können mehrere Threads mehrere Tabellen, Ansichten und Sammlungen vom Quellendpunkt entladen. Anschließend können Sie mehrere Threads migrieren und die gleichen Tabellen, Ansichten und Sammlungen parallel auf den Zielendpunkt laden. Bei einigen Datenbank-Engines können Sie die Tabellen und Ansichten nach vorhandenen Partitionen oder Unterpartitionen aufteilen. Für andere Datenbank-Engines können Sie Sammlungen AWS DMS automatisch nach bestimmten Parametern segmentieren lassen (Autosegmentierung). Andernfalls können Sie jede Tabelle, Ansicht oder Sammlung nach den von Ihnen angegebenen Spaltenwertbereichen segmentieren.

Paralleles Laden wird für die folgenden Quellendpunkte unterstützt:
+ Oracle
+ Microsoft SQL Server
+ MySQL
+ PostgreSQL
+ IBM Db2 (LUW)
+ SAP Adaptive Server Enterprise (ASE)
+ MongoDB (unterstützt nur die Optionen Autosegmentierung und Bereichssegmentierung einer parallelen Volllast)
+ Amazon DocumentDB (unterstützt nur die Optionen Autosegmentierung und Bereichssegmentierung einer parallel Volllast)

 AWS DMS Unterstützt für MongoDB- und Amazon DocumentDB DocumentDB-Endpoints die folgenden Datentypen für Spalten, die Partitionsschlüssel für die Bereichssegmentierungsoption einer parallel Volllast sind.
+ Double
+ Zeichenfolge
+ ObjectId
+ 32-Bit-Ganzzahl
+ 64-Bit-Ganzzahl

Das parallele Laden zur Verwendung mit Tabelleneinstellungsregeln wird für die folgenden Zielendpunkte unterstützt:
+ Oracle
+ Microsoft SQL Server
+ MySQL
+ PostgreSQL
+ Amazon S3
+ SAP Adaptive Server Enterprise (ASE)
+ Amazon Redshift
+ MongoDB (unterstützt nur die Optionen Autosegmentierung und Bereichssegmentierung einer parallelen Volllast)
+ Amazon DocumentDB (unterstützt nur die Optionen Autosegmentierung und Bereichssegmentierung einer parallel Volllast)
+ Db2 LUW

Verwenden Sie die `MaxFullLoadSubTasks`-Aufgabeneinstellung, um die maximale Anzahl an Tabellen und Ansichten anzugeben, die parallel geladen werden.

Um die maximale Anzahl von Threads pro Tabelle oder Ansicht für die unterstützten Ziele einer Aufgabe zum parallelen Laden anzugeben, definieren Sie mehr Segmente mithilfe von Spaltenwertgrenzen.

**Wichtig**  
`MaxFullLoadSubTasks` steuert die Anzahl der Tabellen oder Tabellensegmente, die parallel geladen werden sollen. `ParallelLoadThreads` steuert die Anzahl der Threads, die von einer Migrationsaufgabe verwendet werden, um die Lasten parallel auszuführen. *Diese Einstellungen sind multiplikativ*. Daher ist die Gesamtzahl der Threads, die während einer Vollast-Aufgabe verwendet werden, ungefähr das Ergebnis des Werts `ParallelLoadThreads ` multipliziert mit dem Wert von `MaxFullLoadSubTasks` (`ParallelLoadThreads` **\$1** `MaxFullLoadSubtasks)`.  
Wenn Sie Aufgaben mit einer hohen Anzahl von Volllast-Unteraufgaben und einer hohen Anzahl von parallelen Lade-Threads erstellen, kann Ihre Aufgabe zu viel Speicher verbrauchen und fehlschlagen.

Um die maximale Anzahl von Threads pro Tabelle für Amazon DynamoDB-, Amazon-Kinesis-Data-Streams-, Apache-Kafka- oder Amazon-Elasticsearch-Ziele anzugeben, verwenden Sie die Zielmetadaten-Aufgabeneinstellung `ParallelLoadThreads`.

Sie geben die Puffergröße für eine Aufgabe zum parallelen Laden bei Verwendung von `ParallelLoadThreads` mithilfe der Zielmetadaten-Aufgabeneinstellung `ParallelLoadBufferSize` an.

Die Verfügbarkeit von `ParallelLoadThreads` und `ParallelLoadBufferSize` sowie deren Einstellungen hängen vom Ziel-Endpunkt ab. 

Weitere Informationen zu den Einstellungen `ParallelLoadThreads` und `ParallelLoadBufferSize` finden Sie unter [Ziel-Metadaten-Aufgabeneinstellungen](CHAP_Tasks.CustomizingTasks.TaskSettings.TargetMetadata.md). Weitere Informationen zur `MaxFullLoadSubTasks`-Einstellung finden Sie unter [Aufgabeneinstellungen für vollständiges Laden](CHAP_Tasks.CustomizingTasks.TaskSettings.FullLoad.md). Weitere Informationen zu den Zielendpunkten finden Sie unter den entsprechenden Themen.

Wenn Sie paralleles Laden verwenden möchten, können Sie mit der `parallel-load`-Option eine Tabellenzuweisungsregel des Typs `table-settings` angeben. In der `table-settings`-Regel können Sie die Segmentierungskriterien für eine einzelne Tabelle, Ansicht oder Sammlung, die parallel geladen werden soll, angeben. Um dies zu tun, setzen Sie den `type`-Parameter der `parallel-load`-Option auf eine der verschiedenen Optionen. 

Wie Sie dies tun, hängt davon ab, wie Sie die Tabelle, Ansicht oder Sammlung für das parallele Laden segmentieren möchten.
+ Nach Partitionen (oder Segmenten) – Alle vorhandenen Tabellen- oder Ansichtspartitionen (oder Segmente) werden mithilfe des `partitions-auto`-Typs geladen. Oder Laden nur ausgewählter Partitionen mithilfe des `partitions-list`-Typs mit einem angegebenen Partitionen-Array.

  Nur für MongoDB- und Amazon DocumentDB DocumentDB-Endpoints laden Sie alle oder bestimmte Sammlungen nach Segmenten, die AWS DMS automatisch auch unter Verwendung des `partitions-auto` Typs und zusätzlicher optionaler Parameter berechnet werden. `table-settings`
+ (Nur Oracle-Endpunkte) Nach Unterpartitionen – Laden alle vorhandenen Tabellen- oder Ansichtsunterpartitionen mithilfe des `subpartitions-auto`-Typs. Oder Laden nur ausgewählter Unterpartitionen mithilfe des `partitions-list`-Typs mit einem `subpartitions`-Array.
+ Nach Segmenten, die Sie definieren – Laden von Ihnen definierter Tabellen-, Ansichts- oder Sammlungssegmente mithilfe von Spalte-Wert-Grenzen. Um dies zu tun, verwenden Sie den `ranges`-Typ mit angegebenen `columns`- und `boundaries`-Arrays.
**Anmerkung**  
PostgreSQL-Endpunkte unterstützen nur diese Art paralleler Ladevorgänge. MongoDB und Amazon DocumentDB als Quellendpunkte unterstützen sowohl diesen Bereichssegmentierungstyp als auch den Autosegmentierungstyp einer parallelen Volllast (`partitions-auto`).

Um weitere Tabellen, Ansichten oder Sammlungen zum parallelen Laden zu identifizieren, geben Sie zusätzliche `table-settings`-Objekte mit `parallel-load`-Optionen an. 

Die folgenden Verfahren beschreiben das Codieren von JSON für jeden parallelen Ladetyp, vom einfachsten zum kompliziertesten.

**So geben Sie alle Tabellen-, Ansichts- oder Sammlungspartitionen oder alle Tabellen- oder Ansichts-Unterpartitionen an**
+ Geben Sie `parallel-load` entweder mit dem `partitions-auto`-Typ oder dem `subpartitions-auto`-Typ an (aber nicht mit beiden). 

  Jede Tabellen-, Ansichts- oder Sammlungspartition oder -unterpartition wird dann automatisch einem eigenen Thread zugeordnet.

  Bei manchen Endpunkten beinhaltet das parallele Laden nur dann Partitionen oder Unterpartitionen nur, wenn sie bereits für die Tabelle oder Ansicht definiert sind. Für MongoDB- und Amazon DocumentDB DocumentDB-Quellendpunkte können Sie die Partitionen (oder Segmente) anhand optionaler zusätzlicher Parameter AWS DMS automatisch berechnen lassen. Dies sind beispielsweise `number-of-partitions`, `collection-count-from-metadata`, `max-records-skip-per-page` und `batch-size`.

**So geben Sie ausgewählte Tabellen- oder Ansichtspartitionen, -unterpartitionen oder beides an:**

1. Geben Sie `parallel-load` mit dem `partitions-list`-Typ an.

1. (Optional) Fügen Sie Partitionen ein, indem Sie ein Array von Partitionsnamen als den Wert für `partitions` angeben.

   Jede angegebene Partition wird dann einem eigenen Thread zugeordnet.
**Wichtig**  
Stellen Sie bei Oracle-Endpunkten sicher, dass sich Partitionen und Unterpartitionen nicht überlappen, wenn Sie sie für das parallele Laden auswählen. Wenn Sie überlappende Partitionen und Unterpartitionen verwenden, um Daten parallel zu laden, werden Einträge dupliziert oder der Vorgang schlägt aufgrund einer Verletzung der Primärschlüssel-Duplikat-Regel fehl. 

1. (Optional, nur für Oracle-Endpunkte) Fügen Sie Unterpartitionen ein, indem Sie ein Array von Unterpartitionsnamen als den Wert für `subpartitions` angeben.

   Jede angegebene Unterpartition wird dann einem eigenen Thread zugeordnet.
**Anmerkung**  
Paralleles Laden enthält Partitionen oder Unterpartitionen nur, wenn sie bereits für die Tabelle oder Ansicht definiert sind.

Sie können Tabellen- oder Ansichtssegmente als Bereiche von Spaltenwerten angeben. Wenn Sie dies tun, achten Sie auf diese Spalteneigenschaften:
+ Die Angabe indizierter Spalten verbessert die Leistung erheblich.
+ Sie können bis zu 10 Spalten angeben.
+ Sie können keine Spalten verwenden, um Segmentgrenzen mit den folgenden AWS DMS Datentypen zu definieren: DOUBLE, FLOAT, BLOB, CLOB und NCLOB
+ Datensätze mit Nullwerten werden nicht repliziert.

**So geben Sie Tabellen-, Ansichts- oder Sammlungssegmente als Bereiche von Spaltenwerten an**

1. Geben Sie `parallel-load` mit dem `ranges`-Typ an.

1. Definieren Sie eine Begrenzung zwischen Tabellen- oder Ansichtssegmenten, indem Sie ein Array von Tabellenspaltennamen als den Wert für `columns` angeben. Wiederholen Sie diese Schritte für jede Spalte, für die Sie eine Begrenzung zwischen Tabellen- oder Ansichtssegmenten definieren möchten. 

   Beachten Sie, dass die Reihenfolge der Spalten von Bedeutung ist. Dabei ist die erste Spalte bei der Definition jeder Begrenzung am wichtigsten und die letzte Spalte ist am unwichtigsten. Einzelheiten dazu finden Sie in den folgenden Schritten und Abschnitten.

1. Definieren Sie die Datenbereiche für alle Tabellen- oder Ansichtssegmente durch Angabe eines Begrenzungsarrays als Wert für `boundaries`. Bei einem *Begrenzungsarray* handelt es sich um ein Array mit Spalte-Wert-Arrays. Führen Sie dazu die folgenden Schritte aus:

   1. Geben Sie jedes Element eines Spalte-Wert-Arrays als Wert an, der jeder Spalte entspricht. Dabei stellt jedes *Spalte-Wert-Array* die obere Grenze für jedes Tabellen- oder Ansichtssegment dar, das Sie definieren möchten: Geben Sie jede Spalte in der gleichen Reihenfolge an, in der Sie diese Spalte in dem `columns`-Array angegeben haben.

      Geben Sie Werte für DATE-Spalten in dem von der Quelle unterstützten Format an.

   1. Geben Sie jedes Array mit Spaltenwerten der Reihe nach als obere Grenze für jedes Segment vom unteren zum Segment der Tabelle oder Ansicht an. next-to-top Wenn Zeilen oberhalb der von Ihnen angegebenen oberen Grenze vorhanden sind, stellend diese Zeilen die oberen Segment der Tabelle oder Ansicht dar. Damit ist die Anzahl der bereichsbasierten Segmente potentiell eins höher, als die Anzahl der Segmentgrenzen im Grenz-Array. Jedes dieser bereichsbasierten Segmente wird einem eigenen Thread zugeordnet.

      Alle Tabellendaten, die nicht Null sind, werden repliziert. Dies gilt auch, wenn Sie nicht für alle Spalten in der Tabelle oder Ansicht Datenbereiche definieren.

   Nehmen wir beispielsweise an, Sie definieren drei Spaltenwert-Arrays für Spalten COL1,, COL2 und wie folgt. COL3     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Tablesettings.html)

   Sie haben drei Segmentgrenzen für einen möglichen Gesamtwert von vier Segmenten definiert.

   Um die Bereiche der für jedes Segment zu replizierenden Zeilen zu identifizieren, wendet die Replikations-Instance einen Suchalgorithmus auf diese drei Spalten für jedes der vier Segmente an. Die Suche sieht wie folgt aus:  
**Segment 1**  
Replizieren Sie alle Zeilen, in denen Folgendes zutrifft: Die ersten Werte mit zwei Spalten sind kleiner oder gleich den entsprechenden Werten für die Obergrenze für **Segment 1**. Außerdem sind die Werte der dritten Spalte kleiner als der Wert der Obergrenze für **Segment 1** .  
**Segment 2**  
Replizieren Sie alle Zeilen (außer **Segment 1**-Zeilen), wobei Folgendes zutrifft: Die ersten Werte mit zwei Spalten sind kleiner oder gleich den entsprechenden Werten für die Obergrenze für **Segment 2**. Außerdem sind die Werte der dritten Spalte kleiner als der Wert der Obergrenze für **Segment 2** .  
**Segment 3**  
Replizieren Sie alle Zeilen (außer **Segment 2**-Zeilen), wobei Folgendes zutrifft: Die ersten Werte mit zwei Spalten sind kleiner oder gleich den entsprechenden Werten für die Obergrenze für **Segment 3**. Außerdem sind die Werte der dritten Spalte kleiner als der Wert für den oberen Grenzwert für **Segment 3** .  
**Segment 4**  
Replizieren Sie alle verbleibenden Zeilen (außer den Zeilen **Segment 1, 2 und 3**).

   In diesem Fall erstellt die Replikations-Instance wie folgt eine `WHERE`-Klausel zum Laden jedes Segment:  
**Segment 1**  
`((COL1 < 10) OR ((COL1 = 10) AND (COL2 < 30)) OR ((COL1 = 10) AND (COL2 = 30) AND (COL3 < 105)))`  
**Segment 2**  
`NOT ((COL1 < 10) OR ((COL1 = 10) AND (COL2 < 30)) OR ((COL1 = 10) AND (COL2 = 30) AND (COL3 < 105))) AND ((COL1 < 20) OR ((COL1 = 20) AND (COL2 < 20)) OR ((COL1 = 20) AND (COL2 = 20) AND (COL3 < 120)))`  
**Segment 3**  
`NOT ((COL1 < 20) OR ((COL1 = 20) AND (COL2 < 20)) OR ((COL1 = 20) AND (COL2 = 20) AND (COL3 < 120))) AND ((COL1 < 100) OR ((COL1 = 100) AND (COL2 < 12)) OR ((COL1 = 100) AND (COL2 = 12) AND (COL3 < 99)))`  
**Segment 4**  
`NOT ((COL1 < 100) OR ((COL1 = 100) AND (COL2 < 12)) OR ((COL1 = 100) AND (COL2 = 12) AND (COL3 < 99)))`

## Angeben von LOB-Einstellungen für eine ausgewählte Tabelle oder Ansicht
<a name="CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Tablesettings.LOB"></a>

Sie können die LOB-Aufgabeneinstellungen für eine oder mehrere Tabellen einrichten, indem Sie eine Tabellenzuordnungsregel des Typs `table-settings` mit der `lob-settings`-Option für ein oder mehrere `table-settings`-Objekte erstellen. 

Das Angeben von LOB-Einstellungen für ausgewählte Tabellen oder Ansichten wird für die folgenden Quell-Endpunkte unterstützt:
+ Oracle
+ Microsoft SQL Server
+ MySQL
+ PostgreSQL
+ IBM Db2, abhängig von den `mode`- und `bulk-max-size`-Einstellungen, wie im Folgenden beschrieben
+ SAP Adaptive Server Enterprise (ASE), abhängig von den `mode`-und `bulk-max-size`-Einstellungen, wie im Folgenden beschrieben

Das Angeben von LOB-Einstellungen für ausgewählte Tabellen oder Ansichten wird für die folgenden Zielendpunkte unterstützt:
+ Oracle
+ Microsoft SQL Server
+ MySQL
+ PostgreSQL
+ SAP ASE, je nach den `mode`- und `bulk-max-size`-Einstellungen, wie im Folgenden beschrieben

**Anmerkung**  
Sie können LOB-Datentypen nur mit Tabellen und Ansichten verwenden, die einen Primärschlüssel enthalten.

Wenn Sie LOB-Einstellungen für eine ausgewählte Tabelle oder Ansicht verwenden möchten, erstellen Sie eine Tabellenzuweisungsregel des Typs `table-settings` mit der `lob-settings`-Option. Damit wird die LOB-Behandlung für die Tabelle oder Ansicht angegeben, die von der `object-locator`-Option identifiziert wird. In der `table-settings`-Regel können Sie mit den folgenden Parametern ein `lob-settings`-Objekt angeben:
+ `mode` – Gibt den Mechanismus für die Behandlung der LOB-Migration für die ausgewählte Tabelle oder Ansicht wie folgt an: 
  + `limited` – Der eingeschränkte LOB-Standardmodus ist der schnellste und effizienteste Modus. Verwenden Sie diesen Modus nur, wenn Sie alle klein LOBs sind (innerhalb von 100 MB) oder wenn der Zielendpunkt keine unbegrenzte LOB-Größe unterstützt. Auch wenn Sie ihn verwenden`limited`, LOBs müssen alle innerhalb der von Ihnen festgelegten Größe liegen. `bulk-max-size` 

    In diesem Modus migriert die Replikationsinstanz bei einer Aufgabe mit vollständigem Laden alle LOBs Inline-Daten zusammen mit anderen Spaltendatentypen als Teil des Haupttabellen- oder View-Speichers. Die Instance kürzt allerdings jedes LOB, das größer als Ihr `bulk-max-size`-Wert ist, auf die angegebene Größe. Bei einer CDC-Ladeaufgabe (Change Data Capture) migriert die Instanz alle Daten LOBs mithilfe einer Quelltabellensuche, wie im standardmäßigen vollständigen LOB-Modus (siehe unten).
**Anmerkung**  
Sie können Ansichten nur für Full-Load-Aufgaben migrieren.
  + `unlimited` – Der Migrationsmechanismus für den vollständigen LOB-Modus hängt von dem Wert ab, den Sie wie folgt für `bulk-max-size` festgelegt haben:
    + **Vollständiger Standard-LOB-Modus** — Wenn Sie den Wert `bulk-max-size` auf Null setzen, migriert die Replikationsinstanz alle LOBs Daten im vollständigen LOB-Standardmodus. Dieser Modus erfordert eine Suche in der Quelltabelle oder -ansicht, um jedes LOB unabhängig von seiner Größe zu migrieren. Dies führt in der Regel zu einer sehr viel langsameren Migration als im eingeschränkten LOB-Modus. Verwenden Sie diesen Modus nur, wenn alle oder die meisten Ihrer Geräte groß LOBs sind (1 GB oder mehr).
    + **Vollständiger LOB-Kombinationsmodus** – Wenn Sie `bulk-max-size` auf einen Wert ungleich Null festlegen, verwendet dieser vollständige LOB-Modus eine Kombination aus eingeschränktem LOB-Modus und vollständigem LOB-Standardmodus. Das heißt, wenn eine LOB-Größe innerhalb Ihres `bulk-max-size`-Werts liegt, migriert die Instance das LOB inline wie im eingeschränkten LOB-Modus. Wenn die LOB-Größe diesen Wert übersteigt, migriert die Instance das LOB mithilfe einer Quelltabellen- oder Quellansichtssuche wie im vollständigen LOB-Standardmodus. Bei einer CDC-Ladeaufgabe (Change Data Capture) migriert die Instance alle Daten LOBs mithilfe einer Quelltabellensuche, wie im standardmäßigen vollständigen LOB-Modus (siehe unten). Dies geschieht unabhängig von der LOB-Größe.
**Anmerkung**  
Sie können Ansichten nur für Full-Load-Aufgaben migrieren.

      Dieser Modus resultiert in einem Kompromiss bei der Migrationsgeschwindigkeit. Sie liegt zwischen dem schnelleren eingeschränkten LOB-Modus und dem langsameren vollständigen LOB-Standardmodus. Verwenden Sie diesen Modus nur, wenn Sie eine Mischung aus Klein und Groß LOBs haben und die LOBs meisten davon klein sind.

      Dieser kombinierte vollständige LOB-Modus ist nur verfügbar für die folgenden Endpunkte:
      + IBM Db2 als Quelle 
      + SAP ASE als Quelle oder Ziel

    Unabhängig vom Mechanismus, den Sie für den `unlimited` Modus angeben, migriert die Instanz LOBs vollständig, ohne Kürzung.
  + `none`— Die Replikationsinstanz migriert LOBs in der ausgewählten Tabelle oder Ansicht mithilfe Ihrer LOB-Einstellungen für die Aufgabe. Sie können diese Option verwenden, um Migrationsergebnisse mit und ohne LOB-Einstellungen besonders für die ausgewählte Tabelle oder Ansicht zu vergleichen.

  Wenn die angegebene Tabelle oder Ansicht in der Replikation LOBs enthalten ist, können Sie die `BatchApplyEnabled` Task-Einstellung auf „`true`Nur bei Verwendung des `limited` LOB-Modus“ festlegen. 

  In einigen Fällen könnten Sie `BatchApplyEnabled` auf `true` und `BatchApplyPreserveTransaction` auf `false` setzen. In diesen Fällen wird für die Instanz festgelegt, `true` ob `BatchApplyPreserveTransaction` es sich bei der Tabelle oder Ansicht um Oracle handelt LOBs und ob es sich bei den Quell- und Zielendpunkten um Oracle handelt.
+ `bulk-max-size` – Legen Sie diesen Wert in Kilobyte auf Null oder ungleich Null fest. Dies ist, wie bereits für vorherige Elemente beschrieben, vom `mode` abhängig. Im `limited`-Modus müssen Sie für diesen Parameter einen Wert ungleich Null setzen.

  Die Instanz wird in das Binärformat LOBs konvertiert. Aus diesem Grund multiplizieren Sie die Größe der größten LOBs, die Sie replizieren müssen, mit drei. Beispiel: Wenn Ihr größtes LOB 2 MB groß ist, legen Sie `bulk-max-size` auf 6.000 (6 MB) fest.

## Beispiele für Tabelleneinstellungen
<a name="CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Tablesettings.Examples"></a>

Im Folgenden finden Sie einige Beispiele, die die Verwendung der Tabelleneinstellungen illustrieren.

**Example Laden einer nach Partitionen segmentierten Tabelle**  
Im folgenden Beispiel wird eine `SALES`-Tabelle effizienter in Ihre Quelle geladen, indem basierend auf allen Partitionen sie parallel geladen wird.  

```
{
   "rules": [{
            "rule-type": "selection",
            "rule-id": "1",
            "rule-name": "1",
            "object-locator": {
                "schema-name": "%",
                "table-name": "%"
            },
            "rule-action": "include"
        },
        {
            "rule-type": "table-settings",
            "rule-id": "2",
            "rule-name": "2",
            "object-locator": {
                "schema-name": "HR",
                "table-name": "SALES"
            },
            "parallel-load": {
                "type": "partitions-auto"
            }
        }
     ]
}
```

**Example Laden einer nach Unterpartitionen segmentierten Tabelle**  
Im folgenden Beispiel wird eine `SALES`-Tabelle effizienter in Ihre Oracle-Quelle geladen, indem sie auf allen Unterpartitionen parallel geladen wird.  

```
{
   "rules": [{
            "rule-type": "selection",
            "rule-id": "1",
            "rule-name": "1",
            "object-locator": {
                "schema-name": "%",
                "table-name": "%"
            },
            "rule-action": "include"
        },
        {
            "rule-type": "table-settings",
            "rule-id": "2",
            "rule-name": "2",
            "object-locator": {
                "schema-name": "HR",
                "table-name": "SALES"
            },
            "parallel-load": {
                "type": "subpartitions-auto"
            }
        }
     ]
}
```

**Example Laden einer segmentierten Tabelle entsprechend einer Partitionsliste**  
Im folgenden Beispiel wird eine `SALES`-Tabelle in Ihre Quelle geladen, indem sie entsprechend einer bestimmten Partitionsliste parallel geladen wird. Hier werden die angegebenen Partitionen nach Werten benannt, beginnend mit Teilen des englischen Alphabets, z. B. `ABCD`, `EFGH` usw.   

```
{
    "rules": [{
            "rule-type": "selection",
            "rule-id": "1",
            "rule-name": "1",
            "object-locator": {
                "schema-name": "%",
                "table-name": "%"
            },
            "rule-action": "include"
        },
        {
            "rule-type": "table-settings",
            "rule-id": "2",
            "rule-name": "2",
            "object-locator": {
                "schema-name": "HR",
                "table-name": "SALES"
            },
            "parallel-load": {
                "type": "partitions-list",
                "partitions": [
                    "ABCD",
                    "EFGH",
                    "IJKL",
                    "MNOP",
                    "QRST",
                    "UVWXYZ"
                ]
            }
        }
    ]
}
```

**Example Laden einer segmentierten Oracle-Tabelle entsprechend einer ausgewählten Liste mit Partitionen und Unterpartitionen**  
Im folgenden Beispiel wird eine `SALES`-Tabelle in Ihre Oracle-Quelle geladen, indem sie entsprechend einer ausgewählten Liste mit Partitionen und Unterpartitionen parallel geladen wird. Hier werden die angegebenen Partitionen nach Werten benannt, beginnend mit Teilen des englischen Alphabets, z. B. `ABCD`, `EFGH` usw. Die angegebenen Unterpartitionen sind nach mit Zahlen beginnenden Werten benannt, z. B. `01234` und `56789`.  

```
{
    "rules": [{
            "rule-type": "selection",
            "rule-id": "1",
            "rule-name": "1",
            "object-locator": {
                "schema-name": "%",
                "table-name": "%"
            },
            "rule-action": "include"
        },
        {
            "rule-type": "table-settings",
            "rule-id": "2",
            "rule-name": "2",
            "object-locator": {
                "schema-name": "HR",
                "table-name": "SALES"
            },
            "parallel-load": {
                "type": "partitions-list",
                "partitions": [
                    "ABCD",
                    "EFGH",
                    "IJKL",
                    "MNOP",
                    "QRST",
                    "UVWXYZ"
                ],
                "subpartitions": [
                    "01234",
                    "56789"
                ]
            }
        }
    ]
}
```

**Example Laden einer durch Spaltenwertbereiche segmentierten Tabelle**  
Im folgenden Beispiel wird eine `SALES`-Tabelle in Ihre Quelle geladen, indem sie nach den durch Bereich der `SALES_NO`- und `REGION`-Spaltenwerte angegebenen Segmente parallel geladen wird.  

```
{
    "rules": [{
            "rule-type": "selection",
            "rule-id": "1",
            "rule-name": "1",
            "object-locator": {
                "schema-name": "%",
                "table-name": "%"
            },
            "rule-action": "include"
        },
        {
            "rule-type": "table-settings",
            "rule-id": "2",
            "rule-name": "2",
            "object-locator": {
                "schema-name": "HR",
                "table-name": "SALES"
            },
            "parallel-load": {
                "type": "ranges",
                "columns": [
                    "SALES_NO",
                    "REGION"
                ],
                "boundaries": [
                    [
                        "1000",
                        "NORTH"
                    ],
                    [
                        "3000",
                        "WEST"
                    ]
                ]
            }
        }
    ]
}
```
Hier werden zwei Spalten für die Segmentbereiche mit den Namen `SALES_NO` und `REGION` angegeben. Es werden zwei Grenzen mit den beiden Spaltenwertsätzen `["1000","NORTH"]` und `["3000","WEST"]` angegeben.  
Diese beiden Grenzen identifizieren somit die folgenden drei Tabellensegmente, die parallel geladen werden:    
Segment 1  
Zeilen mit `SALES_NO` kleiner oder gleich 1.000 und mit `REGION` kleiner als "NORTH" sind. Mit anderen Worten: Verkaufszahlen bis zu 1.000 in der EAST-Region.  
Segment 2  
Andere Zeilen als **Segment 1** mit `SALES_NO` kleiner oder gleich 3.000 und `REGION` kleiner als "WEST". Mit anderen Worten: Verkaufszahlen zwischen 1.000 und 3.000 in den Regionen „NORTH“ und „SOUTH“.  
Segment 3  
Alle verbleibenden Zeilen außer **Segment 1** und **Segment 2**. Mit anderen Worten: Verkaufszahlen über 3.000 in der WEST-Region.

**Example Laden von zwei Tabellen: Eine segmentiert nach Bereichen, die andere nach Partitionen**  
Das folgende Beispiel lädt eine `SALES`-Tabelle parallel nach Segmentgrenzen, die Sie identifizieren. Es lädt außerdem eine `ORDERS`-Tabelle parallel nach allen ihren Partitionen, wie in früheren Beispielen.  

```
{
    "rules": [{
            "rule-type": "selection",
            "rule-id": "1",
            "rule-name": "1",
            "object-locator": {
                "schema-name": "%",
                "table-name": "%"
            },
            "rule-action": "include"
        },
        {
            "rule-type": "table-settings",
            "rule-id": "2",
            "rule-name": "2",
            "object-locator": {
                "schema-name": "HR",
                "table-name": "SALES"
            },
            "parallel-load": {
                "type": "ranges",
                "columns": [
                    "SALES_NO",
                    "REGION"
                ],
                "boundaries": [
                    [
                        "1000",
                        "NORTH"
                    ],
                    [
                        "3000",
                        "WEST"
                    ]
                ]
            }
        },
        {
            "rule-type": "table-settings",
            "rule-id": "3",
            "rule-name": "3",
            "object-locator": {
                "schema-name": "HR",
                "table-name": "ORDERS"
            },
            "parallel-load": {
                "type": "partitions-auto" 
            }
        }
    ]
}
```

**Example Laden Sie eine Tabelle LOBs mithilfe der LOB-Einstellungen der Aufgabe**  
Im folgenden Beispiel wird eine `ITEMS` Tabelle in Ihre Quelle geladen, einschließlich aller LOBs, wobei die LOB-Einstellungen der Aufgabe verwendet werden. Die `bulk-max-size`-Einstellung von 100 MB wird ignoriert und nur für ein schnelles Zurücksetzen auf den `limited`- oder `unlimited`-Modus beibehalten.  

```
{
   "rules": [{
            "rule-type": "selection",
            "rule-id": "1",
            "rule-name": "1",
            "object-locator": {
                "schema-name": "%",
                "table-name": "%"
            },
            "rule-action": "include"
        },
        {
            "rule-type": "table-settings",
            "rule-id": "2",
            "rule-name": "2",
            "object-locator": {
                "schema-name": "INV",
                "table-name": "ITEMS"
            },
            "lob-settings": {
                "mode": "none",
                "bulk-max-size": "100000"
            }
        }
     ]
}
```

**Example Eine Tabelle im eingeschränkten LOBs LOB-Modus laden**  
Im folgenden Beispiel wird eine `ITEMS` Tabelle aus Ihrer Quelle LOBs im eingeschränkten LOB-Modus (Standard) mit einer maximalen Größe von 100 MB ohne Kürzung geladen. Alle Daten LOBs , die diese Größe überschreiten, werden auf 100 MB gekürzt. Alle LOBs werden zusammen mit allen anderen Spaltendatentypen geladen.  

```
{
   "rules": [{
            "rule-type": "selection",
            "rule-id": "1",
            "rule-name": "1",
            "object-locator": {
                "schema-name": "%",
                "table-name": "%"
            },
            "rule-action": "include"
        },
        {
            "rule-type": "table-settings",
            "rule-id": "2",
            "rule-name": "2",
            "object-locator": {
                "schema-name": "INV",
                "table-name": "ITEMS"
            },
            "lob-settings": {
                "bulk-max-size": "100000"
            }
        }
     ]
}
```

**Example Laden Sie eine Tabelle im LOBs standardmäßigen vollständigen LOB-Modus**  
Im folgenden Beispiel wird eine `ITEMS` Tabelle in Ihre Quelle geladen, einschließlich aller Tabellen LOBs ohne Kürzung. Dabei wird der vollständige LOB-Standardmodus verwendet. Alle Daten LOBs, unabhängig von ihrer Größe, werden getrennt von anderen Datentypen geladen. Dabei wird nach jedem LOB in der Quelltabelle gesucht.  

```
{
   "rules": [{
            "rule-type": "selection",
            "rule-id": "1",
            "rule-name": "1",
            "object-locator": {
                "schema-name": "%",
                "table-name": "%"
            },
            "rule-action": "include"
        },
        {
            "rule-type": "table-settings",
            "rule-id": "2",
            "rule-name": "2",
            "object-locator": {
                "schema-name": "INV",
                "table-name": "ITEMS"
            },
            "lob-settings": {
                "mode": "unlimited",
                "bulk-max-size": "0"
            }
        }
     ]
}
```

**Example Lädt eine Tabelle LOBs mithilfe der Kombination im vollständigen LOB-Modus**  
Im folgenden Beispiel wird eine `ITEMS` Tabelle in Ihre Quelle geladen, einschließlich aller Tabellen LOBs ohne Kürzung. Dabei wird der kombinierte vollständige LOB-Modus verwendet. Alle Daten mit LOBs einer Größe von bis zu 100 MB werden zusammen mit anderen Datentypen inline geladen, wie im eingeschränkten LOB-Modus. Alle Daten mit einer Größe von LOBs mehr als 100 MB werden getrennt von anderen Datentypen geladen. Dieser separate Ladevorgang verwendet eine Suche für jedes dieser LOB in der Quelltabelle, wie im standardmäßigen vollständigen LOB-Modus.  

```
{
   "rules": [{
            "rule-type": "selection",
            "rule-id": "1",
            "rule-name": "1",
            "object-locator": {
                "schema-name": "%",
                "table-name": "%"
            },
            "rule-action": "include"
        },
        {
            "rule-type": "table-settings",
            "rule-id": "2",
            "rule-name": "2",
            "object-locator": {
                "schema-name": "INV",
                "table-name": "ITEMS"
            },
            "lob-settings": {
                "mode": "unlimited",
                "bulk-max-size": "100000"
            }
        }
     ]
}
```

# Verwendung von Datenmaskierung zum Verbergen vertraulicher Informationen
<a name="CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Masking"></a>

Um sensible Daten zu verbergen, die in einer oder mehreren Spalten der zu migrierenden Tabellen gespeichert sind, können Sie die Aktionen der Transformationsregeln für die Datenmaskierung nutzen. Ab Version 3.5.4 ist die Verwendung von Transformationsregelaktionen für die Datenmaskierung bei der Tabellenzuordnung möglich, sodass Sie den Inhalt einer oder mehrerer Spalten während des Migrationsprozesses ändern können. AWS DMS AWS DMS lädt die geänderten Daten in die Zieltabellen.

AWS Database Migration Service bietet drei Optionen für Aktionen der Transformationsregel zur Datenmaskierung:
+ Datenmaskierung: Ziffernmaske
+ Datenmaskierung: Ziffern werden nach dem Zufallsprinzip sortiert
+ Datenmaskierung: Hashing-Maske

Diese Aktionen für Transformationsregeln zur Datenmaskierung können in der Tabellenzuordnung Ihrer Replikationsaufgabe konfiguriert werden, ähnlich wie bei anderen Transformationsregeln. Das Regelziel sollte auf Spaltenebene festgelegt werden.

## Maskierung von Zahlen in Spaltendaten mit einem Maskierungszeichen
<a name="CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Masking.Numbers"></a>

Mit der Transformationsregelaktion „Datenmaskierung: Ziffernmaske“ können Sie numerische Daten in einer oder mehreren Spalten maskieren, indem Sie Ziffern durch ein einzelnes druckbares ASCII-Zeichen ersetzen, das Sie angeben (ohne Leerzeichen oder Leerzeichen).

Hier ist ein Beispiel, das alle Ziffern in der `cust_passport_no` Spalte der `customer_master` Tabelle mit dem Maskierungszeichen maskiert `'#'` und die maskierten Daten in die Zieltabelle lädt:

```
                {
    "rules": [
        {
            "rule-type": "selection",
            "rule-id": "1",
            "rule-name": "1",
            "object-locator": {
                "schema-name": "cust_schema",
                "table-name": "%"
            },
            "rule-action": "include"
        },
        {
            "rule-type": "transformation",
            "rule-id": "2",
            "rule-name": "2",
            "rule-target": "column",
            "object-locator": {
                "schema-name": "cust_schema",
                "table-name": "customer_master",
                "column-name": "cust_passport_no"
            },
            "rule-action": "data-masking-digits-mask",
            "value": "#"
        }
    ]
}
```

Wenn die Spalte `cust_passport_no` in der Quelltabelle beispielsweise den Datensatz „C6 BGJ566669 K“ enthält, schreibt die AWS DMS Aufgabe diese Daten in die Zieltabelle als. `"C#BGJ######K"`

## Ersetzen von Zahlen in der Spalte durch Zufallszahlen
<a name="CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Masking.Random"></a>

Mit der Transformationsregel „Datenmaskierung: Randomize Digits“ können Sie jede numerische Ziffer in einer oder mehreren Spalten durch eine Zufallszahl ersetzen. AWS DMS Ersetzt im folgenden Beispiel jede Ziffer in der `cust_passport_no` Spalte der Quelltabelle `customer_master` durch eine Zufallszahl und schreibt die geänderten Daten in die Zieltabelle:

```
            {
    "rules": [
        {
            "rule-type": "selection",
            "rule-id": "1",
            "rule-name": "1",
            "object-locator": {
                "schema-name": "cust_schema",
                "table-name": "%"
            },
            "rule-action": "include"
        },
        {
            "rule-type": "transformation",
            "rule-id": "2",
            "rule-name": "2",
            "rule-target": "column",
            "object-locator": {
                "schema-name": "cust_schema",
                "table-name": "customer_master",
                "column-name": "cust_passport_no"
            },
            "rule-action": "data-masking-digits-randomize"
        }
    ]
}
```

Die AWS DMS Aufgabe transformiert beispielsweise den Wert `"C6BGJ566669K"` in der `cust_passport_no` Spalte der Quelltabelle in die Zieldatenbank `"C1BGJ842170K"` und schreibt ihn in die Zieldatenbank.

## Ersetzen von Spaltendaten durch einen Hashwert
<a name="CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Masking.Hash"></a>

Die Transformationsregel „Data Masking: Hashing Mask“ ermöglicht es Ihnen, die Spaltendaten durch einen mit dem Algorithmus generierten Hash zu ersetzen. `SHA256` Die Länge des Hashs wird immer 64 Zeichen betragen, daher sollte die Länge der Zieltabellenspalte mindestens 64 Zeichen betragen. Alternativ können Sie der Spalte eine `change-data-type` Transformationsregelaktion hinzufügen, um die Breite der Spalte in der Zieltabelle zu erhöhen.

Das folgende Beispiel generiert einen 64 Zeichen langen Hashwert für die Daten in der `cust_passport_no` Spalte der Quelltabelle `customer_master` und lädt die transformierten Daten in die Zieltabelle, nachdem die Spaltenlänge erhöht wurde:

```
{
"rules": [
{
"rule-type": "selection",
"rule-id": "1",
"rule-name": "1",
"object-locator": {
"schema-name": "cust_schema",
"table-name": "%"
},
"rule-action": "include"
},
{
"rule-type": "transformation",
"rule-id": "2",
"rule-name": "2",
"rule-target": "column",
"object-locator": {
"schema-name": "cust_schema",
"table-name": "customer_master",
"column-name": "cust_passport_no"
},
"rule-action": "change-data-type",
"data-type": {
"type": "string",
"length": "100",
"scale": ""
}
},
{
"rule-type": "transformation",
"rule-id": "3",
"rule-name": "3",
"rule-target": "column",
"object-locator": {
"schema-name": "cust_schema",
"table-name": "customer_master",
"column-name": "cust_passport_no"
},
"rule-action": "data-masking-hash-mask"
}
]
}
```

Wenn die Spalte `cust_passport_no` der Quelltabelle beispielsweise einen Wert enthält`“C6BGJ566669K”`, schreibt AWS DMS Task einen Hash in `“7CB06784764C9030CCC41E25C15339FEB293FFE9B329A72B5FED564E99900C75”` die Zieltabelle.

## Einschränkungen
<a name="CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Masking.Limitations"></a>
+ Jede Transformationsregeloption für Datenmaskierung wird nur für bestimmte AWS DMS Datentypen unterstützt:
  + Datenmaskierung: Die Ziffernmaske wird für Spalten der Datentypen unterstützt: `WSTRING` und. `STRING`
  + Datenmaskierung: Die Randomisierung von Ziffern wird für Spalten des Datentyps unterstützt: `WSTRING, STRING; NUMERIC, INT1, INT2, INT4, and INT8 ` mit vorzeichenlosen Gegenstücken.
  + Datenmaskierung: Hashing Mask wird für Spalten der Datentypen unterstützt: und. `WSTRING` `STRING`

  Weitere Informationen zur Zuordnung von AWS DMS Datentypen zu den Datentypen Ihrer Quell-Engine finden Sie in der Datentypzuordnung Ihrer Quell-Engine mit AWS DMS Datentypen. Siehe Quelldatentypen für [Quelldatentypen für Oracle](CHAP_Source.Oracle.md#CHAP_Source.Oracle.DataTypes)[Quelldatentypen für SQL Server](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.DataTypes),[Quelldatentypen für PostgreSQL](CHAP_Source.PostgreSQL.md#CHAP_Source-PostgreSQL-DataTypes), und[Quelldatentypen für MySQL](CHAP_Source.MySQL.md#CHAP_Source.MySQL.DataTypes).
+ Die Verwendung einer Datenmaskierungsregelaktion für eine Spalte mit einem inkompatiblen Datentyp führt zu einem Fehler in der DMS-Aufgabe. Informationen zum Verhalten DataMaskingErrorPolicy bei der Fehlerbehandlung finden Sie in den DMS-Aufgabeneinstellungen. Mehr über `DataMaskingErrorPolicy` erfahren Sie unter [Aufgabeneinstellungen zur Fehlerbehandlung](CHAP_Tasks.CustomizingTasks.TaskSettings.ErrorHandling.md).
+ Sie können eine change-data-type Transformationsregelaktion hinzufügen, um den Datentyp der Spalte in einen kompatiblen Typ zu ändern, falls Ihr Quellspaltentyp für die Maskierungsoption, die Sie verwenden möchten, nicht unterstützt wird. Die Zahl `rule-id` der `change-data-type` Transformation sollte kleiner als die Regel-ID der Maskierungstransformation sein, damit die Änderung des Datentyps vor der Maskierung erfolgt.
+ Verwenden Sie die Aktion Datenmaskierung: Hashing-Maske zum Maskieren von Primärschlüssel/Einzelschlüssel-/Fremdschlüsselspalten, da der generierte Hashwert eindeutig und konsistent sein wird. Die beiden anderen Maskierungsoptionen können die Einzigartigkeit nicht garantieren.
+ Datenmaskierung: Ziffernmaske und Datenmaskierung: Randomisierung von Ziffern wirken sich nur auf die Ziffern in den Spaltendaten aus und wirken sich nicht auf die Länge der Daten aus, während Datenmaskierung: Hashing Mask die gesamte Spalte modifiziert, die Datenlänge ändert sich auf 64 Zeichen. Daher sollte die Zieltabelle, die entsprechend erstellt werden soll, oder eine change-data-type Transformationsregel für die Spalte hinzugefügt werden, die maskiert wird.
+ Spalten, für die eine Transformationsregelaktion für die Datenmaskierung angegeben ist, sind von der Datenüberprüfung in ausgeschlossen. AWS DMS Wenn die Spalten Primärschlüssel/Eindeutiger Schlüssel maskiert sind, wird für diese Tabelle keine Datenüberprüfung ausgeführt. Der Validierungsstatus dieser Tabelle entspricht. `No Primary key`

# Verwenden von Quellfiltern
<a name="CHAP_Tasks.CustomizingTasks.Filters"></a>

Sie können Quellfilter verwenden, um Anzahl und Art der Datensätze zu beschränken, die von Ihrer Quelle auf Ihr Ziel übertragen werden. So können Sie beispielsweise festlegen, dass nur die am Hauptsitz ansässigen Angestellten in die Zieldatenbank übertragen werden. Filter sind Teil einer Auswahlregel. Sie wenden Filter auf eine Datenspalte an. 

Quellfilter müssen diese Einschränkungen befolgen:
+ Eine Auswahlregel kann keine Filter oder einen oder mehrere Filter haben.
+ Jeder Filter kann eine oder mehrere Filterbedingungen haben.
+ Wenn mehr als ein Filter verwendet wird, wird die Liste der Filter kombiniert, als ob die Filter mit einem UND-Operator verbunden wären.
+ Wenn mehr als eine Filterbedingung in einem einzigen Filter verwendet wird, wird die Liste der Filterbedingungen so kombiniert, als ob die Filterbedingungen mit einem ODER-Operator verbunden wären.
+ Filter werden nur angewendet, wenn `rule-action = 'include'`.
+ Filter erfordern einen Spaltennamen und eine Liste von Filterbedingungen. Filterbedingungen müssen einen Filteroperator enthalten, der je nach Operator einem Wert, zwei Werten oder keinem Wert zugeordnet ist.
+ Bei Spaltennamen, Tabellennamen, Ansichtsnamen und Schemanamen wird zwischen Groß- und Kleinschreibung unterschieden. Oracle und Db2 sollten immer GROSSBUCHSTABEN verwenden.
+ Filter unterstützen nur Tabellen mit exakten Namen. Filter unterstützen keine Platzhalter.

Die folgenden Einschränkungen gelten für die Verwendung von Quellfiltern:
+ Filter berechnen keine Spalten mit right-to-left Sprachen.
+ Wenden Sie keine Filter auf LOB-Spalten an.
+ Wenden Sie Filter nur auf *unveränderliche* Spalten an, die nach der Erstellung nicht aktualisiert werden. Wenn Quellfilter auf *veränderliche* Spalten angewendet werden, die nach der Erstellung aktualisiert werden können, kann es zu einem unerwünschten Verhalten kommen. 

  Ein Filter zum Ausschließen oder Einschließen bestimmter Zeilen in einer Spalte schließt die angegebenen Zeilen immer aus bzw. ein, selbst wenn die Zeilen später geändert werden. Angenommen, Sie schließen die Zeilen 1 bis 10 in Spalte A aus oder ein und später werden diese Zeilen geändert und werden zu den Zeilen 11 bis 20. In diesem Fall werden sie weiterhin aus- bzw. eingeschlossen, auch wenn die Daten nicht mehr identisch sind.

  Angenommen, eine Zeile außerhalb des Filters wird später aktualisiert (oder aktualisiert und gelöscht) und sollte dann wie vom Filter definiert aus- oder eingeschlossen werden. In diesem Fall erfolgt die Replikation am Ziel.

Bei der Verwendung von Quellfiltern gelten die folgenden zusätzlichen Bedenken:
+ Es wird empfohlen, einen Index mithilfe der in der Filterdefinition enthaltenen Spalten und des Primärschlüssels zu erstellen.

## Erstellen von Quellfilterregeln in JSON
<a name="CHAP_Tasks.CustomizingTasks.Filters.Applying"></a>

Sie können Quellfilter erstellen, indem Sie den JSON-Parameter `filters` einer Auswahlregel verwenden. Der `filters`-Parameter gibt ein Array von einem oder mehreren JSON-Objekten an. Jedes Objekt verfügt über Parameter, die den Quell-Filtertyp, Spaltennamen und die Filterbedingungen festlegen. Diese Filterbedingungen umfassen einen oder mehrere Filteroperatoren und Filterwerte. 

Die folgende Tabelle zeigt die Parameter, die Quellfilterung in einem `filters`-Objekt festlegen.


|  Parameter  |  Wert  | 
| --- | --- | 
|   `filter-type`   | source | 
|  `column-name`  |  Ein Parameter mit dem Namen der Quellspalte, auf die der Filter angewendet werden soll. Der Name berücksichtigt Groß- und Kleinschreibung.  | 
|  `filter-conditions`  | Ein Array von einem oder mehreren Objekten, die einen Parameter filter-operator und null oder mehr zugehörige Wertparameter enthalten, je nach Wert für filter-operator. | 
|  `filter-operator`  |  Ein Parameter mit einem der folgenden Werte: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.Filters.html)  | 
|  `value` oder `start-value` und `end-value` oder keine Werte  |  Null oder mehr Wertparameter, die mit `filter-operator` verknüpft sind: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.Filters.html)  | 

Die folgenden Beispiele zeigen einige gängige Möglichkeiten zur Nutzung von Quellfiltern.

**Example Einzelner Filter**  
Der folgende Filter repliziert alle Angestellten mit dem Wert `empid >= 100` in die Zieldatenbank.  

```
 {
     "rules": [{
         "rule-type": "selection",
         "rule-id": "1",
         "rule-name": "1",
         "object-locator": {
             "schema-name": "test",
             "table-name": "employee"
         },
         "rule-action": "include",
         "filters": [{
             "filter-type": "source",
             "column-name": "empid",
             "filter-conditions": [{
                "filter-operator": "gte",
                "value": "100"
             }]
         }]
     }]
 }
```

**Example Mehrere Filteroperatoren**  
Die folgenden Filter wenden mehrere Filteroperatoren auf eine einzelne Datenspalte an. Der folgende Filter repliziert alle Angestellten mit dem Wert `(empid <= 10)` ODER `(empid is between 50 and 75)` ODER `(empid >= 100)` in die Zieldatenbank.   

```
{
    "rules": [{
        "rule-type": "selection",
        "rule-id": "1",
        "rule-name": "1",
        "object-locator": {
            "schema-name": "test",
            "table-name": "employee"
        },
        "rule-action": "include",
        "filters": [{
            "filter-type": "source",
            "column-name": "empid",
            "filter-conditions": [{
                "filter-operator": "lte",
                "value": "10"
            }, {
                "filter-operator": "between",
                "start-value": "50",
                "end-value": "75"
            }, {
                "filter-operator": "gte",
                "value": "100"
            }]
        }]
    }]
}
```

**Example Mehrere Filter**  
Die folgenden Filter wenden mehrere Filter auf zwei Spalten in einer Tabelle an. Der Filter repliziert alle Angestellten mit dem Wert `(empid <= 100)` UND `(dept = tech)` in die Zieldatenbank.   

```
{
    "rules": [{
        "rule-type": "selection",
        "rule-id": "1",
        "rule-name": "1",
        "object-locator": {
            "schema-name": "test",
            "table-name": "employee"
        },
        "rule-action": "include",
        "filters": [{
            "filter-type": "source",
            "column-name": "empid",
            "filter-conditions": [{
                "filter-operator": "lte",
                "value": "100"
            }]
        }, {
            "filter-type": "source",
            "column-name": "dept",
            "filter-conditions": [{
                "filter-operator": "eq",
                "value": "tech"
            }]
        }]
    }]
}
```

**Example Filtern von NULL-Werten**  
Der folgende Filter zeigt, wie nach leeren Werten gefiltert wird. Er repliziert alle Angestellten mit dem Wert `dept = NULL` in die Zieldatenbank.  

```
{
    "rules": [{
        "rule-type": "selection",
        "rule-id": "1",
        "rule-name": "1",
        "object-locator": {
            "schema-name": "test",
            "table-name": "employee"
        },
        "rule-action": "include",
        "filters": [{
            "filter-type": "source",
            "column-name": "dept",
            "filter-conditions": [{
                "filter-operator": "null"
            }]
        }]
    }]
}
```

**Example Filtern unter Verwendung von NOT-Operatoren**  
Einige der Operatoren können in negativer Form verwendet werden. Der folgende Filter repliziert alle Angestellten mit dem Wert `(empid is < 50) OR (empid is > 75)` in die Zieldatenbank.  

```
{
    "rules": [{
        "rule-type": "selection",
        "rule-id": "1",
        "rule-name": "1",
        "object-locator": {
            "schema-name": "test",
            "table-name": "employee"
        },
        "rule-action": "include",
        "filters": [{
            "filter-type": "source",
            "column-name": "empid",
            "filter-conditions": [{
                "filter-operator": "notbetween",
                "start-value": "50",
                "end-value": "75"
            }]
        }]
    }]
}
```

**Example Verwenden von kombinierten Filteroperatoren**  
Ab AWS DMS Version 3.5.0 können Sie inklusive Operatoren und negative Operatoren mischen.   
Der folgende Filter repliziert alle Angestellten mit dem Wert `(empid != 50) AND (dept is not NULL)` in die Zieldatenbank.  

```
{
    "rules": [{
        "rule-type": "selection",
        "rule-id": "1",
        "rule-name": "1",
        "object-locator": {
            "schema-name": "test",
            "table-name": "employee"
        },
        "rule-action": "include",
        "filters": [{
            "filter-type": "source",
            "column-name": "empid",
            "filter-conditions": [{
                "filter-operator": "noteq",
                "value": "50"
            }]
        }, {
            "filter-type": "source",
            "column-name": "dept",
            "filter-conditions": [{
                "filter-operator": "notnull"
            }]
        }]
    }]
}
```

Beachten Sie bei Verwendung von `null` mit anderen Filteroperatoren Folgendes:
+ Wenn Sie inklusive und negative Filterbedingungen sowie `null`-Filterbedingungen gemeinsam innerhalb desselben Filters verwenden, werden Datensätze mit `NULL`-Werten nicht repliziert.
+ Wenn Sie negative Filterbedingungen und `null`-Filterbedingungen ohne inklusive Filterbedingungen innerhalb desselben Filters verwenden, werden keine Daten repliziert.
+ Bei Verwendung negativer Filterbedingungen ohne explizite Festlegung einer `null`-Filterbedingung werden Datensätze mit `NULL`-Werten nicht repliziert.

## Filtern nach Zeit und Datum
<a name="CHAP_Tasks.CustomizingTasks.Filters.Dates"></a>

Bei der Auswahl der zu importierenden Daten können Sie ein Datum oder eine Uhrzeit als Teil Ihrer Filterkriterien angeben. AWS DMS verwendet das Datums YYYY-MM-DD - und das Uhrzeitformat YYYY-MM-DD HH:MM:SS.SSS zum Filtern. Die Vergleichsfunktionen folgen den Konventionen. AWS DMS SQLite Weitere Informationen zu SQLite Datentypen und Datumsvergleichen finden Sie in der Dokumentation unter [Datentypen in SQLite Version 3.](https://sqlite.org/datatype3.html) SQLite 

Der folgende Filter zeigt, wie Sie nach einem Datum filtern. Er repliziert alle Angestellten mit dem Wert `empstartdate >= January 1, 2002` in die Zieldatenbank.

**Example Filter für einzelnes Datum**  

```
{
    "rules": [{
        "rule-type": "selection",
        "rule-id": "1",
        "rule-name": "1",
        "object-locator": {
            "schema-name": "test",
            "table-name": "employee"
        },
        "rule-action": "include",
        "filters": [{
            "filter-type": "source",
            "column-name": "empstartdate",
            "filter-conditions": [{
                "filter-operator": "gte",
                "value": "2002-01-01"
            }]
        }]
    }]
}
```

# Aktivieren und Verwenden von Vormigrationsbewertungen für eine Aufgabe
<a name="CHAP_Tasks.AssessmentReport"></a>

Bei einer Vormigrationsbewertung werden bestimmte Komponenten einer Datenbankmigrationsaufgabe beurteilt, um Probleme zu identifizieren, die eine erwartungsgemäße Ausführung einer Migrationsaufgabe verhindern könnten. Diese Bewertung gibt Ihnen die Möglichkeit, Probleme zu identifizieren und zu beheben, bevor Sie eine neue oder geänderte Aufgabe ausführen. Auf diese Weise können Sie Verzögerungen aufgrund fehlender Aufgaben vermeiden, die auf fehlende Anforderungen oder bekannte Einschränkungen zurückzuführen sind.

AWS DMS bietet Zugriff auf zwei verschiedene Optionen für Bewertungen vor der Migration:
+ **Bewertung des Datentyps**: Ein älterer Bericht, der einen begrenzten Umfang an Bewertungen bietet.
+ **Bewertungslauf vor der Migration**: Enthält verschiedene Arten von Einzelprüfungen, einschließlich der Ergebnisse der Datentypbewertung.

**Anmerkung**  
Wenn Sie sich für einen Bewertungslauf vor der Migration entscheiden, müssen Sie eine Datentypbewertung nicht separat auswählen.

 Diese Optionen werden in den folgenden Themen beschrieben:
+ [Angeben, Starten und Anzeigen von Vormigrationsbewertungsläufen](CHAP_Tasks.PremigrationAssessmentRuns.md): Ein Testlauf vor der Migration (empfohlen) spezifiziert eine oder mehrere Einzelprüfungen, die auf der Grundlage einer neuen oder vorhandenen Konfiguration der Migrationsaufgabe ausgeführt werden sollen. Bei jeder einzelnen Bewertung wird ein bestimmtes Element einer unterstützten and/or Quell-Zieldatenbank anhand von Kriterien wie Migrationstyp, unterstützten Objekten, Indexkonfiguration und anderen Aufgabeneinstellungen bewertet, z. B. Tabellenzuordnungen, die die zu migrierenden Schemas und Tabellen identifizieren. 

  Bei einer individuellen Bewertung kann beispielsweise bewertet werden, welche Quelldatentypen oder Primärschlüsselformate migriert werden können oder nicht, möglicherweise basierend auf der Engine-Version. AWS DMS Sie können die Ergebnisse des letzten Bewertungslaufs starten und anzeigen sowie die Ergebnisse aller vorherigen Bewertungsläufe für eine Aufgabe anzeigen, indem Sie entweder die AWS DMS Management Console oder die AWS CLI und verwenden, SDKs um auf die AWS DMS API zuzugreifen. Sie können auch die Ergebnisse früherer Bewertungsläufe für eine Aufgabe in einem Amazon S3 S3-Bucket anzeigen, den Sie AWS DMS zum Speichern dieser Ergebnisse ausgewählt haben.
**Anmerkung**  
Die Anzahl und die Arten der verfügbaren individuellen Bewertungen können im Laufe der Zeit zunehmen. Weitere Informationen zu regelmäßigen Aktualisierungen finden Sie unter [Angeben von individuellen Bewertungen](CHAP_Tasks.PremigrationAssessmentRuns.md#CHAP_Tasks.PremigrationAssessmentRuns.Individual). 
+ [Datentypbewertungen starten und anzeigen (Legacy)](CHAP_Tasks.DataTypeAssessments.md): Eine Datentypbewertung (Legacy) gibt die Ergebnisse einer einzelnen Art von Bewertung vor der Migration in einer einzigen JSON-Struktur zurück: die Datentypen, die in einer unterstützten relationalen Quelldatenbank-Instance möglicherweise nicht korrekt migriert wurden. Dieser Bericht gibt die Ergebnisse für alle problematischen Datentypen in allen Schemas und Tabellen in der Quelldatenbank zurück, die für die Migration ausgewählt wurden. 

# Schaffung der Voraussetzungen für Bewertungen vor der Migration
<a name="CHAP_Tasks.AssessmentReport.Prerequisites"></a>

In diesem Abschnitt werden die Amazon S3- und IAM-Ressourcen beschrieben, die Sie für die Erstellung einer Bewertung vor der Migration benötigen.

**Wichtig**  
 Die folgenden Voraussetzungen sind nur erforderlich, wenn Sie Ihren eigenen Amazon S3 S3-Bucket und Ihre eigene IAM-Rolle angeben. 

## Erstellen eines S3-Buckets
<a name="CHAP_Tasks.AssessmentReport.Prerequisites.S3"></a>

AWS DMS speichert Bewertungsberichte vor der Migration in einem S3-Bucket. Gehen Sie wie folgt vor, um den S3-Bucket zu erstellen:

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die Amazon S3 S3-Konsole unter [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Wählen Sie **Create Bucket** (Bucket erstellen) aus.

1. Geben Sie auf der Seite **Bucket erstellen** einen weltweit eindeutigen Namen ein, der Ihren Anmeldenamen für den Bucket enthält, z. B. dms-bucket-. *yoursignin*

1. Wählen Sie den AWS-Region für die DMS-Migrationsaufgabe.

1. Lassen Sie die übrigen Einstellungen unverändert und wählen Sie **Create Bucket** aus.

## Erstellen von IAM-Ressourcen
<a name="CHAP_Tasks.AssessmentReport.Prerequisites.IAM"></a>

DMS verwendet eine IAM-Rolle und -Richtlinie, um auf den S3-Bucket zuzugreifen und die Ergebnisse der Bewertung vor der Migration zu speichern.

Gehen Sie wie folgt vor, um die IAM-Richtlinie zu erstellen:

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die IAM-Konsole unter. [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)

1. Wählen Sie im Navigationsbereich **Richtlinien**.

1. Wählen Sie **Richtlinie erstellen** aus.

1. Wählen Sie auf der Seite **Richtlinie erstellen** die Registerkarte **JSON** aus.

1. Fügen Sie den folgenden JSON-Code in den Editor ein und ersetzen Sie dabei den Beispielcode. Ersetzen Sie *amzn-s3-demo-bucket* durch den Namen des Amazon-S3-Buckets, den Sie im vorherigen Abschnitt erstellt haben.

------
#### [ JSON ]

****  

   ```
   {
      "Version":"2012-10-17",		 	 	 
      "Statement":[
         {
            "Effect":"Allow",
            "Action":[
               "s3:PutObject",
               "s3:DeleteObject",
               "s3:GetObject",
               "s3:PutObjectTagging"
            ],
            "Resource":[
               "arn:aws:s3:::amzn-s3-demo-bucket/*"
            ]
         },
         {
            "Effect":"Allow",
            "Action":[
               "s3:ListBucket",
               "s3:GetBucketLocation"
            ],
            "Resource":[
               "arn:aws:s3:::amzn-s3-demo-bucket"
            ]
         }
      ]
   }
   ```

------

1. Wählen Sie **Weiter: Tags** und dann **Weiter: Überprüfen**.

1. Geben Sie unter **Name\$1** **DMSPremigrationAssessmentS3Policy** ein und wählen Sie dann **Richtlinie erstellen** aus.

Gehen Sie wie folgt vor, um die IAM-Rolle zu erstellen:

1. **Wählen Sie in der IAM-Konsole im Navigationsbereich die Option Rollen aus.**

1. Wählen Sie **Rolle erstellen** aus.

1. Wählen Sie auf der Seite **Vertrauenswürdige Entität auswählen** unter **Typ der vertrauenswürdigen Entität** die Option **AWS -Service** aus. Wählen **Sie für Anwendungsfälle für andere AWS Dienste** **DMS** aus.

1. **Aktivieren Sie das Kontrollkästchen **DMS** und wählen Sie dann Weiter.**

1. Wählen Sie auf der Seite „**Berechtigungen hinzufügen**“ die Option **DMSPremigrationAssessments3Policy** aus. Wählen Sie **Weiter** aus.

1. Geben Sie auf der Seite **Benennen, Prüfen und Erstellen** **DMSPremigrationAssessmentS3Role** für **Rollenname** ein und wählen Sie dann **Rolle erstellen**.

1. Geben Sie auf der Seite **Rollen** **DMSPremigrationAssessmentS3Role** für **Rollenname** ein. **Wählen Sie Assessments3Role aus. DMSPremigration**

1. **Wählen Sie auf der Seite **DMSPremigrationAssessments3Role** die Registerkarte Vertrauensbeziehungen aus.** Wählen Sie **Vertrauensrichtlinie bearbeiten** aus.

1. Fügen Sie auf der Seite **Vertrauensrichtlinie bearbeiten** den folgenden JSON-Code in den Editor ein und ersetzen Sie den vorhandenen Text.

------
#### [ JSON ]

****  

   ```
   {
      "Version":"2012-10-17",		 	 	 
      "Statement":[
         {
            "Sid":"",
            "Effect":"Allow",
            "Principal":{
               "Service":"dms.amazonaws.com"
            },
            "Action":"sts:AssumeRole"
         }
      ]
   }
   ```

------

   Diese Richtlinie erteilt DMS die `sts:AssumeRole` Erlaubnis, die Ergebnisse des Testlaufs vor der Migration in den S3-Bucket zu speichern.

1. Wählen Sie **Richtlinie aktualisieren**.

# Angeben, Starten und Anzeigen von Vormigrationsbewertungsläufen
<a name="CHAP_Tasks.PremigrationAssessmentRuns"></a>

Eine Bewertung vor der Migration spezifiziert eine oder mehrere Einzelprüfungen, die auf der Grundlage einer neuen oder vorhandenen Konfiguration der Migrationsaufgabe ausgeführt werden sollen. Bei jeder individuellen Bewertung wird ein bestimmtes Element der Quell- oder Zieldatenbank bewertet, abhängig von Aspekten wie Migrationstyp, unterstützten Objekten, Indexkonfiguration und anderen Aufgabeneinstellungen, wie z. B. Tabellenzuweisungen, um die zu migrierenden Schemas und Tabellen zu identifizieren. Bei einer individuellen Bewertung könnte beispielsweise bewertet werden, welche Quelldatentypen oder Primärschlüsselformate migriert werden können und welche nicht.

## Angeben von individuellen Bewertungen
<a name="CHAP_Tasks.PremigrationAssessmentRuns.Individual"></a>

Wenn Sie einen neuen Bewertungslauf erstellen, können Sie wählen, ob Sie einige oder alle Einzelprüfungen ausführen möchten, die für Ihre Aufgabenkonfiguration relevant sind.

AWS DMS unterstützt Bewertungsläufe vor der Migration für die folgenden relationalen Quell- und Zieldatenbank-Engines:
+ [Bewertungen von Oracle](CHAP_Tasks.AssessmentReport.Oracle.md) 
+ [SQL Server-BewertungenPrüfen Sie, ob der DMS-Benutzer über die VIEW SERVER STATE-Berechtigung verfügt.](CHAP_Tasks.AssessmentReport.SqlServer.md) 
+ [MySQL-Bewertungen](CHAP_Tasks.AssessmentReport.MySQL.md)(beinhaltet MariaDB und Amazon Aurora MySQL-kompatible Edition)
+ [PostgreSQL-BewertungenÜberprüfen Sie den Quelldatenbankparameter `max_slot_wal_keep_size`](CHAP_Tasks.AssessmentReport.PG.md)(beinhaltet Amazon Aurora PostgreSQL-kompatible Edition)
+ [MariaDB-Bewertungen](CHAP_Tasks.AssessmentReport.MariaDB.md)
+ [Db2 LUW-Bewertungen](CHAP_Tasks.AssessmentReport.Db2.md)

## Starten und Anzeigen von Vormigrationsbewertungsläufen
<a name="CHAP_Tasks.PremigrationAssessmentRuns.AssessmentRun"></a>

Sie können vor der Migration einen Bewertungslauf für eine neue oder bestehende Migrationsaufgabe mithilfe der AWS DMS Management Console, der und der AWS CLI API starten. AWS DMS 

**So starten Sie einen Vormigrationsbewertungslauf für eine neue oder bestehende Aufgabe**

1. Führen Sie auf der Seite **Datenbankmigrationsaufgaben** in der AWS DMS -Managementkonsole einen der folgenden Schritte aus:
   + Um eine neue Aufgabe zu erstellen und sie zu bewerten, wählen Sie **Aufgabe erstellen**. Die Seite **Datenbankmigrationsaufgabe erstellen** wird geöffnet:

     1. Geben Sie die erforderlichen Aufgabeneinstellungen zum Erstellen Ihrer Aufgabe, einschließlich der Tabellenzuweisung, ein.

     1. Im Abschnitt **Bewertung vor der Migration** ist das Kontrollkästchen **Prüfung vor der Migration ausführen** aktiviert. Diese Seite enthält die Optionen, mit denen Sie einen Testlauf für die neue Aufgabe angeben können.
**Anmerkung**  
Wenn Sie eine neue Aufgabe erstellen, wird die Option zum automatischen Starten der Aufgabe bei ihrer Erstellung deaktiviert, wenn ein Vormigrationsbewertungslauf aktiviert wird. Sie können die Aufgabe nach Abschluss des Bewertungslaufs manuell starten.
   + Um eine bestehende Aufgabe zu bewerten, wählen Sie auf der Seite mit den **Aufgaben zur Datenbankmigration** den **Identifier** für eine bestehende Aufgabe aus. Die Aufgabenseite für die ausgewählte bestehende Aufgabe wird geöffnet:

     1. Wählen Sie **Aktionen** und anschließend **Vormigrationsbewertung erstellen** aus. Die Seite **Vormigrationsbewertung erstellen** wird geöffnet. Sie enthält Optionen zum Angeben eines Bewertungslaufs für die bestehende Aufgabe. 

1. Geben Sie einen eindeutigen Namen für Ihren Bewertungslauf ein, oder behalten Sie den Standardwert bei.

1. Wählen Sie die verfügbaren individuellen Bewertungen aus, die Sie in diesen Bewertungslauf einbeziehen möchten. Sie können die verfügbaren individuellen Bewertungen nur auf der Grundlage Ihrer aktuellen Aufgabeneinstellungen auswählen. Standardmäßig sind alle verfügbaren individuellen Bewertungen aktiviert und ausgewählt.

1. Suchen Sie in Ihrem Konto nach einem Amazon-S3-Bucket und einem Ordner zum Speichern Ihres Bewertungsergebnisberichts und wählen Sie diese aus. Informationen zum Einrichten von Ressourcen für Bewertungsläufe finden Sie unter[Schaffung der Voraussetzungen für Bewertungen vor der Migration](CHAP_Tasks.AssessmentReport.Prerequisites.md).

1. Wählen Sie eine IAM-Rolle mit vollständigem Kontozugriff auf Ihren ausgewählten Amazon S3-Bucket und Ordner aus oder geben Sie sie ein. Informationen zum Einrichten von Ressourcen für Bewertungsläufe finden Sie unter[Schaffung der Voraussetzungen für Bewertungen vor der Migration](CHAP_Tasks.AssessmentReport.Prerequisites.md).

1. Optional können Sie eine Einstellung auswählen, um den Bewertungsergebnisbericht in Ihrem Amazon-S3-Bucket zu verschlüsseln. Informationen zur S3-Bucket-Verschlüsselung finden Sie unter [Einstellung des standardmäßigen serverseitigen Verschlüsselungsverhaltens für Amazon S3 S3-Buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-encryption.html).

1. Wählen Sie **Aufgabe erstellen** für eine neue Aufgabe oder **Erstellen** für eine bestehende Aufgabe aus.

   Die Seite **Datenbankmigrationsaufgaben** wird geöffnet. Auf dieser Seite ist Ihre neue oder geänderte Aufgabe mit dem **Status** **Wird erstellt...** aufgeführt und eine Bannermeldung weist darauf hin, dass Ihr Vormigrationsbewertungslauf beginnt, sobald die Aufgabe erstellt wurde.

AWS DMS bietet über die AWS DMS Management-Konsole, die oder die API Zugriff auf die neuesten und alle vorherigen Bewertungsläufe vor der AWS CLI Migration. AWS DMS 

**Um die Ergebnisse des Bewertungslaufs anzuzeigen**

1. Wählen Sie in der AWS DMS Management Console auf der Seite **Datenbankmigrationsaufgaben** den **Identifier** für Ihre bestehende Aufgabe aus. Die Aufgabenseite für die bestehende Aufgabe wird geöffnet.

1. Wählen Sie auf der Seite für die bestehende Aufgabe die Registerkarte **Vormigrationsbewertungen** aus. Dadurch wird auf dieser Seite ein Abschnitt mit **Bewertungen vor der Migration** geöffnet, in dem die Ergebnisse der Bewertungsläufe, aufgelistet nach Namen, in umgekehrter chronologischer Reihenfolge angezeigt werden. Das neueste Ergebnis wird oben in der Liste angezeigt. Wählen Sie den Namen des Testlaufs, dessen Ergebnisse Sie anzeigen möchten.

Die Bewertungslaufergebnisse beginnen mit dem Namen des letzten Bewertungslaufs und einer Übersicht über dessen Status, gefolgt von einer Liste der angegebenen individuellen Bewertungen mit Statusangabe. Sie können nun die Informationen zum Status der individuellen Bewertungen untersuchen, indem Sie die betreffenden Namen in der Liste auswählen. Es sind Ergebnisse bis auf Tabellenspaltenebene verfügbar.

Sowohl in der Statusübersicht für einen Bewertungslauf als auch für jede individuelle Bewertung wird ein **Status**-Wert angezeigt. Dieser Wert gibt den Gesamtstatus des Bewertungslaufs und einen ähnlichen Status für jede individuelle Bewertung an. Im Folgenden finden Sie eine Liste der **Status**-Werte für den Bewertungslauf:
+ `"cancelling"` – Der Bewertungslauf wurde abgebrochen.
+ `"deleting"` – Der Bewertungslauf wurde gelöscht.
+ `"failed"` – Mindestens eine individuelle Bewertung wurde mit dem Status `failed` abgeschlossen. Dieser Status hat Vorrang vor allen anderen Status, einschließlich Fehlerbedingungen.
+ `"error-provisioning"` – Bei der Bereitstellung von Ressourcen (während des Status `provisioning`) ist ein interner Fehler aufgetreten. Dieser Status wird nur zugewiesen, wenn keine einzelnen Bewertungen den Status „Fehlgeschlagen“ haben, da Bereitstellungsfehler möglicherweise die Ausführung von Bewertungen verhindert haben, was zu fehlgeschlagenen Validierungen hätte führen können.
+ `"error-executing"` – Bei der Ausführung individueller Bewertungen (während des `running` Status) ist ein interner Fehler aufgetreten. Dieser Status wird nur zugewiesen, wenn keine einzelnen Bewertungen den Status „Fehlgeschlagen“ haben, da aufgrund von Fehlerbedingungen möglicherweise die Durchführung von Bewertungen verhindert wurde, was zu fehlgeschlagenen Validierungen hätte führen können.
+ `"invalid state"` – Der Bewertungslauf befindet sich in einem unbekannten Status.
+ `"passed"`— Alle Einzelprüfungen wurden erfolgreich abgeschlossen, ohne den Status „Fehlgeschlagen“, „Warnung“ oder „Fehler“.
+ `"provisioning"` – Die für die Durchführung individueller Bewertungen erforderlichen Ressourcen werden bereitgestellt.
+ `"running"`— Einzelne Bewertungen werden durchgeführt.
+ `"starting"` – Der Bewertungslauf beginnt, aber es werden noch keine Ressourcen für individuelle Bewertungen bereitgestellt.
+ `"warning"`— Mindestens eine einzelne Bewertung wurde mit einem `warning` Status abgeschlossen, und keine Bewertungen haben den Status „Fehlgeschlagen“ oder „Fehler“.

Im Folgenden finden Sie eine Liste der **Status**-Werte für die individuellen Bewertungen des Bewertungslaufs:
+ `"cancelled"` – Die individuelle Bewertung wurde im Zuge des Abbruchs des Bewertungslaufs abgebrochen.
+ `"error"` – Die individuelle Bewertung wurde nicht erfolgreich abgeschlossen.
+ `"failed"` – Die individuelle Bewertung wurde erfolgreich abgeschlossen, das Validierungsergebnis lautet jedoch „fehlgeschlagen“. Weitere Informationen finden Sie in den Ergebnisdetails.
+ `"invalid state"` – Die individuelle Bewertung befindet sich in einem unbekannten Status.
+ `"passed"` – Die individuelle Bewertung wurde mit einem erfolgreichen Validierungsergebnis abgeschlossen.
+ `"pending"` – Die individuelle Bewertung wartet auf die Ausführung.
+ `"running"` – Die individuelle Bewertung wird ausgeführt.
+ `"warning"`— Die Einzelbewertung wurde mit dem Status „Warnung“ abgeschlossen.
+ `"skipped"`— Die einzelnen Bewertungen wurden während des Bewertungslaufs übersprungen.

Sie können auch die JSON-Dateien für die Bewertungslaufergebnisse in Amazon S3 anzeigen.

**So zeigen Sie die JSON-Dateien für den Bewertungslauf in Amazon S3 an**

1. Wählen Sie in der AWS DMS Management Console den Amazon S3 S3-Bucket-Link aus, der in der Statusübersicht des Bewertungslaufs angezeigt wird. Daraufhin wird eine Liste der Bucket-Ordner und anderer Amazon-S3-Objekte angezeigt, die in dem Bucket gespeichert sind. Wenn Ihre Ergebnisse in einem Bucket-Ordner gespeichert sind, öffnen Sie den Ordner.

1. Die Ergebnisse Ihres Bewertungslaufs finden Sie in mehreren JSON-Dateien. In einer Datei `summary.json` sind die Gesamtergebnisse des Bewertungslaufs enthalten. Die übrigen Dateien sind jeweils nach einer individuellen Bewertung benannt, die für den Bewertungslauf angegeben wurde, beispielsweise `unsupported-data-types-in-source.json`. Diese Dateien enthalten jeweils die Ergebnisse der entsprechenden individuellen Bewertung aus dem ausgewählten Bewertungslauf.

Um die Ergebnisse von Bewertungsläufen vor der Migration für eine bestehende Migrationsaufgabe zu starten und anzuzeigen, können Sie die folgenden CLI-Befehle und AWS DMS API-Operationen ausführen:
+ CLI: [https://docs.aws.amazon.com/cli/latest/reference/dms/describe-applicable-individual-assessments](https://docs.aws.amazon.com/cli/latest/reference/dms/describe-applicable-individual-assessments), API: [https://docs.aws.amazon.com/dms/latest/APIReference/API_DescribeApplicableIndividualAssessments.html](https://docs.aws.amazon.com/dms/latest/APIReference/API_DescribeApplicableIndividualAssessments.html) – Stellt eine Liste individueller Bewertungen bereit, die Sie für einen neuen Vormigrationsbewertungslauf angeben können, unter Berücksichtigung von einem oder mehreren Aufgabenkonfigurationsparametern.
+ CLI: [https://docs.aws.amazon.com/cli/latest/reference/dms/start-replication-task-assessment-run](https://docs.aws.amazon.com/cli/latest/reference/dms/start-replication-task-assessment-run), API: [https://docs.aws.amazon.com/dms/latest/APIReference/API_StartReplicationTaskAssessmentRun.html](https://docs.aws.amazon.com/dms/latest/APIReference/API_StartReplicationTaskAssessmentRun.html) – Startet einen neuen Vormigrationsbewertungslauf für eine oder mehrere individuelle Bewertungen einer bestehenden Migrationsaufgabe.
+ CLI: [https://docs.aws.amazon.com/cli/latest/reference/dms/describe-replication-task-assessment-runs](https://docs.aws.amazon.com/cli/latest/reference/dms/describe-replication-task-assessment-runs), API: [https://docs.aws.amazon.com/dms/latest/APIReference/API_DescribeReplicationTaskAssessmentRuns.html](https://docs.aws.amazon.com/dms/latest/APIReference/API_DescribeReplicationTaskAssessmentRuns.html) – Gibt basierend auf Filtereinstellungen eine paginierte Liste von Vormigrationsbewertungsläufen zurück.
+ CLI: [https://docs.aws.amazon.com/cli/latest/reference/dms/describe-replication-task-individual-assessments](https://docs.aws.amazon.com/cli/latest/reference/dms/describe-replication-task-individual-assessments), API: [https://docs.aws.amazon.com/dms/latest/APIReference/API_DescribeReplicationTaskIndividualAssessments.html](https://docs.aws.amazon.com/dms/latest/APIReference/API_DescribeReplicationTaskIndividualAssessments.html) – Gibt basierend auf Filtereinstellungen eine paginierte Liste individueller Bewertungen zurück.
+ CLI: [https://docs.aws.amazon.com/cli/latest/reference/dms/cancel-replication-task-assessment-run](https://docs.aws.amazon.com/cli/latest/reference/dms/cancel-replication-task-assessment-run), API: [https://docs.aws.amazon.com/dms/latest/APIReference/API_CancelReplicationTaskAssessmentRun.html](https://docs.aws.amazon.com/dms/latest/APIReference/API_CancelReplicationTaskAssessmentRun.html) – Bricht einen einzelnen Vormigrationsbewertungslauf ab, löscht diesen aber nicht.
+ CLI: [https://docs.aws.amazon.com/cli/latest/reference/dms/delete-replication-task-assessment-run](https://docs.aws.amazon.com/cli/latest/reference/dms/delete-replication-task-assessment-run), API: [https://docs.aws.amazon.com/dms/latest/APIReference/API_DeleteReplicationTaskAssessmentRun.html](https://docs.aws.amazon.com/dms/latest/APIReference/API_DeleteReplicationTaskAssessmentRun.html) – Löscht den Datensatz eines einzelnen Vormigrationsbewertungslaufs.

# Individuelle Bewertungen
<a name="CHAP_Tasks.AssessmentReport.Assessments"></a>

In diesem Abschnitt werden individuelle Bewertungen vor der Migration beschrieben.

Um mithilfe der AWS DMS API eine individuelle Bewertung vor der Migration zu erstellen, verwenden Sie den aufgelisteten API-Schlüssel als `IncludeOnly` Aktionsparameter. [ StartReplicationTaskAssessmentRun](https://docs.aws.amazon.com/dms/latest/APIReference/API_StartReplicationTaskAssessmentRun.html)

**Topics**
+ [Bewertungen für alle Endpunkttypen](CHAP_Tasks.AssessmentReport.Assessments.All.md)
+ [Bewertungen von Oracle](CHAP_Tasks.AssessmentReport.Oracle.md)
+ [SQL Server-Bewertungen](CHAP_Tasks.AssessmentReport.SqlServer.md)
+ [MySQL-Bewertungen](CHAP_Tasks.AssessmentReport.MySQL.md)
+ [MariaDB-Bewertungen](CHAP_Tasks.AssessmentReport.MariaDB.md)
+ [PostgreSQL-Bewertungen](CHAP_Tasks.AssessmentReport.PG.md)
+ [Db2 LUW-Bewertungen](CHAP_Tasks.AssessmentReport.Db2.md)

# Bewertungen für alle Endpunkttypen
<a name="CHAP_Tasks.AssessmentReport.Assessments.All"></a>

In diesem Abschnitt werden individuelle Bewertungen vor der Migration für alle Endpunkttypen beschrieben.

**Topics**
+ [Nicht unterstützte Datentypen](#CHAP_Tasks.AssessmentReport.Assessments.All.UnsupportedDataTypes)
+ [Es werden große Objekte (LOBs) verwendet, aber für LOB-Zielspalten sind keine NULL-Werte zulässig](#CHAP_Tasks.AssessmentReport.Assessments.All.LOBsColsNotNullable)
+ [Quelltabelle mit großen Objekten (LOBs), aber ohne Primärschlüssel oder eindeutige Einschränkungen](#CHAP_Tasks.AssessmentReport.Assessments.All.LOBsNoPrimaryKey)
+ [Quelltabelle ohne Primärschlüssel nur für CDC- oder Volllast- und CDC-Aufgaben](#CHAP_Tasks.AssessmentReport.Assessments.All.CDCNoPrimaryKey)
+ [Zieltabelle ohne Primärschlüssel nur für CDC-Aufgaben](#CHAP_Tasks.AssessmentReport.Assessments.All.CDCOnlyNoPrimaryKey)
+ [Nicht unterstützte Quell-Primärschlüsseltypen — zusammengesetzte Primärschlüssel](#CHAP_Tasks.AssessmentReport.Assessments.All.CompositeNoPrimaryKey)

## Nicht unterstützte Datentypen
<a name="CHAP_Tasks.AssessmentReport.Assessments.All.UnsupportedDataTypes"></a>

**API-Schlüssel:** `unsupported-data-types-in-source`

Sucht im Quellendpunkt nach Datentypen, die DMS nicht unterstützt. Nicht alle Datentypen können zwischen Engines migriert werden.

## Es werden große Objekte (LOBs) verwendet, aber für LOB-Zielspalten sind keine NULL-Werte zulässig
<a name="CHAP_Tasks.AssessmentReport.Assessments.All.LOBsColsNotNullable"></a>

**API-Schlüssel:** `full-lob-not-nullable-at-target`

Überprüft, ob eine LOB-Spalte im Ziel NULL-Werte zulässt, wenn die Replikation den vollständigen LOB-Modus oder den Inline-LOB-Modus verwendet. DMS erfordert, dass eine LOB-Spalte Null ist, wenn diese LOB-Modi verwendet werden. Für diese Bewertung müssen die Quell- und Zieldatenbanken relational sein.

## Quelltabelle mit großen Objekten (LOBs), aber ohne Primärschlüssel oder eindeutige Einschränkungen
<a name="CHAP_Tasks.AssessmentReport.Assessments.All.LOBsNoPrimaryKey"></a>

**API-Schlüssel:** `table-with-lob-but-without-primary-key-or-unique-constraint`

 Überprüft, ob Quelltabellen mit LOBs , aber ohne Primärschlüssel oder eindeutigen Schlüssel vorhanden sind. Eine Tabelle muss einen Primärschlüssel oder einen eindeutigen Schlüssel haben, damit DMS migriert LOBs werden kann. Für diese Bewertung muss die Quelldatenbank relational sein.

## Quelltabelle ohne Primärschlüssel nur für CDC- oder Volllast- und CDC-Aufgaben
<a name="CHAP_Tasks.AssessmentReport.Assessments.All.CDCNoPrimaryKey"></a>

**API-Schlüssel:** `table-with-no-primary-key-or-unique-constraint`

 Überprüft das Vorhandensein eines Primärschlüssels oder eines eindeutigen Schlüssels in Quelltabellen für eine Migration mit vollständiger Last und Change Data Capture (CDC) oder eine reine CDC-Migration. Das Fehlen eines Primärschlüssels oder eines eindeutigen Schlüssels kann zu Leistungsproblemen während der CDC-Migration führen. Für diese Bewertung muss die Quelldatenbank relational sein und der Migrationstyp muss CDC enthalten.

## Zieltabelle ohne Primärschlüssel nur für CDC-Aufgaben
<a name="CHAP_Tasks.AssessmentReport.Assessments.All.CDCOnlyNoPrimaryKey"></a>

**API-Schlüssel:** `target-table-has-unique-key-or-primary-key-for-cdc`

 Überprüft, ob ein Primärschlüssel oder ein eindeutiger Schlüssel in bereits erstellten Zieltabellen für eine reine CDC-Migration vorhanden ist. Das Fehlen eines Primärschlüssels oder eines eindeutigen Schlüssels kann dazu führen, dass vollständige Tabellen im Ziel gescannt werden, wenn DMS Aktualisierungen und Löschungen vornimmt. Dies kann zu Leistungsproblemen während der CDC-Migration führen. Für diese Bewertung muss die Zieldatenbank relational sein und der Migrationstyp muss CDC enthalten.

## Nicht unterstützte Quell-Primärschlüsseltypen — zusammengesetzte Primärschlüssel
<a name="CHAP_Tasks.AssessmentReport.Assessments.All.CompositeNoPrimaryKey"></a>

**API-Schlüssel:** `unsupported-source-pk-type-for-elasticsearch-target`

Prüft bei der Migration zu Amazon OpenSearch Service, ob zusammengesetzte Primärschlüssel in Quelltabellen vorhanden sind. Der Primärschlüssel der Quelltabelle muss aus einer einzelnen Spalte bestehen. Für diese Bewertung muss die Quelldatenbank relational und die Zieldatenbank DynamoDB sein.

**Anmerkung**  
DMS unterstützt die Migration einer Quelldatenbank zu einem OpenSearch Serviceziel, bei dem der Quell-Primärschlüssel aus mehreren Spalten besteht. 

# Bewertungen von Oracle
<a name="CHAP_Tasks.AssessmentReport.Oracle"></a>

Weitere Informationen zu Berechtigungen bei der Verwendung von Oracle als Quelle finden Sie unter [Erforderliche Benutzerkontenberechtigungen für eine selbstverwaltete Oracle-Quelle für AWS DMS](CHAP_Source.Oracle.md#CHAP_Source.Oracle.Self-Managed.Privileges) [Erforderliche Benutzerkontenberechtigungen für eine AWS-verwaltete Oracle-Quelle für AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.Amazon-Managed).

**Anmerkung**  
In diesem Abschnitt werden individuelle Bewertungen vor der Migration für Migrationsaufgaben beschrieben, für die Oracle als Quelle oder Ziel verwendet wird. AWS DMS  
Wenn Sie eine selbstverwaltete Oracle-Datenbank als Quelle für verwenden AWS DMS, verwenden Sie bitte den folgenden Berechtigungssatz:  

```
grant select on gv_$parameter to dms_user;
                    grant select on v_$instance to dms_user;
                    grant select on v_$version to dms_user;
                    grant select on gv_$ASM_DISKGROUP to dms_user;
                    grant select on gv_$database to dms_user;
                    grant select on DBA_DB_LINKS to to dms_user;
                    grant select on gv_$log_History to dms_user;
                    grant select on gv_$log to dms_user;
                    grant select on dba_types to dms_user;
                    grant select on dba_users to dms_user;
                    grant select on dba_directories to dms_user;
                    grant execute on SYS.DBMS_XMLGEN to dms_user;
```
Zusätzliche Berechtigungen sind erforderlich, wenn Sie eine selbstverwaltete Oracle-Datenbank als Quelle für AWS DMS Serverless verwenden:  

```
grant select on dba_segments to dms_user;
                    grant select on v_$tablespace to dms_user;
                    grant select on dba_tab_subpartitions to dms_user;
                    grant select on dba_extents to dms_user;
```
Wenn Sie eine AWS-verwaltete Oracle-Datenbank als Quelle für verwenden AWS DMS, verwenden Sie die folgenden Berechtigungen:  

```
EXEC RDSADMIN.RDSADMIN_UTIL.GRANT_SYS_OBJECT('V_$PARAMETER', 'dms_user', 'SELECT');
                    EXEC RDSADMIN.RDSADMIN_UTIL.GRANT_SYS_OBJECT('V_$INSTANCE', 'dms_user', 'SELECT');
                    EXEC RDSADMIN.RDSADMIN_UTIL.GRANT_SYS_OBJECT('V_$VERSION','dms_user', 'SELECT');
                    EXEC RDSADMIN.RDSADMIN_UTIL.GRANT_SYS_OBJECT('GV_$ASM_DISKGROUP','dms_user', 'SELECT');
                    EXEC RDSADMIN.RDSADMIN_UTIL.GRANT_SYS_OBJECT('GV_$DATABASE','dms_user', 'SELECT');
                    EXEC RDSADMIN.RDSADMIN_UTIL.GRANT_SYS_OBJECT('DBA_DB_LINKS','dms_user', 'SELECT');
                    EXEC RDSADMIN.RDSADMIN_UTIL.GRANT_SYS_OBJECT('GV_$LOG_HISTORY','dms_user', 'SELECT');
                    EXEC RDSADMIN.RDSADMIN_UTIL.GRANT_SYS_OBJECT('GV_$LOG','dms_user', 'SELECT');
                    EXEC RDSADMIN.RDSADMIN_UTIL.GRANT_SYS_OBJECT('DBA_TYPES','dms_user', 'SELECT');
                    EXEC RDSADMIN.RDSADMIN_UTIL.GRANT_SYS_OBJECT('DBA_USERS','dms_user', 'SELECT');
                    EXEC RDSADMIN.RDSADMIN_UTIL.GRANT_SYS_OBJECT('DBA_DIRECTORIES','dms_user', 'SELECT');
                    GRANT SELECT ON RDSADMIN.RDS_CONFIGURATION to dms_user;
                    GRANT EXECUTE ON SYS.DBMS_XMLGEN TO dms_user;
```
Zusätzliche Berechtigungen sind erforderlich, wenn Sie eine AWS-verwaltete Oracle-Datenbank als Quelle für AWS DMS Serverless verwenden:  

```
EXEC RDSADMIN.RDSADMIN_UTIL.GRANT_SYS_OBJECT('DBA_SEGMENTS','dms_user', 'SELECT');
                    EXEC RDSADMIN.RDSADMIN_UTIL.GRANT_SYS_OBJECT('DBA_TAB_SUBPARTITIONS','dms_user', 'SELECT');
                    EXEC RDSADMIN.RDSADMIN_UTIL.GRANT_SYS_OBJECT('DBA_EXTENTS','dms_user', 'SELECT');
                    EXEC RDSADMIN.RDSADMIN_UTIL.GRANT_SYS_OBJECT('V_$TABLESPACE','dms_user', 'SELECT');
```
Wenn Sie eine selbstverwaltete Oracle-Datenbank als Ziel für verwenden AWS DMS, verwenden Sie die folgenden Berechtigungen:  

```
grant select on v_$instance to dms_user;
                    grant execute on SYS.DBMS_XMLGEN to dms_user;
```
Wenn Sie eine AWS-verwaltete Oracle-Datenbank als Ziel für verwenden AWS DMS, verwenden Sie die folgenden Berechtigungen:  

```
EXEC RDSADMIN.RDSADMIN_UTIL.GRANT_SYS_OBJECT('V_$INSTANCE', 'dms_user', 'SELECT');
                    GRANT EXECUTE ON SYS.DBMS_XMLGEN TO dms_user;
```

**Topics**
+ [Stellen Sie sicher, dass der eingeschränkte LOB-Modus nur verwendet wird, wenn er `BatchApplyEnabled` aktiviert ist](#CHAP_Tasks.AssessmentReport.Oracle.LimitedLOBMode)
+ [Überprüfen Sie, ob die Tabellen in der Quelle Spalten ohne Skalierung enthalten, die für den Datentyp Zahl angegeben wurde](#CHAP_Tasks.AssessmentReport.Oracle.NumberTypeWithoutScale)
+ [Validieren Sie die Trigger in der Zieldatenbank](#CHAP_Tasks.AssessmentReport.Oracle.TriggersOnTargetDatabase)
+ [Überprüfen Sie, ob archivelog `DEST_ID` für die Quelle auf 0 gesetzt ist](#CHAP_Tasks.AssessmentReport.Oracle.UseZeroDestIDTrue)
+ [Überprüfen Sie, ob bei Volllast sekundäre Indizes in der Zieldatenbank aktiviert sind](#CHAP_Tasks.AssessmentReport.Oracle.SecondaryIndexesEnabled)
+ [Überprüfen Sie, ob die im DMS-Aufgabenbereich verwendeten Tabellen mehr als 999 Spalten BatchApplyEnabled haben](#CHAP_Tasks.AssessmentReport.Oracle.SetBatchApplyEnabledTrue)
+ [Überprüfung der zusätzlichen Protokollierung auf Datenbankebene](#CHAP_Tasks.AssessmentReport.Oracle.SupplementalLogging)
+ [Validierung, ob der erforderliche DB-Link für Standby erstellt wird](#CHAP_Tasks.AssessmentReport.Oracle.DbLink)
+ [Oracle-Validierung, ob der LOB-Datentyp vorhanden und Binary Reader konfiguriert ist](#CHAP_Tasks.AssessmentReport.Oracle.Lob)
+ [Überprüfung, ob es sich bei der Datenbank um CDB handelt](#CHAP_Tasks.AssessmentReport.Oracle.Cdb)
+ [Überprüfen der Oracle-Datenbankausgabe](#CHAP_Tasks.AssessmentReport.Oracle.Express)
+ [Validieren der Oracle-CDC-Methode für DMS](#CHAP_Tasks.AssessmentReport.Oracle.CdcConfigurations)
+ [Validieren der Oracle-RAC-Konfiguration für DMS](#CHAP_Tasks.AssessmentReport.Oracle.Rac)
+ [Überprüfen Sie, ob der DMS-Benutzer über Berechtigungen für das Ziel verfügt](#CHAP_Tasks.AssessmentReport.Oracle.TargetPermissions)
+ [Überprüfen Sie, ob eine zusätzliche Protokollierung für alle Spalten erforderlich ist](#CHAP_Tasks.AssessmentReport.Oracle.SupplementalLoggingColumns)
+ [Überprüfen Sie, ob die zusätzliche Protokollierung für Tabellen mit Primärschlüsseln oder eindeutigen Schlüsseln aktiviert ist](#CHAP_Tasks.AssessmentReport.Oracle.SupplementalLoggingIndexes)
+ [Überprüfen Sie, ob dies der Fall ist SecureFile LOBs und ob die Aufgabe für den vollständigen LOB-Modus konfiguriert ist](#CHAP_Tasks.AssessmentReport.Oracle.SecureFileLOBs)
+ [Überprüfen Sie, ob funktionsbasierte Indizes in den Tabellen verwendet werden, die im Aufgabenbereich enthalten sind.](#CHAP_Tasks.AssessmentReport.Oracle.FunctionBasedIndexes)
+ [Überprüfen Sie, ob globale temporäre Tabellen für die Tabellen verwendet werden, die im Aufgabenbereich enthalten sind.](#CHAP_Tasks.AssessmentReport.Oracle.GlobalTemporaryTables)
+ [Überprüfen Sie, ob indexorganisierte Tabellen mit einem Überlaufsegment für die Tabellen verwendet werden, die im Aufgabenbereich enthalten sind.](#CHAP_Tasks.AssessmentReport.Oracle.IndexOrganizedTables)
+ [Überprüfen Sie, ob für die im Aufgabenbereich enthaltenen Tabellen verschachtelte Tabellen mit mehreren Ebenen verwendet werden.](#CHAP_Tasks.AssessmentReport.Oracle.MultilevelNestingTables)
+ [Überprüfen Sie, ob in den Tabellen, die im Aufgabenbereich enthalten sind, unsichtbare Spalten verwendet werden.](#CHAP_Tasks.AssessmentReport.Oracle.InvisibleColumns)
+ [Überprüfen Sie, ob materialisierte Ansichten, die auf einer ROWID-Spalte basieren, für die im Aufgabenbereich enthaltenen Tabellen verwendet werden.](#CHAP_Tasks.AssessmentReport.Oracle.RowIDMaterialViews)
+ [Überprüfen Sie, ob die Active Data Guard DML Redirect-Funktion verwendet wird.](#CHAP_Tasks.AssessmentReport.Oracle.ActiveDataGuard)
+ [Überprüfen Sie, ob hybride partitionierte Tabellen verwendet werden.](#CHAP_Tasks.AssessmentReport.Oracle.HybridPartitionedTables)
+ [Überprüfen Sie, ob Oracle-Konten verwendet werden, die nur auf Schemas basieren](#CHAP_Tasks.AssessmentReport.Oracle.SchemaOnly)
+ [Überprüfen Sie, ob virtuelle Spalten verwendet werden](#CHAP_Tasks.AssessmentReport.Oracle.VirtualColumns)
+ [Überprüfen Sie, ob die im Aufgabenbereich definierten Tabellennamen Apostrophe enthalten.](#CHAP_Tasks.AssessmentReport.Oracle.NamesWithApostrophes)
+ [Überprüfen Sie, ob die im Aufgabenbereich definierten Spalten `Long Raw` Datentypen, oder haben `XMLType``Long`, und überprüfen Sie die LOB-Moduskonfiguration in den Aufgabeneinstellungen.](#CHAP_Tasks.AssessmentReport.Oracle.XMLLongRawDatatypes)
+ [Überprüfen Sie, ob die Oracle-Quellversion von unterstützt wird. AWS DMS](#CHAP_Tasks.AssessmentReport.Oracle.SourceOracleVersion)
+ [Überprüfen Sie, ob die Oracle-Zielversion von unterstützt wird. AWS DMS](#CHAP_Tasks.AssessmentReport.Oracle.TargetOracleVersion)
+ [Überprüfen Sie, ob der DMS-Benutzer über die erforderlichen Berechtigungen für die Datenvalidierung verfügt.](#CHAP_Tasks.AssessmentReport.Oracle.DataValidation)
+ [Überprüfen Sie, ob der DMS-Benutzer berechtigt ist, Binary Reader mit Oracle ASM zu verwenden](#CHAP_Tasks.AssessmentReport.Oracle.BinaryReaderPrivilegesASM)
+ [Überprüfen Sie, ob der DMS-Benutzer berechtigt ist, Binary Reader mit Oracle Non-ASM zu verwenden](#CHAP_Tasks.AssessmentReport.Oracle.BinaryReaderPrivilegesNonASM)
+ [Überprüfen Sie, ob der DMS-Benutzer berechtigt ist, Binary Reader mit Methode zu verwenden CopyToTempFolder](#CHAP_Tasks.AssessmentReport.Oracle.BinaryReaderTemp)
+ [Überprüfen Sie, ob der DMS-Benutzer berechtigt ist, Oracle Standby als Quelle zu verwenden](#CHAP_Tasks.AssessmentReport.Oracle.StandbySource)
+ [Überprüfen Sie, ob die DMS-Quelle mit einem Anwendungscontainer (PDB) verbunden ist](#CHAP_Tasks.AssessmentReport.Oracle.AppPdb)
+ [Überprüfen Sie, ob die Tabelle XML-Datentypen enthält, die im Aufgabenbereich enthalten sind.](#CHAP_Tasks.AssessmentReport.Oracle.XmlColumns)
+ [Überprüfen Sie, ob der Archivelog-Modus in der Quelldatenbank aktiviert ist.](#CHAP_Tasks.AssessmentReport.Oracle.Archivelog)
+ [Validiert die Archivelog-Aufbewahrung für RDS Oracle.](#CHAP_Tasks.AssessmentReport.Oracle.ArchivelogRetention)
+ [Überprüfen Sie, ob die Tabelle erweiterte Datentypen enthält, die im Aufgabenbereich enthalten sind.](#CHAP_Tasks.AssessmentReport.Oracle.ExtendedColumns)
+ [Überprüfen Sie die Länge des Objektnamens, der im Aufgabenbereich enthalten ist.](#CHAP_Tasks.AssessmentReport.Oracle.30ByteLimit)
+ [Überprüfen Sie, ob die DMS-Quelle mit einer Oracle PDB verbunden ist](#CHAP_Tasks.AssessmentReport.Oracle.PDBEnabled)
+ [Überprüfen Sie, ob die Tabelle räumliche Spalten enthält, die im Aufgabenbereich enthalten sind.](#CHAP_Tasks.AssessmentReport.Oracle.SpatialColumns)
+ [Überprüfen Sie, ob die DMS-Quelle mit einem Oracle-Standby verbunden ist.](#CHAP_Tasks.AssessmentReport.Oracle.StandbyDB)
+ [Überprüfen Sie, ob der Tablespace der Quelldatenbank mit TDE verschlüsselt ist.](#CHAP_Tasks.AssessmentReport.Oracle.StandbyDB)
+ [Überprüft, ob die Quelldatenbank Automatic Storage Management (ASM) verwendet](#CHAP_Tasks.AssessmentReport.Oracle.ASMSource)
+ [Überprüfen Sie, ob Batch Apply aktiviert ist und ob für die Tabelle in der Oracle-Zieldatenbank Parallelität auf Tabellen- oder Indexebene aktiviert ist](#CHAP_Tasks.AssessmentReport.Oracle.batchapply)
+ [Empfehlen Sie den Parameter „Bulk Array Size“, indem Sie die Tabellen im Aufgabenbereich validieren](#CHAP_Tasks.AssessmentReport.Oracle.bulkarraysize)
+ [Überprüfen Sie, ob die HandleCollationDiff Aufgabeneinstellung konfiguriert ist](#CHAP_Tasks.AssessmentReport.Oracle.handlecollationdiff)
+ [Überprüfen Sie, ob die Tabelle einen Primärschlüssel oder einen eindeutigen Index hat und ob ihr Status GÜLTIG ist, wenn die DMS-Validierung aktiviert ist](#CHAP_Tasks.AssessmentReport.Oracle.pkvalidity)
+ [Überprüfen Sie, ob Binary Reader für Oracle Standby als Quelle verwendet wird](#CHAP_Tasks.AssessmentReport.Oracle.binaryreader)
+ [Überprüfen Sie, ob der AWS DMS Benutzer über die erforderlichen Verzeichnisberechtigungen verfügt, um Daten aus einer Oracle RDS-Standby-Datenbank zu replizieren.](#CHAP_Tasks.AssessmentReport.Oracle.directorypermissions)
+ [Überprüfen Sie den Typ von Oracle Standby, der für die Replikation verwendet wird](#CHAP_Tasks.AssessmentReport.Oracle.physicalstandby)
+ [Überprüfen Sie, ob die erforderlichen Verzeichnisse für RDS Oracle Standby erstellt wurden](#CHAP_Tasks.AssessmentReport.Oracle.rdsstandby)
+ [Überprüfen Sie, ob ein Primärschlüssel oder ein eindeutiger Index auf dem Ziel für Batch Apply vorhanden ist](#CHAP_Tasks.AssessmentReport.Oracle.batchapplypkui)
+ [Überprüfen Sie, ob sowohl der Primärschlüssel als auch der eindeutige Index auf dem Ziel für Batch Apply vorhanden sind](#CHAP_Tasks.AssessmentReport.Oracle.batchapplypkuitarget)
+ [Überprüfen Sie, ob nicht unterstützte HCC-Stufen für Volllast verwendet werden](#CHAP_Tasks.AssessmentReport.Oracle.hccfullload)
+ [Überprüfen Sie, ob nicht unterstützte HCC-Stufen für Full Load mit CDC verwendet werden](#CHAP_Tasks.AssessmentReport.Oracle.hccandcdc)
+ [Überprüfen Sie, ob die HCC-Komprimierung für CDC verwendet wird, die nicht unterstützt wird](#CHAP_Tasks.AssessmentReport.Oracle.binaryreaderhcccdc)
+ [CDC-Empfehlung basierend auf der Quellkomprimierungsmethode](#CHAP_Tasks.AssessmentReport.Oracle.cdcmethodbycompression)
+ [Prüfen Sie, ob Batch Apply aktiviert ist, und überprüfen Sie, ob die Tabelle mehr als 999 Spalten enthält](#CHAP_Tasks.AssessmentReport.Oracle.batchapplylob)
+ [Überprüfen Sie die Transformationsregel für Ziffern nach dem Zufallsprinzip](#CHAP_Tasks.AssessmentReport.Oracle.digits.randomize)
+ [Überprüfen Sie die Transformationsregel für die Ziffernmaske](#CHAP_Tasks.AssessmentReport.Oracle.digits.mask)
+ [Überprüfen Sie die Transformationsregel für die Hashing-Maske](#CHAP_Tasks.AssessmentReport.Oracle.hash.mask)
+ [Stellen Sie sicher, dass die Einstellungen für die Datenvalidierung und die Randomisierung von Ziffern nicht gleichzeitig aktiviert sind](#CHAP_Tasks.AssessmentReport.Oracle.all.digit.random)
+ [Stellen Sie sicher, dass die Einstellungen für die Datenvalidierungsaufgabe und die Hashing-Maske für Datenmaskierung nicht gleichzeitig aktiviert sind](#CHAP_Tasks.AssessmentReport.Oracle.all.hash.mask)
+ [Stellen Sie sicher, dass die Einstellungen für die Datenvalidierungsaufgabe und die Datenmaskierungs-Ziffernmaske nicht gleichzeitig aktiviert sind](#CHAP_Tasks.AssessmentReport.Oracle.all.digit.mask)
+ [Stellen Sie sicher, dass die Replikation auf ein Streaming-Ziel keine Spalten vom Datentyp enthält LOBs oder erweitert](#CHAP_Tasks.AssessmentReport.Oracle.streaming-target)
+ [Stellen Sie sicher, dass die reine CDC-Aufgabe so konfiguriert ist, dass sie die `OpenTransactionWindow` Endpunkteinstellung verwendet](#CHAP_Tasks.AssessmentReport.Oracle.open.tx.window)
+ [Stellen Sie sicher, dass mindestens ein ausgewähltes Objekt in der Quelldatenbank vorhanden ist](#CHAP_Tasks.AssessmentReport.Oracle.all.check.source.selection.rules)
+ [Stellen Sie sicher, dass Ziel-Fremdschlüsseleinschränkungen für die Migration deaktiviert sind](#CHAP_Tasks.AssessmentReport.Oracle.target.foreign.key.constraints.check)
+ [Stellen Sie sicher, dass die Oracle-Datenbank und die Oracle-Versionen kompatibel sind AWS DMS](#CHAP_Tasks.AssessmentReport.Oracle.dms.compatibility.version.check)
+ [Stellen Sie sicher, dass sekundäre Einschränkungen und Indizes (nicht primär) in der Quelldatenbank vorhanden sind](#CHAP_Tasks.AssessmentReport.Oracle.all.check.secondary.constraints)
+ [Stellen Sie sicher, dass die Einstellungen für das Sitzungs-Timeout () auf gesetzt sind `IDLE_TIME` `UNLIMITED`](#CHAP_Tasks.AssessmentReport.Oracle.check.idle.time)
+ [Stellen Sie sicher, dass der AWS DMS Benutzer über alle erforderlichen Berechtigungen für die Quelldatenbank verfügt](#CHAP_Tasks.AssessmentReport.Oracle.validate.permissions.on.source)
+ [Stellen Sie sicher, dass `XMLTYPE` LOB-Spalten vorhanden sind, wenn Oracle verwendet wird LogMiner](#CHAP_Tasks.AssessmentReport.Oracle.update.lob.columns)
+ [Stellen Sie sicher, dass es sich beim Zielendpunkt nicht um eine Read Replica handelt](#CHAP_Tasks.AssessmentReport.Oracle.read.replica)
+ [Stellen Sie sicher, dass das Oracle-Ziel keine CONTEXT-Indizes hat, wenn Sie Direct Path Load verwenden](#CHAP_Tasks.AssessmentReport.Oracle.directpath.index)
+ [Stellen Sie sicher, dass diese Option aktiviert `FailTasksOnLobTruncation` ist, wenn Sie den eingeschränkten LOB-Modus mit vorhandenen LOB-Spalten verwenden](#CHAP_Tasks.AssessmentReport.Oracle.FailTasksOnLobTruncation)
+ [Stellen Sie sicher, dass die `EnableHomogenousPartitionOps` Endpunkteinstellung aktiviert ist](#CHAP_Tasks.AssessmentReport.Oracle.Homogenous.partition)

## Stellen Sie sicher, dass der eingeschränkte LOB-Modus nur verwendet wird, wenn er `BatchApplyEnabled` aktiviert ist
<a name="CHAP_Tasks.AssessmentReport.Oracle.LimitedLOBMode"></a>

**API-Schlüssel:** `oracle-batch-apply-lob-mode`

Bei dieser Bewertung vor der Migration wird überprüft, ob die Tabellen in der DMS-Aufgabe LOB-Spalten enthalten. Wenn LOB-Spalten im Umfang der Aufgabe enthalten sind, dürfen Sie diesen Modus nur `BatchApplyEnabled` zusammen mit dem eingeschränkten LOB-Modus verwenden.

Weitere Informationen finden Sie unter [Aufgabeneinstellungen für Zielmetadaten](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TaskSettings.TargetMetadata.html).

## Überprüfen Sie, ob die Tabellen in der Quelle Spalten ohne Skalierung enthalten, die für den Datentyp Zahl angegeben wurde
<a name="CHAP_Tasks.AssessmentReport.Oracle.NumberTypeWithoutScale"></a>

**API-Schlüssel:** `oracle-number-columns-without-scale`

Bei dieser Bewertung vor der Migration wird überprüft, ob die DMS-Aufgabe Spalten des Datentyps NUMBER ohne Angabe einer Skala enthält. Es wird empfohlen, die Endpunkteinstellung `NumberDataTypeScale` auf den im Bewertungsbericht angegebenen Wert festzulegen.

Weitere Informationen finden Sie unter [Endpunkteinstellungen bei Verwendung von Oracle als Quelle für AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.ConnectionAttrib).

## Validieren Sie die Trigger in der Zieldatenbank
<a name="CHAP_Tasks.AssessmentReport.Oracle.TriggersOnTargetDatabase"></a>

**API-Schlüssel:** `oracle-target-triggers-are-enabled`

Bei dieser Bewertung vor der Migration wird überprüft, ob Trigger in der Zieldatenbank aktiviert sind. Die Bewertung schlägt fehl, wenn Trigger aktiviert sind. Wir empfehlen, die Auslöser während der Migration zu deaktivieren oder zu entfernen.

Weitere Informationen finden Sie unter [Weitere Informationen finden Sie unter Bewährte Methoden für DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_BestPractices.html).

## Überprüfen Sie, ob archivelog `DEST_ID` für die Quelle auf 0 gesetzt ist
<a name="CHAP_Tasks.AssessmentReport.Oracle.UseZeroDestIDTrue"></a>

**API-Schlüssel:** `oracle-zero-archive-log-dest-id`

Bei dieser Bewertung vor der Migration wird überprüft, ob das zusätzliche Verbindungsattribut für den Endpunkt als Quelle festgelegt `useZeroDestid=true` ist, wenn das archivierte Protokoll auf 0 gesetzt `DEST_ID` ist.

Weitere Informationen finden Sie unter [So behandeln Sie die AWS DMS Replikation bei Verwendung mit einer Oracle-Datenbank in Failover-Szenarien](https://aws.amazon.com/blogs/database/how-to-handle-aws-dms-replication-when-used-with-oracle-database-in-fail-over-scenarios/).

## Überprüfen Sie, ob bei Volllast sekundäre Indizes in der Zieldatenbank aktiviert sind
<a name="CHAP_Tasks.AssessmentReport.Oracle.SecondaryIndexesEnabled"></a>

**API-Schlüssel:** `oracle-check-secondary-indexes`

Mit dieser Bewertung vor der Migration wird überprüft, ob sekundäre Indizes während einer Volllast der Zieldatenbank aktiviert sind. Es wird empfohlen, die Sekundärindizes bei Volllast zu deaktivieren oder zu entfernen.

Weitere Informationen finden Sie unter [Bewährte Methoden](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_BestPractices.html) für. AWS Database Migration Service

## Überprüfen Sie, ob die im DMS-Aufgabenbereich verwendeten Tabellen mehr als 999 Spalten BatchApplyEnabled haben
<a name="CHAP_Tasks.AssessmentReport.Oracle.SetBatchApplyEnabledTrue"></a>

**API-Schlüssel:** `oracle-batch-apply-lob-999`

Tabellen, bei denen der Batch-optimierte Anwendungsmodus aktiviert ist, können nicht mehr als insgesamt 999 Spalten haben. Tabellen mit mehr als 999 Spalten führen AWS DMS dazu, dass der Stapel nacheinander verarbeitet wird, was die Latenz erhöht. DMS verwendet die Formel **2 \$1 columns\$1in\$1original\$1table \$1 columns\$1in\$1primary\$1key <= 999, um die Gesamtzahl der Spalten pro Tabelle** zu berechnen, die im stapeloptimierten Anwendungsmodus unterstützt werden.

Weitere [Informationen finden Sie unter Einschränkungen für Oracle AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Oracle.html#CHAP_Target.Oracle.Limitations) als Ziel für.

## Überprüfung der zusätzlichen Protokollierung auf Datenbankebene
<a name="CHAP_Tasks.AssessmentReport.Oracle.SupplementalLogging"></a>

**API-Schlüssel:** `oracle-supplemental-db-level`

Bei dieser Vormigrationsbewertung wird überprüft, ob eine minimale zusätzliche Protokollierung auf Datenbankebene aktiviert ist. Sie müssen die zusätzliche Protokollierung aktivieren, um eine Oracle-Datenbank als Migrationsquelle verwenden zu können. 

Verwenden Sie die folgende Abfrage, um die zusätzliche Protokollierung zu aktivieren:

```
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA
```

Weitere Informationen finden Sie unter [Einrichten der zusätzlichen Protokollierung](CHAP_Source.Oracle.md#CHAP_Source.Oracle.Self-Managed.Configuration.SupplementalLogging).

Diese Bewertung ist nur für eine Migration mit vollständigem Ladevorgang und CDC oder eine reine CDC-Migration gültig. Diese Bewertung ist nicht für eine Migration nur mit vollständigem Ladevorgang gültig.

## Validierung, ob der erforderliche DB-Link für Standby erstellt wird
<a name="CHAP_Tasks.AssessmentReport.Oracle.DbLink"></a>

**API-Schlüssel:** `oracle-validate-standby-dblink`

Bei dieser Bewertung vor der Migration wird überprüft, ob Dblink für die Oracle-Standby-Datenbankquelle erstellt wurde. AWSDMS\$1DBLINK ist eine Voraussetzung für die Verwendung einer Standby-Datenbank als Quelle. Wenn Sie Oracle Standby als Quelle verwenden, prüft AWS DMS standardmäßig keine offenen Transaktionen.

Weitere Informationen finden Sie unter [Arbeiten mit einer selbstverwalteten Oracle-Datenbank als Quelle für AWS DMS](CHAP_Source.Oracle.md#CHAP_Source.Oracle.Self-Managed).

Diese Bewertung ist nur für eine Migration mit vollständigem Ladevorgang und CDC oder eine reine CDC-Migration gültig. Diese Bewertung ist nicht für eine Migration nur mit vollständigem Ladevorgang gültig.

## Oracle-Validierung, ob der LOB-Datentyp vorhanden und Binary Reader konfiguriert ist
<a name="CHAP_Tasks.AssessmentReport.Oracle.Lob"></a>

**API-Schlüssel:** `oracle-binary-lob-source-validation`

Mit dieser Bewertung vor der Migration LogMiner wird überprüft, ob Oracle für einen Oracle-Datenbank-Endpunkt der Version 12c oder höher verwendet wird. AWS DMS unterstützt Oracle nicht LogMiner für Migrationen von LOB-Spalten aus Oracle-Datenbanken Version 12c. Bei dieser Bewertung wird auch geprüft, ob LOB-Spalten vorhanden sind, und es werden entsprechende Empfehlungen gegeben.

Um Ihre Migration so zu konfigurieren, dass Oracle nicht verwendet wird LogMiner, fügen Sie Ihrem Quellendpunkt die folgende Konfiguration hinzu:

```
useLogMinerReader=N;useBfile=Y;
```

Weitere Informationen finden Sie unter [Verwenden von Oracle LogMiner oder AWS DMS Binary Reader für CDC](CHAP_Source.Oracle.md#CHAP_Source.Oracle.CDC).

Diese Bewertung ist nur für eine Migration mit vollständigem Ladevorgang und CDC oder eine reine CDC-Migration gültig. Diese Bewertung ist nicht für eine Migration nur mit vollständigem Ladevorgang gültig.

## Überprüfung, ob es sich bei der Datenbank um CDB handelt
<a name="CHAP_Tasks.AssessmentReport.Oracle.Cdb"></a>

**API-Schlüssel:** `oracle-validate-cdb`

Bei dieser Vormigrationsbewertung wird überprüft, ob es sich bei der Datenbank um eine Container-Datenbank handelt. AWS DMS unterstützt die Multi-Tenant-Container-Stammdatenbank (CDB\$1ROOT) nicht. 

**Anmerkung**  
Diese Bewertung ist nur für Oracle-Versionen 12.1.0.1 oder höher erforderlich. Diese Bewertung ist nicht für Oracle-Versionen vor 12.1.0.1 anwendbar.

Weitere Informationen finden Sie unter [Einschränkungen bei der Verwendung von Oracle als Quelle für AWS DMS](CHAP_Source.Oracle.md#CHAP_Source.Oracle.Limitations).

Diese Bewertung ist nur für eine Migration mit vollständigem Ladevorgang und CDC oder eine reine CDC-Migration gültig. Diese Bewertung ist nicht für eine Migration nur mit vollständigem Ladevorgang gültig.

## Überprüfen der Oracle-Datenbankausgabe
<a name="CHAP_Tasks.AssessmentReport.Oracle.Express"></a>

**API-Schlüssel:** `oracle-check-cdc-support-express-edition`

Bei dieser Vormigrationsbewertung wird geprüft, ob es sich bei der Oracle-Quelldatenbank um die Express Edition handelt. AWS DMS unterstützt CDC nicht für Oracle Express Edition (Oracle Database XE) Version 18.0 und höher.

Diese Bewertung ist nur für eine Migration mit vollständigem Ladevorgang und CDC oder eine reine CDC-Migration gültig. Diese Bewertung ist nicht für eine Migration nur mit vollständigem Ladevorgang gültig.

## Validieren der Oracle-CDC-Methode für DMS
<a name="CHAP_Tasks.AssessmentReport.Oracle.CdcConfigurations"></a>

**API-Schlüssel:** `oracle-recommendation-cdc-method`

Diese Bewertung vor der Migration validiert die Redo-Log-Generierung für die letzten sieben Tage und gibt eine Empfehlung, ob AWS DMS Binary Reader oder Oracle LogMiner für CDC verwendet werden soll.

Diese Bewertung ist nur für eine Migration mit vollständigem Ladevorgang und CDC oder eine reine CDC-Migration gültig. Diese Bewertung ist nicht für eine Migration nur mit vollständigem Ladevorgang gültig.

Weitere Informationen dazu, welche CDC-Methode Sie verwenden sollten, finden Sie unter [Verwenden von Oracle LogMiner oder AWS DMS Binary Reader für CDC](CHAP_Source.Oracle.md#CHAP_Source.Oracle.CDC).

## Validieren der Oracle-RAC-Konfiguration für DMS
<a name="CHAP_Tasks.AssessmentReport.Oracle.Rac"></a>

**API-Schlüssel:** `oracle-check-rac`

Bei dieser Vormigrationsbewertung wird geprüft, ob es sich bei der Oracle-Datenbank um einen Real-Application-Cluster handelt. Real-Application-Cluster-Datenbanken müssen korrekt konfiguriert sein. Wenn die Datenbank auf RAC basiert, empfehlen wir, AWS DMS Binary Reader for CDC anstelle von Oracle zu verwenden. LogMiner

Diese Bewertung ist nur für eine Migration mit vollständigem Ladevorgang und CDC oder eine reine CDC-Migration gültig. Diese Bewertung ist nicht für eine Migration nur mit vollständigem Ladevorgang gültig.

Weitere Informationen finden Sie unter [Verwenden von Oracle LogMiner oder AWS DMS Binary Reader für CDC](CHAP_Source.Oracle.md#CHAP_Source.Oracle.CDC).

## Überprüfen Sie, ob der DMS-Benutzer über Berechtigungen für das Ziel verfügt
<a name="CHAP_Tasks.AssessmentReport.Oracle.TargetPermissions"></a>

**API-Schlüssel:** `oracle-validate-permissions-on-target`

Bei dieser Bewertung vor der Migration wird überprüft, ob DMS-Benutzer über alle erforderlichen Berechtigungen für die Zieldatenbank verfügen. 

## Überprüfen Sie, ob eine zusätzliche Protokollierung für alle Spalten erforderlich ist
<a name="CHAP_Tasks.AssessmentReport.Oracle.SupplementalLoggingColumns"></a>

**API-Schlüssel:** `oracle-validate-supplemental-logging-all-columns`

Bei dieser Bewertung vor der Migration wird für die im Aufgabenbereich genannten Tabellen überprüft, ob allen Tabellenspalten ohne Primär- oder Einzelschlüssel zusätzliche Protokollierung hinzugefügt wurde. Ohne zusätzliche Protokollierung aller Spalten für eine Tabelle, der ein primärer oder eindeutiger Schlüssel fehlt, ist das before-and-after Bild der Daten nicht in den Redo-Logs verfügbar. DMS erfordert eine zusätzliche Protokollierung für Tabellen ohne Primärschlüssel oder eindeutigen Schlüssel, um DML-Anweisungen zu generieren. 

## Überprüfen Sie, ob die zusätzliche Protokollierung für Tabellen mit Primärschlüsseln oder eindeutigen Schlüsseln aktiviert ist
<a name="CHAP_Tasks.AssessmentReport.Oracle.SupplementalLoggingIndexes"></a>

**API-Schlüssel:** `oracle-validate-supplemental-logging-for-pk`

 Bei dieser Bewertung vor der Migration wird überprüft, ob die zusätzliche Protokollierung für Tabellen mit einem Primärschlüssel oder einem eindeutigen Index aktiviert ist, und es wird auch geprüft, ob die zusätzliche Protokollierung auf `AddSupplementalLogging` Endpunktebene aktiviert ist. Um sicherzustellen, dass DMS Änderungen replizieren kann, können Sie entweder manuell zusätzliche Protokollierung auf Tabellenebene hinzufügen, die auf dem Primärschlüssel oder dem eindeutigen Schlüssel basiert, oder Sie können die Endpunkteinstellung `AddSupplementalLogging = true` verwenden, wenn ein DMS-Benutzer über die ALTER-Berechtigung für jede replizierte Tabelle verfügt. 

## Überprüfen Sie, ob dies der Fall ist SecureFile LOBs und ob die Aufgabe für den vollständigen LOB-Modus konfiguriert ist
<a name="CHAP_Tasks.AssessmentReport.Oracle.SecureFileLOBs"></a>

**API-Schlüssel:** `oracle-validate-securefile-lobs`

Bei dieser Bewertung vor der Migration wird geprüft, ob In-Tabellen innerhalb des SecureFile LOBs Aufgabenbereichs vorhanden sind, und ihre LOB-Einstellungen werden überprüft. Erwägen Sie, LOB-Tabellen einer separaten Aufgabe zuzuweisen, um die Leistung zu verbessern, da die Ausführung von Aufgaben im vollständigen LOB-Modus zu einer geringeren Leistung führen kann. 

## Überprüfen Sie, ob funktionsbasierte Indizes in den Tabellen verwendet werden, die im Aufgabenbereich enthalten sind.
<a name="CHAP_Tasks.AssessmentReport.Oracle.FunctionBasedIndexes"></a>

**API-Schlüssel:** `oracle-validate-function-based-indexes`

Bei dieser Bewertung vor der Migration wird geprüft, ob funktionsbasierte Indizes für Tabellen innerhalb des Aufgabenbereichs vorhanden sind. Beachten Sie, dass die Replikation AWS DMS funktionsbasierter Indizes nicht unterstützt wird. Erwägen Sie, die Indizes nach der Migration in Ihrer Zieldatenbank zu erstellen.

## Überprüfen Sie, ob globale temporäre Tabellen für die Tabellen verwendet werden, die im Aufgabenbereich enthalten sind.
<a name="CHAP_Tasks.AssessmentReport.Oracle.GlobalTemporaryTables"></a>

**API-Schlüssel:** `oracle-validate-global-temporary-tables`

Bei dieser Bewertung vor der Migration wird geprüft, ob globale temporäre Tabellen innerhalb des Aufgabenbereichs für die Zuordnung von Tabellen verwendet werden. Beachten Sie, dass die Migration oder Replikation globaler temporärer Tabellen AWS DMS nicht unterstützt wird.

## Überprüfen Sie, ob indexorganisierte Tabellen mit einem Überlaufsegment für die Tabellen verwendet werden, die im Aufgabenbereich enthalten sind.
<a name="CHAP_Tasks.AssessmentReport.Oracle.IndexOrganizedTables"></a>

**API-Schlüssel:** `oracle-validate-iot-overflow-segments`

Überprüfen Sie, ob indexorganisierte Tabellen mit einem Überlaufsegment für die im Aufgabenbereich enthaltenen Tabellen verwendet werden. AWS DMS unterstützt CDC nicht für indexorganisierte Tabellen mit einem Überlaufsegment.

## Überprüfen Sie, ob für die im Aufgabenbereich enthaltenen Tabellen verschachtelte Tabellen mit mehreren Ebenen verwendet werden.
<a name="CHAP_Tasks.AssessmentReport.Oracle.MultilevelNestingTables"></a>

**API-Schlüssel:** `oracle-validate-more-than-one-nesting-table-level`

Bei dieser Bewertung vor der Migration wird die Verschachtelungsebene der im Aufgabenbereich verwendeten verschachtelten Tabelle geprüft. AWS DMS unterstützt nur eine Ebene der Tabellenverschachtelung.

## Überprüfen Sie, ob in den Tabellen, die im Aufgabenbereich enthalten sind, unsichtbare Spalten verwendet werden.
<a name="CHAP_Tasks.AssessmentReport.Oracle.InvisibleColumns"></a>

**API-Schlüssel:** `oracle-validate-invisible-columns`

Bei dieser Bewertung vor der Migration wird geprüft, ob die im Aufgabenbereich verwendeten Tabellen unsichtbare Spalten enthalten. AWS DMS migriert keine Daten aus unsichtbaren Spalten in Ihrer Quelldatenbank. Um die unsichtbaren Spalten zu migrieren, müssen Sie sie so ändern, dass sie sichtbar sind.

## Überprüfen Sie, ob materialisierte Ansichten, die auf einer ROWID-Spalte basieren, für die im Aufgabenbereich enthaltenen Tabellen verwendet werden.
<a name="CHAP_Tasks.AssessmentReport.Oracle.RowIDMaterialViews"></a>

**API-Schlüssel:** `oracle-validate-rowid-based-materialized-views`

Bei dieser Bewertung vor der Migration wird geprüft, ob die bei der Migration verwendeten materialisierten Ansichten auf der Grundlage der ROWID-Spalte erstellt wurden. AWS DMS unterstützt weder den ROWID-Datentyp noch materialisierte Ansichten, die auf einer ROWID-Spalte basieren.

## Überprüfen Sie, ob die Active Data Guard DML Redirect-Funktion verwendet wird.
<a name="CHAP_Tasks.AssessmentReport.Oracle.ActiveDataGuard"></a>

**API-Schlüssel:** `oracle-validate-adg-redirect-dml`

Diese Bewertung vor der Migration bestätigt, ob die Active Data Guard DML Redirect-Funktion verwendet wird. Wenn Sie Oracle 19.0 als Quelle verwenden, wird die Data Guard DML Redirect-Funktion AWS DMS nicht unterstützt.

## Überprüfen Sie, ob hybride partitionierte Tabellen verwendet werden.
<a name="CHAP_Tasks.AssessmentReport.Oracle.HybridPartitionedTables"></a>

**API-Schlüssel:** `oracle-validate-hybrid-partitioned-tables`

Bei dieser Bewertung vor der Migration wird geprüft, ob hybride partitionierte Tabellen für die im Aufgabenbereich definierten Tabellen verwendet werden.

## Überprüfen Sie, ob Oracle-Konten verwendet werden, die nur auf Schemas basieren
<a name="CHAP_Tasks.AssessmentReport.Oracle.SchemaOnly"></a>

**API-Schlüssel:** `oracle-validate-schema-only-accounts`

Bei dieser Bewertung vor der Migration wird geprüft, ob im Aufgabenbereich ausschließlich Schema-Konten gefunden werden.

## Überprüfen Sie, ob virtuelle Spalten verwendet werden
<a name="CHAP_Tasks.AssessmentReport.Oracle.VirtualColumns"></a>

**API-Schlüssel:** `oracle-validate-virtual-columns`

Bei dieser Bewertung vor der Migration wird geprüft, ob die Oracle-Instanz virtuelle Spalten in Tabellen innerhalb des Aufgabenbereichs hat.

## Überprüfen Sie, ob die im Aufgabenbereich definierten Tabellennamen Apostrophe enthalten.
<a name="CHAP_Tasks.AssessmentReport.Oracle.NamesWithApostrophes"></a>

**API-Schlüssel:** `oracle-validate-names-with-apostrophes`

Bei dieser Bewertung vor der Migration wird geprüft, ob die im Aufgabenbereich verwendeten Tabellen Apostrophe enthalten. AWS DMS repliziert keine Tabellen mit Namen, die Apostrophe enthalten. Falls identifiziert, sollten Sie erwägen, solche Tabellen umzubenennen. Alternativ könnten Sie eine Ansicht oder eine materialisierte Ansicht ohne Apostrophe erstellen, um diese Tabellen zu laden.

## Überprüfen Sie, ob die im Aufgabenbereich definierten Spalten `Long Raw` Datentypen, oder haben `XMLType``Long`, und überprüfen Sie die LOB-Moduskonfiguration in den Aufgabeneinstellungen.
<a name="CHAP_Tasks.AssessmentReport.Oracle.XMLLongRawDatatypes"></a>

**API-Schlüssel:** `oracle-validate-limited-lob-mode-for-longs`

Bei dieser Bewertung vor der Migration wird überprüft, ob die im Aufgabenbereich definierten Tabellen die Datentypen oder oder `Long Raw` haben, und es wird geprüft `XMLType``Long`, ob die Taskeinstellung für die Verwendung des LOB-Modus mit begrenzter Größe konfiguriert ist. AWS DMS unterstützt die Replikation dieser Datentypen im FULL LOB-Modus nicht. Erwägen Sie, bei der Identifizierung von Tabellen mit solchen Datentypen die Aufgabeneinstellung so zu ändern, dass der LOB-Modus „Beschränkte Größe“ verwendet wird.

## Überprüfen Sie, ob die Oracle-Quellversion von unterstützt wird. AWS DMS
<a name="CHAP_Tasks.AssessmentReport.Oracle.SourceOracleVersion"></a>

**API-Schlüssel:** `oracle-validate-supported-versions-of-source`

 Bei dieser Bewertung vor der Migration wird überprüft, ob die Version der Oracle-Quellinstanz von unterstützt wird. AWS DMS

## Überprüfen Sie, ob die Oracle-Zielversion von unterstützt wird. AWS DMS
<a name="CHAP_Tasks.AssessmentReport.Oracle.TargetOracleVersion"></a>

**API-Schlüssel:** `oracle-validate-supported-versions-of-target`

Bei dieser Bewertung vor der Migration wird überprüft, ob die Zielversion der Oracle-Instanz von unterstützt wird. AWS DMS

## Überprüfen Sie, ob der DMS-Benutzer über die erforderlichen Berechtigungen für die Datenvalidierung verfügt.
<a name="CHAP_Tasks.AssessmentReport.Oracle.DataValidation"></a>

**API-Schlüssel:** `oracle-prerequisites-privileges-of-validation-feature`

Bei dieser Bewertung vor der Migration wird geprüft, ob der DMS-Benutzer über die erforderlichen Rechte zur Verwendung der DMS-Datenvalidierung verfügt. Sie können die Aktivierung dieser Validierung ignorieren, wenn Sie nicht beabsichtigen, die Datenvalidierung zu verwenden.

## Überprüfen Sie, ob der DMS-Benutzer berechtigt ist, Binary Reader mit Oracle ASM zu verwenden
<a name="CHAP_Tasks.AssessmentReport.Oracle.BinaryReaderPrivilegesASM"></a>

**API-Schlüssel:** `oracle-prerequisites-privileges-of-binary-reader-asm`

Diese Bewertung vor der Migration validiert, ob der DMS-Benutzer über die erforderlichen Rechte verfügt, um Binary Reader auf der Oracle ASM-Instanz zu verwenden. Sie können die Aktivierung dieser Bewertung ignorieren, wenn Ihre Quelle keine Oracle ASM-Instanz ist oder wenn Sie Binary Reader for CDC nicht verwenden.

## Überprüfen Sie, ob der DMS-Benutzer berechtigt ist, Binary Reader mit Oracle Non-ASM zu verwenden
<a name="CHAP_Tasks.AssessmentReport.Oracle.BinaryReaderPrivilegesNonASM"></a>

**API-Schlüssel:** `oracle-prerequisites-privileges-of-binary-reader-non-asm`

Bei dieser Bewertung vor der Migration wird geprüft, ob der DMS-Benutzer über die erforderlichen Rechte verfügt, um Binary Reader auf der Nicht-ASM-Instanz von Oracle zu verwenden. Diese Bewertung ist nur gültig, wenn Sie über eine Nicht-ASM-Instanz von Oracle verfügen.

## Überprüfen Sie, ob der DMS-Benutzer berechtigt ist, Binary Reader mit Methode zu verwenden CopyToTempFolder
<a name="CHAP_Tasks.AssessmentReport.Oracle.BinaryReaderTemp"></a>

**API-Schlüssel:** `oracle-prerequisites-privileges-of-binary-reader-copy-to-temp-folder`

Bei dieser Bewertung vor der Migration wird geprüft, ob der DMS-Benutzer über die erforderlichen Rechte verfügt, um den Binary Reader mit der Methode „In temporären Ordner kopieren“ zu verwenden. Diese Bewertung ist nur relevant, wenn Sie beabsichtigen, CDC-Änderungen CopyToTempFolder zu lesen, während Sie den Binary Reader verwenden und eine ASM-Instanz mit der Quelle verbunden haben. Sie können die Aktivierung dieser Bewertung ignorieren, wenn Sie die CopyToTempFolder Funktion nicht verwenden möchten.

Wir empfehlen, die CopyToTempFolder Funktion nicht zu verwenden, da sie veraltet ist.

## Überprüfen Sie, ob der DMS-Benutzer berechtigt ist, Oracle Standby als Quelle zu verwenden
<a name="CHAP_Tasks.AssessmentReport.Oracle.StandbySource"></a>

**API-Schlüssel:** `oracle-prerequisites-privileges-of-standby-as-source`

Bei dieser Bewertung vor der Migration wird geprüft, ob der DMS-Benutzer über die erforderlichen Rechte verfügt, um eine StandBy Oracle-Instanz als Quelle zu verwenden. Sie können die Aktivierung dieser Bewertung ignorieren, wenn Sie nicht beabsichtigen, eine StandBy Oracle-Instanz als Quelle zu verwenden.

## Überprüfen Sie, ob die DMS-Quelle mit einem Anwendungscontainer (PDB) verbunden ist
<a name="CHAP_Tasks.AssessmentReport.Oracle.AppPdb"></a>

**API-Schlüssel:** `oracle-check-app-pdb`

Bei dieser Bewertung vor der Migration wird überprüft, ob die DMS-Quelle mit einem Anwendungscontainer PDB verbunden ist. DMS unterstützt keine Replikation aus einem Anwendungscontainer PDB.

## Überprüfen Sie, ob die Tabelle XML-Datentypen enthält, die im Aufgabenbereich enthalten sind.
<a name="CHAP_Tasks.AssessmentReport.Oracle.XmlColumns"></a>

**API-Schlüssel:** `oracle-check-xml-columns`

Bei dieser Bewertung vor der Migration wird überprüft, ob die im Aufgabenbereich verwendeten Tabellen XML-Datentypen enthalten. Außerdem wird geprüft, ob die Aufgabe für den eingeschränkten LOB-Modus konfiguriert ist, wenn die Tabelle einen XML-Datentyp enthält. DMS unterstützt nur den eingeschränkten LOB-Modus für die Migration von Oracle-XML-Spalten.

## Überprüfen Sie, ob der Archivelog-Modus in der Quelldatenbank aktiviert ist.
<a name="CHAP_Tasks.AssessmentReport.Oracle.Archivelog"></a>

**API-Schlüssel:** `oracle-check-archivelog-mode`

Bei dieser Bewertung vor der Migration wird überprüft, ob der Archivelog-Modus in der Quelldatenbank aktiviert ist. Die Aktivierung des Archivprotokollmodus in der Quelldatenbank ist erforderlich, damit DMS Änderungen replizieren kann.

## Validiert die Archivelog-Aufbewahrung für RDS Oracle.
<a name="CHAP_Tasks.AssessmentReport.Oracle.ArchivelogRetention"></a>

**API-Schlüssel:** `oracle-check-archivelog-retention-rds`

Diese Bewertung vor der Migration bestätigt, ob die Archivelog-Aufbewahrung in Ihrer RDS-Oracle-Datenbank für mindestens 24 Stunden konfiguriert ist.

## Überprüfen Sie, ob die Tabelle erweiterte Datentypen enthält, die im Aufgabenbereich enthalten sind.
<a name="CHAP_Tasks.AssessmentReport.Oracle.ExtendedColumns"></a>

**API-Schlüssel:** `oracle-check-extended-columns`

Mit dieser Bewertung vor der Migration wird überprüft, ob die im Aufgabenbereich verwendeten Tabellen erweiterte Datentypen haben. Beachten Sie, dass erweiterte Datentypen nur ab DMS-Version 3.5 unterstützt werden.

## Überprüfen Sie die Länge des Objektnamens, der im Aufgabenbereich enthalten ist.
<a name="CHAP_Tasks.AssessmentReport.Oracle.30ByteLimit"></a>

**API-Schlüssel:** `oracle-check-object-30-bytes-limit`

Bei dieser Bewertung vor der Migration wird überprüft, ob die Länge des Objektnamens 30 Byte überschreitet. DMS unterstützt keine langen Objektnamen (über 30 Byte).

## Überprüfen Sie, ob die DMS-Quelle mit einer Oracle PDB verbunden ist
<a name="CHAP_Tasks.AssessmentReport.Oracle.PDBEnabled"></a>

**API-Schlüssel:** `oracle-check-pdb-enabled`

Bei dieser Bewertung vor der Migration wird überprüft, ob die DMS-Quelle mit einer PDB verbunden ist. DMS unterstützt CDC nur, wenn der Binary Reader mit Oracle PDB als Quelle verwendet wird. Bei der Bewertung wird auch bewertet, ob die Aufgabe so konfiguriert ist, dass sie den Binärleser verwendet, wenn DMS mit Oracle PDB verbunden ist. 

## Überprüfen Sie, ob die Tabelle räumliche Spalten enthält, die im Aufgabenbereich enthalten sind.
<a name="CHAP_Tasks.AssessmentReport.Oracle.SpatialColumns"></a>

**API-Schlüssel:** `oracle-check-spatial-columns`

Bei dieser Bewertung vor der Migration wird überprüft, ob die Tabelle räumliche Spalten enthält, die im Aufgabenbereich enthalten sind. DMS unterstützt räumliche Datentypen nur im vollständigen LOB-Modus. Bei der Bewertung wird auch bewertet, ob die Aufgabe so konfiguriert ist, dass sie den Full LOB-Modus verwendet, wenn DMS räumliche Spalten identifiziert. 

## Überprüfen Sie, ob die DMS-Quelle mit einem Oracle-Standby verbunden ist.
<a name="CHAP_Tasks.AssessmentReport.Oracle.StandbyDB"></a>

**API-Schlüssel:** `oracle-check-standby-db`

Bei dieser Bewertung vor der Migration wird überprüft, ob die Quelle mit einem Oracle-Standby verbunden ist. DMS unterstützt CDC nur, wenn der Binärleser mit Oracle Standby als Quelle verwendet wird. Bei der Bewertung wird auch bewertet, ob die Aufgabe so konfiguriert ist, dass sie Binärlesegeräte verwendet, wenn DMS mit Oracle Standby verbunden ist. 

## Überprüfen Sie, ob der Tablespace der Quelldatenbank mit TDE verschlüsselt ist.
<a name="CHAP_Tasks.AssessmentReport.Oracle.StandbyDB"></a>

**API-Schlüssel:** `oracle-check-tde-enabled`

Mit dieser Bewertung vor der Migration wird überprüft, ob für die Quelle die TDE-Verschlüsselung im Tablespace aktiviert ist. DMS unterstützt TDE nur mit verschlüsselten Tablespaces, wenn Oracle für RDS Oracle verwendet wird. LogMiner 

## Überprüft, ob die Quelldatenbank Automatic Storage Management (ASM) verwendet
<a name="CHAP_Tasks.AssessmentReport.Oracle.ASMSource"></a>

**API-Schlüssel:** `oracle-check-asm`

Bei dieser Bewertung vor der Migration wird festgestellt, ob Ihre Quelldatenbank ASM verwendet. Für eine optimale Leistung konfigurieren Sie Binary Reader mit `parallelASMReadThreads` und `readAheadBlocks` -Parametern in Ihren Endpunkteinstellungen. Diese Einstellungen verbessern die Leistung der Datenextraktion bei der Arbeit mit ASM-Speicher

Weitere Informationen finden Sie unter [Verwenden von Oracle LogMiner oder AWS DMS Binary Reader für CDC](CHAP_Source.Oracle.md#CHAP_Source.Oracle.CDC).

## Überprüfen Sie, ob Batch Apply aktiviert ist und ob für die Tabelle in der Oracle-Zieldatenbank Parallelität auf Tabellen- oder Indexebene aktiviert ist
<a name="CHAP_Tasks.AssessmentReport.Oracle.batchapply"></a>

**API-Schlüssel:** `oracle-check-degree-of-parallelism`

AWS DMS überprüft, ob für die Tabelle in der Zieldatenbank Parallelität aktiviert ist. Wenn die Parallelität in der Zieldatenbank aktiviert ist, schlägt der Batch-Prozess fehl. Daher ist es erforderlich, die Parallelität auf Tabellen- oder Indexebene zu deaktivieren, wenn Sie die Batch-Anwendungsfunktion verwenden.

## Empfehlen Sie den Parameter „Bulk Array Size“, indem Sie die Tabellen im Aufgabenbereich validieren
<a name="CHAP_Tasks.AssessmentReport.Oracle.bulkarraysize"></a>

**API-Schlüssel:** `oracle-check-bulk-array-size`

Bei dieser Bewertung wird empfohlen, den `BulkArraySize` Wert ECA (Extra Connection Attribute) festzulegen, falls im Aufgabenbereich keine Tabellen mit LOB-Datentypen (Large Object) gefunden wurden. Durch das Einstellen des `BulkArraySize` ECA kann die Leistung in der Volllastphase der Migration verbessert werden. Sie können die Größe des Bulk-Arrays mithilfe der ECA auf dem Source/Target Endpunkt festlegen, um während der Volllastphase der Migration eine optimale Leistung zu erzielen.

## Überprüfen Sie, ob die HandleCollationDiff Aufgabeneinstellung konfiguriert ist
<a name="CHAP_Tasks.AssessmentReport.Oracle.handlecollationdiff"></a>

**API-Schlüssel:** `oracle-check-handlecollationdiff`

Diese Bewertung bestätigt, ob die DMS-Aufgabe für die Validierung konfiguriert ist, und empfiehlt eine `HandleCollationDiff` Task-Einstellung, um falsche Validierungsergebnisse bei der Validierung von Daten zwischen Oracle und PostgreSQL zu vermeiden. 

Weitere Informationen finden Sie unter [Aufgabeneinstellungen zur Datenvalidierung](CHAP_Tasks.CustomizingTasks.TaskSettings.DataValidation.md).

## Überprüfen Sie, ob die Tabelle einen Primärschlüssel oder einen eindeutigen Index hat und ob ihr Status GÜLTIG ist, wenn die DMS-Validierung aktiviert ist
<a name="CHAP_Tasks.AssessmentReport.Oracle.pkvalidity"></a>

**API-Schlüssel:** `oracle-check-pk-validity`

Für die Datenvalidierung muss die Tabelle sowohl für die Quelle als auch für das Ziel über einen Primärschlüssel oder einen eindeutigen Index verfügen. 

Weitere Informationen finden Sie unter [AWS DMS-Datenvalidierung](CHAP_Validating.md).

## Überprüfen Sie, ob Binary Reader für Oracle Standby als Quelle verwendet wird
<a name="CHAP_Tasks.AssessmentReport.Oracle.binaryreader"></a>

**API-Schlüssel:** `oracle-check-binary-reader`

Diese Bewertung bestätigt, ob die Quelldatenbank eine Standby-Datenbank ist und den Binary Reader for Change Data Capture (CDC) verwendet. 

Weitere Informationen finden Sie unter [Verwendung einer Oracle-Datenbank als Quelle für AWS DMS](CHAP_Source.Oracle.md).

## Überprüfen Sie, ob der AWS DMS Benutzer über die erforderlichen Verzeichnisberechtigungen verfügt, um Daten aus einer Oracle RDS-Standby-Datenbank zu replizieren.
<a name="CHAP_Tasks.AssessmentReport.Oracle.directorypermissions"></a>

**API-Schlüssel:** `oracle-check-directory-permissions`

Bei dieser Bewertung wird überprüft, ob der AWS DMS Benutzer über die erforderlichen Leserechte für die `ONLINELOG_DIR_%` Verzeichnisse `ARCHIVELOG_DIR_%` und verfügt, wenn es sich bei der Quelldatenbank um eine Oracle RDS-Standby-Datenbank handelt. 

Weitere Informationen finden Sie unter [Arbeiten mit einer AWS-verwalteten Oracle-Datenbank als Quelle für AWS DMS](CHAP_Source.Oracle.md#CHAP_Source.Oracle.Amazon-Managed).

## Überprüfen Sie den Typ von Oracle Standby, der für die Replikation verwendet wird
<a name="CHAP_Tasks.AssessmentReport.Oracle.physicalstandby"></a>

**API-Schlüssel:** `oracle-check-physical-standby-with-apply`

Diese Bewertung validiert den Typ der Oracle-Standby-Datenbank, die für die AWS DMS Replikation verwendet wird. AWS DMS unterstützt nur physische Standby-Datenbanken, die im schreibgeschützten Modus geöffnet werden müssen, wobei die Redo-Logs automatisch angewendet werden. AWS DMS unterstützt keine Snapshot- oder Logical Standby-Datenbanken für die Replikation. 

Weitere Informationen finden Sie unter [Verwenden eines selbstverwalteten Oracle Standby als Quelle mit Binary Reader for CDC in AWS DMS](CHAP_Source.Oracle.md#CHAP_Source.Oracle.Self-Managed.BinaryStandby).

## Überprüfen Sie, ob die erforderlichen Verzeichnisse für RDS Oracle Standby erstellt wurden
<a name="CHAP_Tasks.AssessmentReport.Oracle.rdsstandby"></a>

**API-Schlüssel:** `oracle-check-rds-standby-directories`

Bei dieser Bewertung wird überprüft, ob die erforderlichen Oracle-Verzeichnisse für Archivprotokolle und Online-Protokolle auf der RDS-Standby-Instance erstellt wurden.

Weitere Informationen finden Sie unter [Verwenden eines Amazon RDS Oracle Standby (Read Replica) als Quelle mit Binary Reader for CDC in AWS DMS](CHAP_Source.Oracle.md#CHAP_Source.Oracle.Amazon-Managed.StandBy).

## Überprüfen Sie, ob ein Primärschlüssel oder ein eindeutiger Index auf dem Ziel für Batch Apply vorhanden ist
<a name="CHAP_Tasks.AssessmentReport.Oracle.batchapplypkui"></a>

**API-Schlüssel:** `oracle-check-batch-apply-target-pk-ui-absence`

Batch Apply wird nur für Tabellen mit Primärschlüsseln oder eindeutigen Indizes in der Zieltabelle unterstützt. Bei Tabellen ohne Primärschlüssel oder eindeutige Indizes schlägt der Batch fehl und die Änderungen werden nacheinander verarbeitet. Es ist ratsam, solche Tabellen ihren eigenen Aufgaben zuzuordnen und stattdessen den Transaktionsmodus „Anwenden“ zu verwenden. Alternativ können Sie einen eindeutigen Schlüssel für die Zieltabelle erstellen.

Weitere Informationen finden Sie unter [Verwendung einer Oracle-Datenbank als Ziel für AWS Database Migration Service](CHAP_Target.Oracle.md).

## Überprüfen Sie, ob sowohl der Primärschlüssel als auch der eindeutige Index auf dem Ziel für Batch Apply vorhanden sind
<a name="CHAP_Tasks.AssessmentReport.Oracle.batchapplypkuitarget"></a>

**API-Schlüssel:** `oracle-check-batch-apply-target-pk-ui-simultaneously`

Batch Apply wird nur für Tabellen mit Primärschlüsseln oder eindeutigen Indizes in der Zieltabelle unterstützt. Bei Tabellen mit Primärschlüsseln und eindeutigen Indizes schlägt der Batch gleichzeitig fehl und die Änderungen werden nacheinander verarbeitet. Es ist ratsam, solche Tabellen ihren eigenen Aufgaben zuzuordnen und stattdessen den Transaktionsmodus „Anwenden“ zu verwenden. Alternativ können Sie einen oder mehrere eindeutige Schlüssel oder Primärschlüssel in der Zieltabelle ablegen und diese neu erstellen, wenn Sie eine Migration durchführen.

Weitere Informationen finden Sie unter [Verwendung einer Oracle-Datenbank als Ziel für AWS Database Migration Service](CHAP_Target.Oracle.md).

## Überprüfen Sie, ob nicht unterstützte HCC-Stufen für Volllast verwendet werden
<a name="CHAP_Tasks.AssessmentReport.Oracle.hccfullload"></a>

**API-Schlüssel:** `oracle-check-binary-reader-hcc-full-load`

Der Oracle-Quellendpunkt ist für die Verwendung von Binary Reader konfiguriert. Die HCC-Komprimierungsmethode Query Low wird nur für Volllast-Aufgaben unterstützt.

Weitere Informationen finden Sie unter [Unterstützte Komprimierungsmethoden für die Verwendung von Oracle als Quelle für AWS DMS](CHAP_Source.Oracle.md#CHAP_Source.Oracle.Compression).

## Überprüfen Sie, ob nicht unterstützte HCC-Stufen für Full Load mit CDC verwendet werden
<a name="CHAP_Tasks.AssessmentReport.Oracle.hccandcdc"></a>

**API-Schlüssel:** `oracle-check-binary-reader-hcc-full-load-and-cdc`

Der Oracle-Quellendpunkt ist für die Verwendung von Binary Reader konfiguriert. HCC mit Query Low wird nur für die Aufgabe Full Load unterstützt.

[Unterstützte Komprimierungsmethoden für die Verwendung von Oracle als Quelle für AWS DMS](CHAP_Source.Oracle.md#CHAP_Source.Oracle.Compression)

## Überprüfen Sie, ob die HCC-Komprimierung für CDC verwendet wird, die nicht unterstützt wird
<a name="CHAP_Tasks.AssessmentReport.Oracle.binaryreaderhcccdc"></a>

**API-Schlüssel:** `oracle-check-binary-reader-hcc-cdc`

Der Oracle-Quellendpunkt ist für die Verwendung von Binary Reader konfiguriert. Binary Reader unterstützt Query Low für Aufgaben mit CDC nicht.

Weitere Informationen finden Sie unter [Verwenden von Oracle LogMiner oder AWS DMS Binary Reader für CDC](CHAP_Source.Oracle.md#CHAP_Source.Oracle.CDC).

## CDC-Empfehlung basierend auf der Quellkomprimierungsmethode
<a name="CHAP_Tasks.AssessmentReport.Oracle.cdcmethodbycompression"></a>

**API-Schlüssel:** `oracle-recommend-cdc-method-by-compression`

Komprimierte Objekte werden erkannt. Bitte gehen Sie zum Abschnitt „Ergebnis“ der spezifischen Bewertung, um weitere Empfehlungen zu erhalten.

Weitere Informationen finden Sie unter [Verwenden von Oracle LogMiner oder AWS DMS Binary Reader für CDC](CHAP_Source.Oracle.md#CHAP_Source.Oracle.CDC).

## Prüfen Sie, ob Batch Apply aktiviert ist, und überprüfen Sie, ob die Tabelle mehr als 999 Spalten enthält
<a name="CHAP_Tasks.AssessmentReport.Oracle.batchapplylob"></a>

**API-Schlüssel:** `oracle-batch-apply-lob-999`

DMS verwendet die `2 * columns_in_original_table + columns_in_primary_key` Formel, um die Anzahl der Spalten in der Kundentabelle zu bestimmen. Basierend auf dieser Formel haben wir Tabellen mit mehr als 999 Spalten identifiziert. Dies wirkt sich auf den Batch-Prozess aus und führt dazu, dass er fehlschlägt und in den one-by-one Modus wechselt.

Weitere Informationen finden Sie unter [Einschränkungen von Oracle als Ziel für AWS Database Migration Service](CHAP_Target.Oracle.md#CHAP_Target.Oracle.Limitations).

## Überprüfen Sie die Transformationsregel für Ziffern nach dem Zufallsprinzip
<a name="CHAP_Tasks.AssessmentReport.Oracle.digits.randomize"></a>

**API-Schlüssel:** `oracle-datamasking-digits-randomize`

Mit dieser Bewertung wird geprüft, ob die in Tabellenzuordnungen verwendeten Spalten mit der Transformationsregel Digits Randomize kompatibel sind. Darüber hinaus wird bei der Bewertung geprüft, ob die für die Transformation ausgewählten Spalten Teil von Primärschlüsseln, eindeutigen Einschränkungen oder Fremdschlüsseln sind, da die Anwendung von Transformationen mit zufälligen Zahlen keine Eindeutigkeit garantiert.

## Überprüfen Sie die Transformationsregel für die Ziffernmaske
<a name="CHAP_Tasks.AssessmentReport.Oracle.digits.mask"></a>

**API-Schlüssel:** `oracle-datamasking-digits-mask`

Bei dieser Bewertung wird geprüft, ob die in der Tabellenzuordnung verwendeten Spalten nicht von der Transformationsregel für die Ziffernmaske unterstützt werden. Darüber hinaus wird bei der Bewertung geprüft, ob die für die Transformation ausgewählten Spalten Teil von Primärschlüsseln, eindeutigen Einschränkungen oder Fremdschlüsseln sind, da die Anwendung von Ziffernmaskentransformationen auf solche Spalten zu Fehlern bei DMS-Aufgaben führen kann, da die Eindeutigkeit nicht garantiert werden kann.

## Überprüfen Sie die Transformationsregel für die Hashing-Maske
<a name="CHAP_Tasks.AssessmentReport.Oracle.hash.mask"></a>

**API-Schlüssel:** `oracle-datamasking-hash-mask`

Bei dieser Bewertung wird geprüft, ob eine der in der Tabellenzuordnung verwendeten Spalten von der Hashing-Masken-Transformationsregel nicht unterstützt wird. Außerdem wird geprüft, ob die Länge der Quellspalte 64 Zeichen überschreitet. Idealerweise sollte die Länge der Zielspalte mehr als 64 Zeichen betragen, um die Hash-Maskierung zu unterstützen. Darüber hinaus wird bei der Bewertung geprüft, ob die für die Transformation ausgewählten Spalten Teil von Primärschlüsseln, eindeutigen Beschränkungen oder Fremdschlüsseln sind, da die Anwendung von Zufallszahlen bei Transformationen keine Eindeutigkeit garantiert.

## Stellen Sie sicher, dass die Einstellungen für die Datenvalidierung und die Randomisierung von Ziffern nicht gleichzeitig aktiviert sind
<a name="CHAP_Tasks.AssessmentReport.Oracle.all.digit.random"></a>

**API-Schlüssel:** `all-to-all-validation-with-datamasking-digits-randomize`

Bei dieser Bewertung vor der Migration wird überprüft, ob die Einstellung für die Datenvalidierung und die Randomisierung von Ziffern für die Datenmaskierung nicht gleichzeitig aktiviert sind, da diese Funktionen nicht kompatibel sind.

## Stellen Sie sicher, dass die Einstellungen für die Datenvalidierungsaufgabe und die Hashing-Maske für Datenmaskierung nicht gleichzeitig aktiviert sind
<a name="CHAP_Tasks.AssessmentReport.Oracle.all.hash.mask"></a>

**API-Schlüssel:** `all-to-all-validation-with-datamasking-hash-mask`

Bei dieser Bewertung vor der Migration wird überprüft, ob die Datenvalidierungseinstellung und die Datenmaskierungs-Hashing-Maske nicht gleichzeitig aktiviert sind, da diese Funktionen nicht kompatibel sind.

## Stellen Sie sicher, dass die Einstellungen für die Datenvalidierungsaufgabe und die Datenmaskierungs-Ziffernmaske nicht gleichzeitig aktiviert sind
<a name="CHAP_Tasks.AssessmentReport.Oracle.all.digit.mask"></a>

**API-Schlüssel:** `all-to-all-validation-with-digit-mask`

Bei dieser Bewertung vor der Migration wird überprüft, ob die Datenvalidierungseinstellungen und die Datenmaskierungs-Ziffernmaske nicht gleichzeitig aktiviert sind, da diese Funktionen nicht kompatibel sind.

## Stellen Sie sicher, dass die Replikation auf ein Streaming-Ziel keine Spalten vom Datentyp enthält LOBs oder erweitert
<a name="CHAP_Tasks.AssessmentReport.Oracle.streaming-target"></a>

**API-Schlüssel:** `oracle-validate-lob-to-streaming-target`

Diese Bewertung identifiziert potenziellen Datenverlust bei der Migration von LOB- oder erweiterten Datentypen auf Streaming-Zielendpunkte (wie S3, Kinesis oder Kafka). Die Oracle-Datenbank verfolgt keine Änderungen an diesen Datentypen in ihren Protokolldateien, was dazu führt, dass DMS Werte in das Streaming-Ziel schreibt`NULL`. Um Datenverlust zu verhindern, können Sie in der Quelldatenbank einen Trigger `before` '' implementieren, der Oracle zwingt, diese Änderungen zu protokollieren.

## Stellen Sie sicher, dass die reine CDC-Aufgabe so konfiguriert ist, dass sie die `OpenTransactionWindow` Endpunkteinstellung verwendet
<a name="CHAP_Tasks.AssessmentReport.Oracle.open.tx.window"></a>

**API-Schlüssel:** `oracle-check-cdc-open-tx-window`

Verwenden Sie diese Option für reine CDC-Aufgaben, um fehlende Daten `OpenTransactionWindow` zu vermeiden. Weitere Informationen finden Sie unter [Aufgaben für die laufende Replikation erstellen](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Task.CDC.html) mit. AWS DMS

## Stellen Sie sicher, dass mindestens ein ausgewähltes Objekt in der Quelldatenbank vorhanden ist
<a name="CHAP_Tasks.AssessmentReport.Oracle.all.check.source.selection.rules"></a>

**API-Schlüssel:** `all-check-source-selection-rules`

Bei dieser Bewertung vor der Migration wird überprüft, ob mindestens ein in den Auswahlregeln angegebenes Objekt in der Quelldatenbank vorhanden ist, einschließlich des Musterabgleichs für Regeln, die auf Platzhaltern basieren.

## Stellen Sie sicher, dass Ziel-Fremdschlüsseleinschränkungen für die Migration deaktiviert sind
<a name="CHAP_Tasks.AssessmentReport.Oracle.target.foreign.key.constraints.check"></a>

**API-Schlüssel:** `oracle-target-foreign-key-constraints-check`

Bei dieser Bewertung vor der Migration werden aktive Fremdschlüsseleinschränkungen in der Zieldatenbank erkannt, die zu Migrationsfehlern führen können (ORA-02291).

## Stellen Sie sicher, dass die Oracle-Datenbank und die Oracle-Versionen kompatibel sind AWS DMS
<a name="CHAP_Tasks.AssessmentReport.Oracle.dms.compatibility.version.check"></a>

**API-Schlüssel:** `oracle-dms-compatibility-version-check`

Bei dieser Bewertung vor der Migration wird festgestellt, ob Ihre Oracle-Datenbankversion nicht mit Ihrer AWS DMS Version kompatibel ist. Diese Diskrepanz kann aufgrund nicht unterstützter Oracle Redo-Kompatibilitätseinstellungen zu Taskfehlern führen.

## Stellen Sie sicher, dass sekundäre Einschränkungen und Indizes (nicht primär) in der Quelldatenbank vorhanden sind
<a name="CHAP_Tasks.AssessmentReport.Oracle.all.check.secondary.constraints"></a>

**API-Schlüssel:** `all-check-secondary-constraints`

Bei dieser Bewertung vor der Migration wird überprüft, ob sekundäre Einschränkungen und Indizes (Fremdschlüssel, Prüfbeschränkungen, nicht gruppierte Indizes) in der Quelldatenbank vorhanden sind.

## Stellen Sie sicher, dass die Einstellungen für das Sitzungs-Timeout () auf gesetzt sind `IDLE_TIME` `UNLIMITED`
<a name="CHAP_Tasks.AssessmentReport.Oracle.check.idle.time"></a>

**API-Schlüssel:** `oracle-check-idle-time`

Bei dieser Bewertung vor der Migration wird überprüft, ob der `IDLE_TIME` Oracle-Datenbankparameter `UNLIMITED` für den Benutzer auf eingestellt ist. AWS DMS Ein begrenztes Sitzungs-Timeout kann dazu führen, dass Migrationsaufgaben aufgrund von Verbindungs-Timeouts fehlschlagen.

## Stellen Sie sicher, dass der AWS DMS Benutzer über alle erforderlichen Berechtigungen für die Quelldatenbank verfügt
<a name="CHAP_Tasks.AssessmentReport.Oracle.validate.permissions.on.source"></a>

**API-Schlüssel:** `oracle-validate-permissions-on-source`

Bei dieser Bewertung vor der Migration wird überprüft, ob der AWS DMS Benutzer mit allen erforderlichen Berechtigungen für die Quelldatenbank konfiguriert wurde.

## Stellen Sie sicher, dass `XMLTYPE` LOB-Spalten vorhanden sind, wenn Oracle verwendet wird LogMiner
<a name="CHAP_Tasks.AssessmentReport.Oracle.update.lob.columns"></a>

**API-Schlüssel:** `oracle-update-lob-columns`

Bei dieser Bewertung vor der Migration wird darauf hingewiesen, dass `XMLTYPE` LOB-Spalten in der Quelldatenbank vorhanden sind, wenn Oracle LogMiner verwendet wird.

## Stellen Sie sicher, dass es sich beim Zielendpunkt nicht um eine Read Replica handelt
<a name="CHAP_Tasks.AssessmentReport.Oracle.read.replica"></a>

**API-Schlüssel:** `all-check-target-read-replica`

Bei dieser Bewertung vor der Migration wird überprüft, ob der Zielendpunkt nicht als Read Replica konfiguriert ist. AWS DMS erfordert Schreibzugriff auf die Zieldatenbank und kann nicht in schreibgeschützte Replikate repliziert werden.

## Stellen Sie sicher, dass das Oracle-Ziel keine CONTEXT-Indizes hat, wenn Sie Direct Path Load verwenden
<a name="CHAP_Tasks.AssessmentReport.Oracle.directpath.index"></a>

**API-Schlüssel:** `oracle-check-direct-path-context-indexes`

Mit dieser Bewertung vor der Migration wird geprüft, ob die Oracle-Zieltabellen CONTEXT-Indizes enthalten. AWS DMS unterstützt keine CONTEXT-Indizes, wenn Direct Path im Volllastmodus verwendet wird. Um Fehler zu vermeiden, deaktivieren Sie den Direct Path-Volllademodus oder entfernen Sie die CONTEXT-Indizes vor dem Laden.

Weitere Informationen finden Sie unter [Einschränkungen bei der Verwendung von Oracle als Quelle für AWS DMS](CHAP_Source.Oracle.md#CHAP_Source.Oracle.Limitations).

## Stellen Sie sicher, dass diese Option aktiviert `FailTasksOnLobTruncation` ist, wenn Sie den eingeschränkten LOB-Modus mit vorhandenen LOB-Spalten verwenden
<a name="CHAP_Tasks.AssessmentReport.Oracle.FailTasksOnLobTruncation"></a>

**API-Schlüssel:** `oracle-pg-lobs-with-failtasksonlobtruncation`

Bei dieser Bewertung vor der Migration wird überprüft, ob das `FailTasksOnLobTruncation` zusätzliche Verbindungsattribut auf „true“ gesetzt ist, wenn LOB-Spalten in ausgewählten Tabellen vorhanden sind und der eingeschränkte LOB-Modus angegeben ist. Diese Einstellung schlägt fehl, wenn LOB-Daten während der Migration gekürzt werden, wodurch ein unbemerkter Datenverlust verhindert wird.

Weitere Informationen finden Sie unter [Endpunkteinstellungen bei Verwendung von Oracle als Quelle für AWS DMS](CHAP_Source.Oracle.md#CHAP_Source.Oracle.ConnectionAttrib).

## Stellen Sie sicher, dass die `EnableHomogenousPartitionOps` Endpunkteinstellung aktiviert ist
<a name="CHAP_Tasks.AssessmentReport.Oracle.Homogenous.partition"></a>

**API-Schlüssel:** `oracle-homogenous-partition-ops`

Diese Bewertung vor der Migration bestätigt, dass die `EnableHomogenousPartitionOps` Endpunkteinstellung für homogene Oracle-Migrationen aktiviert ist. Diese Einstellung ist erforderlich, um DDL-Operationen für Oracle-Partitionen und Unterpartitionen AWS DMS zu replizieren.

Weitere Informationen finden Sie unter [Einschränkungen bei der Verwendung von Oracle als Quelle für AWS DMS](CHAP_Source.Oracle.md#CHAP_Source.Oracle.Limitations).

# SQL Server-Bewertungen
<a name="CHAP_Tasks.AssessmentReport.SqlServer"></a>

In diesem Abschnitt werden individuelle Vormigrationsbewertungen für Migrationsaufgaben beschrieben, bei denen ein Microsoft-SQL-Server-Quellendpunkt verwendet wird.

**Topics**
+ [Überprüfen Sie, ob bei Volllast sekundäre Indizes in der Zieldatenbank aktiviert sind](#CHAP_Tasks.AssessmentReport.SqlServer.SecondaryIndexesEnabled)
+ [Stellen Sie sicher, dass der eingeschränkte LOB-Modus nur verwendet wird, wenn er auf true gesetzt `BatchApplyEnabled` ist](#CHAP_Tasks.AssessmentReport.SqlServer.LimitedLOBMode)
+ [Überprüfen Sie, ob in der Zieldatenbank Trigger für Tabellen im Aufgabenbereich aktiviert sind](#CHAP_Tasks.AssessmentReport.SqlServer.TargetDatabaseTriggersEnabled)
+ [Prüfung, ob Tabellen im Aufgabenumfang berechnete Spalten enthalten](#CHAP_Tasks.AssessmentReport.SqlServer.ComputedColumns)
+ [Prüfung, ob Tabellen im Aufgabenumfang Columnstore-Indizes aufweisen](#CHAP_Tasks.AssessmentReport.SqlServer.ColumnstoreIndexes)
+ [Prüfung, ob speicheroptimierte Tabellen Teil des Aufgabenumfangs sind](#CHAP_Tasks.AssessmentReport.SqlServer.MemoryOptimized)
+ [Prüfung, ob temporale Tabellen Teil des Aufgabenumfangs sind](#CHAP_Tasks.AssessmentReport.SqlServer.TemporalTables)
+ [Prüfung, ob verzögerte Haltbarkeit auf Datenbankebene aktiviert ist](#CHAP_Tasks.AssessmentReport.SqlServer.DelayedDurability)
+ [Überprüfung, ob die beschleunigte Datenwiederherstellung auf Datenbankebene aktiviert ist](#CHAP_Tasks.AssessmentReport.SqlServer.AcceleratedRecovery)
+ [Prüfung, ob die Tabellenzuweisung mehr als 10 000 Tabellen mit Primärschlüsseln enthält](#CHAP_Tasks.AssessmentReport.SqlServer.TableMapping)
+ [Überprüfen Sie, ob die Quelldatenbank Tabellen oder Schemanamen mit Sonderzeichen enthält.](#CHAP_Tasks.AssessmentReport.SqlServer.SpecialCharacters)
+ [Prüfen Sie, ob die Quelldatenbank Spaltennamen mit maskierten Daten enthält](#CHAP_Tasks.AssessmentReport.SqlServer.MaskedData)
+ [Prüfen Sie, ob die Quelldatenbank verschlüsselte Backups enthält](#CHAP_Tasks.AssessmentReport.SqlServer.EncryptedBackups)
+ [Überprüfen Sie, ob die Quelldatenbank Backups enthält, die unter einer URL oder in Windows Azure gespeichert sind.](#CHAP_Tasks.AssessmentReport.SqlServer.RemoteBackups)
+ [Prüfen Sie, ob die Quelldatenbank Backups auf mehreren Festplatten enthält](#CHAP_Tasks.AssessmentReport.SqlServer.MultipleDisks)
+ [Überprüfen Sie, ob die Quelldatenbank über mindestens ein vollständiges Backup verfügt](#CHAP_Tasks.AssessmentReport.SqlServer.FullBackup)
+ [Prüfen Sie, ob die Quelldatenbank spärliche Spalten und eine Komprimierung der Spaltenstruktur aufweist.](#CHAP_Tasks.AssessmentReport.SqlServer.SparseOrStructureCompression)
+ [Überprüfen Sie, ob die Quelldatenbankinstanz über Auditing auf Serverebene für SQL Server 2008 oder SQL Server 2008 R2 verfügt](#CHAP_Tasks.AssessmentReport.SqlServer.Audit)
+ [Überprüfen Sie, ob die Quelldatenbank Geometriespalten für den vollständigen LOB-Modus enthält](#CHAP_Tasks.AssessmentReport.SqlServer.GeometryColumns)
+ [Überprüfen Sie, ob die Quelldatenbank Spalten mit der Identity-Eigenschaft enthält.](#CHAP_Tasks.AssessmentReport.SqlServer.Identity)
+ [Prüfen Sie, ob der DMS-Benutzer über FULL LOAD-Berechtigungen verfügt](#CHAP_Tasks.AssessmentReport.SqlServer.FullLoadPermissions)
+ [Prüfen Sie, ob der DMS-Benutzer über die Berechtigungen FULL LOAD und CDC oder nur CDC verfügt](#CHAP_Tasks.AssessmentReport.SqlServer.FullLoadCDCPermissions)
+ [Prüfen Sie, ob die MS-Replikation für CDC in lokalen oder EC2-Datenbanken aktiviert ist.](#CHAP_Tasks.AssessmentReport.SqlServer.IgnoreMsReplicationEnablement)
+ [Prüfen Sie, ob der DMS-Benutzer über die VIEW DEFINITION-Berechtigung verfügt.](#CHAP_Tasks.AssessmentReport.SqlServer.ViewDefinition)
+ [Prüfen Sie, ob der DMS-Benutzer die VIEW DATABASE STATE-Berechtigung für die MASTER-Datenbank für Benutzer ohne die Sysadmin-Rolle besitzt.](#CHAP_Tasks.AssessmentReport.SqlServer.ViewDatabaseState)
+ [Prüfen Sie, ob der DMS-Benutzer über die VIEW SERVER STATE-Berechtigung verfügt.](#CHAP_Tasks.AssessmentReport.SqlServer.)
+ [Überprüfen Sie, ob der Parameter für die Größe der Textantwort nicht unbegrenzt ist](#CHAP_Tasks.AssessmentReport.Sqlserver.replsizeparameter)
+ [Überprüfen Sie, ob auf dem Ziel ein Primärschlüssel oder ein eindeutiger Index für Batch Apply vorhanden ist](#CHAP_Tasks.AssessmentReport.Sqlserver.batchapply)
+ [Überprüfen Sie, ob sowohl der Primärschlüssel als auch der eindeutige Index auf dem Ziel vorhanden sind, wenn die Batch-Anwendung aktiviert ist](#CHAP_Tasks.AssessmentReport.Sqlserver.batchapplysimultaneously)
+ [Überprüfen Sie, ob die Tabelle einen Primärschlüssel oder einen eindeutigen Index hat, wenn die DMS-Validierung aktiviert ist](#CHAP_Tasks.AssessmentReport.Sqlserver.dmsvalidation)
+ [Überprüfen Sie, ob AWS DMS der Benutzer über die erforderlichen Rechte für das Ziel verfügt](#CHAP_Tasks.AssessmentReport.Sqlserver.dmsprivileges)
+ [Empfehlung zur Verwendung der Einstellung MaxFullLoadSubTasks](#CHAP_Tasks.AssessmentReport.Sqlserver.maxfullloadsubtask)
+ [Überprüfen Sie die Transformationsregel für Ziffern nach dem Zufallsprinzip](#CHAP_Tasks.AssessmentReport.Sqlserver.gigits.randomise)
+ [Überprüfen Sie die Transformationsregel für die Ziffernmaske](#CHAP_Tasks.AssessmentReport.Sqlserver.digits.mask)
+ [Überprüfen Sie die Transformationsregel für die Hashing-Maske](#CHAP_Tasks.AssessmentReport.Sqlserver.hash.mask)
+ [Stellen Sie sicher, dass die Einstellungen für die Datenvalidierung und die Randomisierung von Ziffern nicht gleichzeitig aktiviert sind](#CHAP_Tasks.AssessmentReport.Sqlserver.all.digits.random)
+ [Stellen Sie sicher, dass die Einstellungen für die Datenvalidierungsaufgabe und die Hashing-Maske für Datenmaskierung nicht gleichzeitig aktiviert sind](#CHAP_Tasks.AssessmentReport.Sqlserver.all.hash.mask)
+ [Stellen Sie sicher, dass die Einstellungen für die Datenvalidierungsaufgabe und die Datenmaskierungs-Ziffernmaske nicht gleichzeitig aktiviert sind](#CHAP_Tasks.AssessmentReport.Sqlserver.all.digit.mask)
+ [Stellen Sie sicher, dass mindestens ein ausgewähltes Objekt in der Quelldatenbank vorhanden ist](#CHAP_Tasks.AssessmentReport.Sqlserver.selection.rules)
+ [Stellen Sie sicher, dass sekundäre Einschränkungen und Indizes (nicht primär) in der Quelldatenbank vorhanden sind](#CHAP_Tasks.AssessmentReport.Sqlserver.secondary.constraints)
+ [Stellen Sie sicher, dass es sich beim Zielendpunkt nicht um eine Read Replica handelt](#CHAP_Tasks.AssessmentReport.Sqlserver.target.replica)
+ [Überprüfen Sie die Backup-Kette](#CHAP_Tasks.AssessmentReport.Sqlserver.backup.chain)
+ [Überprüfen Sie die Datenbankbenutzerberechtigungen für die Anwendung der `EXCLUSIVE_AUTOMATIC_TRUNCATION` Schutzrichtlinie](#CHAP_Tasks.AssessmentReport.Sqlserver.safeguard.permission)
+ [Überprüfen Sie die Verbindung mit dem sekundären Knoten und die erforderlichen Schutzattribute für den AWS DMS Quellendpunkt](#CHAP_Tasks.AssessmentReport.Sqlserver.node.safeguard.policy)
+ [Stellen Sie sicher, dass der Endpunkt über alle erforderlichen zusätzlichen Verbindungsattribute (ECAs) verfügt, wenn er mit einem sekundären AWS DMS Knoten verbunden ist](#CHAP_Tasks.AssessmentReport.Sqlserver.node.without.eca)

## Überprüfen Sie, ob bei Volllast sekundäre Indizes in der Zieldatenbank aktiviert sind
<a name="CHAP_Tasks.AssessmentReport.SqlServer.SecondaryIndexesEnabled"></a>

**API-Schlüssel:** `sqlserver-check-secondary-indexes`

Mit dieser Bewertung vor der Migration wird überprüft, ob sekundäre Indizes bei Volllast in der Zieldatenbank aktiviert sind. Wir empfehlen, dass Sie sekundäre Indizes deaktivieren oder entfernen.

Weitere Informationen finden Sie unter [Bewährte Methoden für AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_BestPractices.html).

## Stellen Sie sicher, dass der eingeschränkte LOB-Modus nur verwendet wird, wenn er auf true gesetzt `BatchApplyEnabled` ist
<a name="CHAP_Tasks.AssessmentReport.SqlServer.LimitedLOBMode"></a>

**API-Schlüssel:** `sqlserver-batch-apply-lob-mode`

Bei dieser Bewertung vor der Migration wird überprüft, ob die DMS-Aufgabe LOB-Spalten enthält. Wenn LOB-Spalten im Aufgabenbereich enthalten sind, dürfen Sie diesen Modus nur `BatchApplyEnabled` zusammen mit dem eingeschränkten LOB-Modus verwenden. Es wird empfohlen, separate Aufgaben für solche Tabellen zu erstellen und stattdessen den Transaktionsmodus „Anwenden“ zu verwenden.

Weitere Informationen finden Sie unter [Wie kann ich die DMS-Funktion zum Batch-Anwenden verwenden, um die CDC-Replikationsleistung zu verbessern?](https://repost.aws/knowledge-center/dms-batch-apply-cdc-replication) .

## Überprüfen Sie, ob in der Zieldatenbank Trigger für Tabellen im Aufgabenbereich aktiviert sind
<a name="CHAP_Tasks.AssessmentReport.SqlServer.TargetDatabaseTriggersEnabled"></a>

**API-Schlüssel:** `sqlserver-check-for-triggers`

AWS DMS identifizierte Trigger in der Zieldatenbank, die sich auf die Leistung der DMS-Volllastaufgabe und die Latenz auf der Zieldatenbank auswirken können. Stellen Sie sicher, dass diese Trigger während der Ausführung einer Aufgabe deaktiviert und während der Übergangszeit aktiviert sind.

## Prüfung, ob Tabellen im Aufgabenumfang berechnete Spalten enthalten
<a name="CHAP_Tasks.AssessmentReport.SqlServer.ComputedColumns"></a>

**API-Schlüssel:** `sqlserver-check-for-computed-fields`

Bei dieser Bewertung vor der Migration wird geprüft, ob berechnete Spalten vorhanden sind. AWS DMS unterstützt nicht das Replizieren von Änderungen aus berechneten SQL Server-Spalten.

Diese Bewertung ist nur für eine Migration mit vollständigem Ladevorgang und CDC oder eine reine CDC-Migration gültig. Diese Bewertung ist nicht für eine Migration nur mit vollständigem Ladevorgang gültig.

Weitere Informationen finden Sie unter [Einschränkungen bei der Verwendung von SQL Server als Quelle für AWS DMS](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.Limitations).

## Prüfung, ob Tabellen im Aufgabenumfang Columnstore-Indizes aufweisen
<a name="CHAP_Tasks.AssessmentReport.SqlServer.ColumnstoreIndexes"></a>

**API-Schlüssel:** `sqlserver-check-for-columnstore-indexes`

Bei dieser Bewertung vor der Migration wird geprüft, ob Tabellen mit Columnstore-Indizes vorhanden sind. AWS DMS unterstützt nicht das Replizieren von Änderungen aus SQL Server-Tabellen mit Columnstore-Indizes.

Diese Bewertung ist nur für eine Migration mit vollständigem Ladevorgang und CDC oder eine reine CDC-Migration gültig. Diese Bewertung ist nicht für eine Migration nur mit vollständigem Ladevorgang gültig.

Weitere Informationen finden Sie unter [Einschränkungen bei der Verwendung von SQL Server als Quelle für AWS DMS](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.Limitations).

## Prüfung, ob speicheroptimierte Tabellen Teil des Aufgabenumfangs sind
<a name="CHAP_Tasks.AssessmentReport.SqlServer.MemoryOptimized"></a>

**API-Schlüssel:** `sqlserver-check-for-memory-optimized-tables`

Bei dieser Bewertung vor der Migration wird geprüft, ob speicheroptimierte Tabellen vorhanden sind. AWS DMS unterstützt nicht das Replizieren von Änderungen aus speicheroptimierten Tabellen.

Diese Bewertung ist nur für eine Migration mit vollständigem Ladevorgang und CDC oder eine reine CDC-Migration gültig. Diese Bewertung ist nicht für eine Migration nur mit vollständigem Ladevorgang gültig.

Weitere Informationen finden Sie unter [Einschränkungen bei der Verwendung von SQL Server als Quelle für AWS DMS](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.Limitations).

## Prüfung, ob temporale Tabellen Teil des Aufgabenumfangs sind
<a name="CHAP_Tasks.AssessmentReport.SqlServer.TemporalTables"></a>

**API-Schlüssel:** `sqlserver-check-for-temporal-tables`

Bei dieser Bewertung vor der Migration wird geprüft, ob Temporaltabellen vorhanden sind. AWS DMS unterstützt nicht das Replizieren von Änderungen aus temporalen Tabellen.

Diese Bewertung ist nur für eine Migration mit vollständigem Ladevorgang und CDC oder eine reine CDC-Migration gültig. Diese Bewertung ist nicht für eine Migration nur mit vollständigem Ladevorgang gültig.

Weitere Informationen finden Sie unter [Einschränkungen bei der Verwendung von SQL Server als Quelle für AWS DMS](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.Limitations).

## Prüfung, ob verzögerte Haltbarkeit auf Datenbankebene aktiviert ist
<a name="CHAP_Tasks.AssessmentReport.SqlServer.DelayedDurability"></a>

**API-Schlüssel:** `sqlserver-check-for-delayed-durability`

Bei dieser Bewertung vor der Migration wird geprüft, ob eine verzögerte Haltbarkeit vorliegt. AWS DMS unterstützt nicht die Replikation von Änderungen aus Transaktionen mit verzögerter Haltbarkeit.

Diese Bewertung ist nur für eine Migration mit vollständigem Ladevorgang und CDC oder eine reine CDC-Migration gültig. Diese Bewertung ist nicht für eine Migration nur mit vollständigem Ladevorgang gültig.

Weitere Informationen finden Sie unter [Einschränkungen bei der Verwendung von SQL Server als Quelle für AWS DMS](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.Limitations).

## Überprüfung, ob die beschleunigte Datenwiederherstellung auf Datenbankebene aktiviert ist
<a name="CHAP_Tasks.AssessmentReport.SqlServer.AcceleratedRecovery"></a>

**API-Schlüssel:** `sqlserver-check-for-accelerated-data-recovery`

Bei dieser Bewertung vor der Migration wird geprüft, ob eine beschleunigte Datenwiederherstellung vorliegt. AWS DMS unterstützt nicht das Replizieren von Änderungen aus Datenbanken mit beschleunigter Datenwiederherstellung.

Diese Bewertung ist nur für eine Migration mit vollständigem Ladevorgang und CDC oder eine reine CDC-Migration gültig. Diese Bewertung ist nicht für eine Migration nur mit vollständigem Ladevorgang gültig.

Weitere Informationen finden Sie unter [Einschränkungen bei der Verwendung von SQL Server als Quelle für AWS DMS](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.Limitations).

## Prüfung, ob die Tabellenzuweisung mehr als 10 000 Tabellen mit Primärschlüsseln enthält
<a name="CHAP_Tasks.AssessmentReport.SqlServer.TableMapping"></a>

**API-Schlüssel:** `sqlserver-large-number-of-tables`

Bei dieser Vormigrationsbewertung wird geprüft, ob mehr als 10 000 Tabellen mit Primärschlüsseln vorhanden sind. Bei Datenbanken, die mit MS-Replikation konfiguriert sind, können Aufgaben fehlschlagen, wenn zu viele Tabellen mit Primärschlüsseln vorhanden sind.

Diese Bewertung ist nur für eine Migration mit vollständigem Ladevorgang und CDC oder eine reine CDC-Migration gültig. Diese Bewertung ist nicht für eine Migration nur mit vollständigem Ladevorgang gültig.

Weitere Informationen zum Konfigurieren einer MS-Replikation finden Sie unter [Erfassung von Datenänderungen für die laufende Replikation von SQL Server](CHAP_Source.SQLServer.CDC.md).

## Überprüfen Sie, ob die Quelldatenbank Tabellen oder Schemanamen mit Sonderzeichen enthält.
<a name="CHAP_Tasks.AssessmentReport.SqlServer.SpecialCharacters"></a>

**API-Schlüssel:** `sqlserver-check-for-special-characters`

Bei dieser Bewertung vor der Migration wird überprüft, ob die Quelldatenbank Tabellen- oder Schemanamen enthält, die ein Zeichen aus dem folgenden Satz enthalten:

```
\\ -- \n \" \b \r ' \t ;
```

Weitere Informationen finden Sie unter [Einschränkungen bei der Verwendung von SQL Server als Quelle für AWS DMS](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.Limitations).

## Prüfen Sie, ob die Quelldatenbank Spaltennamen mit maskierten Daten enthält
<a name="CHAP_Tasks.AssessmentReport.SqlServer.MaskedData"></a>

**API-Schlüssel:** `sqlserver-check-for-masked-data`

Bei dieser Bewertung vor der Migration wird überprüft, ob die Quelldatenbank maskierte Daten enthält. AWS DMS migriert maskierte Daten ohne Maskierung.

Weitere Informationen finden Sie unter [Einschränkungen bei der Verwendung von SQL Server als Quelle für AWS DMS](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.Limitations).

## Prüfen Sie, ob die Quelldatenbank verschlüsselte Backups enthält
<a name="CHAP_Tasks.AssessmentReport.SqlServer.EncryptedBackups"></a>

**API-Schlüssel:** `sqlserver-check-for-encrypted-backups`

Bei dieser Bewertung vor der Migration wird überprüft, ob die Quelldatenbank verschlüsselte Backups enthält.

Weitere Informationen finden Sie unter [Einschränkungen bei der Verwendung von SQL Server als Quelle für AWS DMS](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.Limitations).

## Überprüfen Sie, ob die Quelldatenbank Backups enthält, die unter einer URL oder in Windows Azure gespeichert sind.
<a name="CHAP_Tasks.AssessmentReport.SqlServer.RemoteBackups"></a>

**API-Schlüssel:** `sqlserver-check-for-backup-url`

Bei dieser Bewertung vor der Migration wird überprüft, ob in der Quelldatenbank Backups unter einer URL oder in Windows Azure gespeichert sind.

Weitere Informationen finden Sie unter [Einschränkungen bei der Verwendung von SQL Server als Quelle für AWS DMS](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.Limitations).

## Prüfen Sie, ob die Quelldatenbank Backups auf mehreren Festplatten enthält
<a name="CHAP_Tasks.AssessmentReport.SqlServer.MultipleDisks"></a>

**API-Schlüssel:** `sqlserver-check-for-backup-multiple-stripes`

Bei dieser Bewertung vor der Migration wird überprüft, ob die Quelldatenbank über Backups auf mehreren Festplatten verfügt.

Weitere Informationen finden Sie unter [Einschränkungen bei der Verwendung von SQL Server als Quelle für AWS DMS](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.Limitations).

## Überprüfen Sie, ob die Quelldatenbank über mindestens ein vollständiges Backup verfügt
<a name="CHAP_Tasks.AssessmentReport.SqlServer.FullBackup"></a>

**API-Schlüssel:** `sqlserver-check-for-full-backup`

Bei dieser Bewertung vor der Migration wird überprüft, ob die Quelldatenbank über mindestens eine vollständige Sicherung verfügt. SQL Server muss für eine vollständige Sicherung konfiguriert sein, und Sie müssen eine Sicherung ausführen, bevor Sie Daten replizieren.

Weitere Informationen finden Sie unter [Einschränkungen bei der Verwendung von SQL Server als Quelle für AWS DMS](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.Limitations).

## Prüfen Sie, ob die Quelldatenbank spärliche Spalten und eine Komprimierung der Spaltenstruktur aufweist.
<a name="CHAP_Tasks.AssessmentReport.SqlServer.SparseOrStructureCompression"></a>

**API-Schlüssel:** `sqlserver-check-for-sparse-columns`

Bei dieser Bewertung vor der Migration wird überprüft, ob die Quelldatenbank spärliche Spalten und eine Komprimierung der Spaltenstruktur aufweist. DMS unterstützt keine spärlichen Spalten und keine Komprimierung spaltenförmiger Strukturen.

Weitere Informationen finden Sie unter [Einschränkungen bei der Verwendung von SQL Server als Quelle für AWS DMS](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.Limitations).

## Überprüfen Sie, ob die Quelldatenbankinstanz über Auditing auf Serverebene für SQL Server 2008 oder SQL Server 2008 R2 verfügt
<a name="CHAP_Tasks.AssessmentReport.SqlServer.Audit"></a>

**API-Schlüssel:** `sqlserver-check-for-audit-2008`

Bei dieser Bewertung vor der Migration wird überprüft, ob die Quelldatenbank die Prüfung auf Serverebene für SQL Server 2008 oder SQL Server 2008 R2 aktiviert hat. DMS hat ein ähnliches bekanntes Problem mit SQL Server 2008 und 2008 R2.

Weitere Informationen finden Sie unter [Einschränkungen bei der Verwendung von SQL Server als Quelle für AWS DMS](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.Limitations).

## Überprüfen Sie, ob die Quelldatenbank Geometriespalten für den vollständigen LOB-Modus enthält
<a name="CHAP_Tasks.AssessmentReport.SqlServer.GeometryColumns"></a>

**API-Schlüssel:** `sqlserver-check-for-geometry-columns`

Bei dieser Bewertung vor der Migration wird überprüft, ob die Quelldatenbank Geometriespalten für den vollständigen Modus Large Object (LOB) enthält, wenn SQL Server als Quelle verwendet wird. Wir empfehlen, den eingeschränkten LOB-Modus zu verwenden oder die `InlineLobMaxSize` Task-Einstellung so einzustellen, dass der Inline-LOB-Modus verwendet wird, wenn Ihre Datenbank Geometriespalten enthält.

Weitere Informationen finden Sie unter [Einschränkungen bei der Verwendung von SQL Server als Quelle für AWS DMS](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.Limitations).

## Überprüfen Sie, ob die Quelldatenbank Spalten mit der Identity-Eigenschaft enthält.
<a name="CHAP_Tasks.AssessmentReport.SqlServer.Identity"></a>

**API-Schlüssel:** `sqlserver-check-for-identity-columns`

Bei dieser Bewertung vor der Migration wird überprüft, ob die Quelldatenbank über eine Spalte mit der `IDENTITY` Eigenschaft verfügt. DMS migriert diese Eigenschaft nicht in die entsprechende Zieldatenbankspalte.

Weitere Informationen finden Sie unter [Einschränkungen bei der Verwendung von SQL Server als Quelle für AWS DMS](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.Limitations).

## Prüfen Sie, ob der DMS-Benutzer über FULL LOAD-Berechtigungen verfügt
<a name="CHAP_Tasks.AssessmentReport.SqlServer.FullLoadPermissions"></a>

**API-Schlüssel:** `sqlserver-check-user-permission-for-full-load-only`

Bei dieser Bewertung vor der Migration wird überprüft, ob der Benutzer der DMS-Aufgabe berechtigt ist, die Aufgabe im FULL LOAD-Modus auszuführen.

Weitere Informationen finden Sie unter [Einschränkungen bei der Verwendung von SQL Server als Quelle für AWS DMS](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.Limitations).

## Prüfen Sie, ob der DMS-Benutzer über die Berechtigungen FULL LOAD und CDC oder nur CDC verfügt
<a name="CHAP_Tasks.AssessmentReport.SqlServer.FullLoadCDCPermissions"></a>

**API-Schlüssel:** `sqlserver-check-user-permission-for-cdc`

Bei dieser Bewertung vor der Migration wird überprüft, ob der DMS-Benutzer berechtigt ist, die Aufgabe in den Modi oder auszuführen. `FULL LOAD and CDC` `CDC only`

Weitere Informationen finden Sie unter [Einschränkungen bei der Verwendung von SQL Server als Quelle für AWS DMS](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.Limitations).

## Prüfen Sie, ob die MS-Replikation für CDC in lokalen oder EC2-Datenbanken aktiviert ist.
<a name="CHAP_Tasks.AssessmentReport.SqlServer.IgnoreMsReplicationEnablement"></a>

**API-Schlüssel:** `sqlserver-check-attribute-for-enable-ms-cdc-onprem`

Überprüfen Sie, ob die MS-Replikation für CDC in lokalen oder EC2-Datenbanken aktiviert ist.

Weitere Informationen zum Konfigurieren einer MS-Replikation finden Sie unter [Erfassen von Datenänderungen für selbstverwaltete SQL-Server-Quellen (On-Premises oder in Amazon EC2)](CHAP_Source.SQLServer.CDC.md#CHAP_Source.SQLServer.CDC.Selfmanaged).

## Prüfen Sie, ob der DMS-Benutzer über die VIEW DEFINITION-Berechtigung verfügt.
<a name="CHAP_Tasks.AssessmentReport.SqlServer.ViewDefinition"></a>

**API-Schlüssel:** `sqlserver-check-user-permission-on-view-definition`

Bei dieser Bewertung vor der Migration wird überprüft, ob der in den Endpunkteinstellungen angegebene Benutzer über die entsprechende Berechtigung verfügt. `VIEW DEFINITION` DMS benötigt die `VIEW DEFINITION` Berechtigung zum Anzeigen von Objektdefinitionen.

Weitere Informationen finden Sie unter [Einschränkungen bei der Verwendung von SQL Server als Quelle für AWS DMS](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.Limitations).

## Prüfen Sie, ob der DMS-Benutzer die VIEW DATABASE STATE-Berechtigung für die MASTER-Datenbank für Benutzer ohne die Sysadmin-Rolle besitzt.
<a name="CHAP_Tasks.AssessmentReport.SqlServer.ViewDatabaseState"></a>

**API-Schlüssel:** `sqlserver-check-user-permission-on-view-database-state`

Bei dieser Bewertung vor der Migration wird überprüft, ob der in den Endpunkteinstellungen angegebene Benutzer über die entsprechende Berechtigung verfügt. `VIEW DATABASE STATE` DMS benötigt diese Berechtigung, um auf Datenbankobjekte in der MASTER-Datenbank zuzugreifen. DMS benötigt diese Berechtigung auch, wenn der Benutzer keine Sysadmin-Rechte hat. DMS benötigt diese Berechtigung, um Funktionen, Zertifikate und Logins zu erstellen und Anmeldeinformationen zu vergeben.

Weitere Informationen finden Sie unter [Einschränkungen bei der Verwendung von SQL Server als Quelle für AWS DMS](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.Limitations).

## Prüfen Sie, ob der DMS-Benutzer über die VIEW SERVER STATE-Berechtigung verfügt.
<a name="CHAP_Tasks.AssessmentReport.SqlServer."></a>

**API-Schlüssel:** `sqlserver-check-user-permission-on-view-server-state`

Bei dieser Bewertung vor der Migration wird geprüft, ob der in den zusätzlichen Verbindungsattributen (ECA) angegebene Benutzer über die `VIEW SERVER STATE` entsprechende Berechtigung verfügt. `VIEW SERVER STATE`ist eine Berechtigung auf Serverebene, die es einem Benutzer ermöglicht, serverweite Informationen und den Status einzusehen. Diese Berechtigung ermöglicht den Zugriff auf dynamische Verwaltungsansichten (DMVs) und dynamische Verwaltungsfunktionen (DMFs), die Informationen über die SQL Server-Instanz verfügbar machen. Diese Berechtigung ist erforderlich, damit der DMS-Benutzer Zugriff auf CDC-Ressourcen hat. Diese Berechtigung ist erforderlich, um eine DMS-Aufgabe im `FULL LOAD and CDC` Modus oder auszuführen. `CDC only`

Weitere Informationen finden Sie unter [Einschränkungen bei der Verwendung von SQL Server als Quelle für AWS DMS](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.Limitations).

## Überprüfen Sie, ob der Parameter für die Größe der Textantwort nicht unbegrenzt ist
<a name="CHAP_Tasks.AssessmentReport.Sqlserver.replsizeparameter"></a>

**API-Schlüssel:** `sqlserver-check-for-max-text-repl-size`

Wenn Sie den Parameter Max. Textrepl-Größe in der Datenbank festlegen, kann dies möglicherweise zu Datenmigrationsfehlern für LOB-Spalten führen. DMS empfiehlt dringend, den Wert auf -1 zu setzen.

Weitere Informationen finden Sie unter [Fehlersuche bei Verwendung von Microsoft SQL Server](CHAP_Troubleshooting.md#CHAP_Troubleshooting.SQLServer).

## Überprüfen Sie, ob auf dem Ziel ein Primärschlüssel oder ein eindeutiger Index für Batch Apply vorhanden ist
<a name="CHAP_Tasks.AssessmentReport.Sqlserver.batchapply"></a>

**API-Schlüssel:** `sqlserver-check-batch-apply-target-pk-ui-absence`

Batch Apply wird nur für Tabellen mit Primärschlüsseln oder eindeutigen Indizes in der Zieltabelle unterstützt. Bei Tabellen ohne Primärschlüssel oder eindeutige Indizes schlägt der Batch fehl und die Änderungen werden nacheinander verarbeitet. Es ist ratsam, solche Tabellen ihren eigenen Aufgaben zuzuordnen und stattdessen den Transaktionsmodus „Anwenden“ zu verwenden. Alternativ können Sie einen eindeutigen Schlüssel für die Zieltabelle erstellen.

Weitere Informationen finden Sie unter [Einschränkungen bei der Verwendung von SQL Server als Quelle für AWS DMS](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.Limitations).

## Überprüfen Sie, ob sowohl der Primärschlüssel als auch der eindeutige Index auf dem Ziel vorhanden sind, wenn die Batch-Anwendung aktiviert ist
<a name="CHAP_Tasks.AssessmentReport.Sqlserver.batchapplysimultaneously"></a>

**API-Schlüssel:** `sqlserver-check-batch-apply-target-pk-ui-simultaneously`

Batch Apply wird nur für Tabellen mit Primärschlüsseln oder eindeutigen Indizes in der Zieltabelle unterstützt. Bei Tabellen mit Primärschlüsseln und eindeutigen Indizes schlägt der Batch gleichzeitig fehl und die Änderungen werden nacheinander verarbeitet. Es ist ratsam, solche Tabellen ihren eigenen Aufgaben zuzuordnen und stattdessen den Transaktionsmodus „Anwenden“ zu verwenden. Alternativ können Sie eindeutige Schlüssel oder Primärschlüssel in der Zieltabelle löschen und sie bei der Migration neu erstellen.

Weitere Informationen finden Sie unter [Einschränkungen bei der Verwendung von SQL Server als Quelle für AWS DMS](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.Limitations).

## Überprüfen Sie, ob die Tabelle einen Primärschlüssel oder einen eindeutigen Index hat, wenn die DMS-Validierung aktiviert ist
<a name="CHAP_Tasks.AssessmentReport.Sqlserver.dmsvalidation"></a>

**API-Schlüssel:** `sqlserver-check-pk-validity`

Für die Datenvalidierung muss die Tabelle sowohl für die Quelle als auch für das Ziel über einen Primärschlüssel oder einen eindeutigen Index verfügen. 

Weitere Informationen finden Sie unter [AWS DMS-Datenvalidierung](CHAP_Validating.md).

## Überprüfen Sie, ob AWS DMS der Benutzer über die erforderlichen Rechte für das Ziel verfügt
<a name="CHAP_Tasks.AssessmentReport.Sqlserver.dmsprivileges"></a>

**API-Schlüssel:** `sqlserver-check-target-privileges`

Der AWS DMS Benutzer muss mindestens die Benutzerrolle db\$1owner in der Zieldatenbank haben.

Weitere Informationen finden Sie unter [Sicherheitsanforderungen bei der Verwendung von SQL Server als Ziel für AWS Database Migration Service](CHAP_Target.SQLServer.md#CHAP_Target.SQLServer.Security).

## Empfehlung zur Verwendung der Einstellung MaxFullLoadSubTasks
<a name="CHAP_Tasks.AssessmentReport.Sqlserver.maxfullloadsubtask"></a>

**API-Schlüssel:** `sqlserver-tblnum-for-max-fullload-subtasks`

Bei dieser Bewertung wird die Anzahl der Tabellen geprüft, die in der Aufgabe enthalten sind, und es wird empfohlen, den `MaxFullLoadSubTasks` Parameter für eine optimale Leistung während des Vollladevorgangs zu erhöhen. AWS DMS Migriert standardmäßig 8 Tabellen gleichzeitig. Wenn Sie den `MaxFullLoadSubTasks` Parameter auf einen höheren Wert ändern, wird die Leistung bei Volllast verbessert.

Weitere Informationen finden Sie unter [Aufgabeneinstellungen für vollständiges Laden](CHAP_Tasks.CustomizingTasks.TaskSettings.FullLoad.md).

## Überprüfen Sie die Transformationsregel für Ziffern nach dem Zufallsprinzip
<a name="CHAP_Tasks.AssessmentReport.Sqlserver.gigits.randomise"></a>

**API-Schlüssel:** `sqlserver-datamasking-digits-randomize`

Mit dieser Bewertung wird geprüft, ob die in Tabellenzuordnungen verwendeten Spalten mit der Transformationsregel Digits Randomize kompatibel sind. Darüber hinaus wird bei der Bewertung geprüft, ob die für die Transformation ausgewählten Spalten Teil von Primärschlüsseln, eindeutigen Einschränkungen oder Fremdschlüsseln sind, da die Anwendung von Transformationen mit zufälligen Zahlen keine Eindeutigkeit garantiert.

## Überprüfen Sie die Transformationsregel für die Ziffernmaske
<a name="CHAP_Tasks.AssessmentReport.Sqlserver.digits.mask"></a>

**API-Schlüssel:** `sqlserver-datamasking-digits-mask`

Bei dieser Bewertung wird geprüft, ob die in der Tabellenzuordnung verwendeten Spalten nicht von der Transformationsregel für die Ziffernmaske unterstützt werden. Darüber hinaus wird bei der Bewertung geprüft, ob die für die Transformation ausgewählten Spalten Teil von Primärschlüsseln, eindeutigen Einschränkungen oder Fremdschlüsseln sind, da die Anwendung von Ziffernmaskentransformationen auf solche Spalten zu Fehlern bei DMS-Aufgaben führen kann, da die Eindeutigkeit nicht garantiert werden kann.

## Überprüfen Sie die Transformationsregel für die Hashing-Maske
<a name="CHAP_Tasks.AssessmentReport.Sqlserver.hash.mask"></a>

**API-Schlüssel:** `sqlserver-datamasking-hash-mask`

Bei dieser Bewertung wird geprüft, ob eine der in der Tabellenzuordnung verwendeten Spalten von der Hashing-Masken-Transformationsregel nicht unterstützt wird. Außerdem wird geprüft, ob die Länge der Quellspalte 64 Zeichen überschreitet. Idealerweise sollte die Länge der Zielspalte mehr als 64 Zeichen betragen, um die Hash-Maskierung zu unterstützen. Darüber hinaus wird bei der Bewertung geprüft, ob die für die Transformation ausgewählten Spalten Teil von Primärschlüsseln, eindeutigen Beschränkungen oder Fremdschlüsseln sind, da die Anwendung von Zufallszahlen bei Transformationen keine Eindeutigkeit garantiert.

## Stellen Sie sicher, dass die Einstellungen für die Datenvalidierung und die Randomisierung von Ziffern nicht gleichzeitig aktiviert sind
<a name="CHAP_Tasks.AssessmentReport.Sqlserver.all.digits.random"></a>

**API-Schlüssel:** `all-to-all-validation-with-datamasking-digits-randomize`

Bei dieser Bewertung vor der Migration wird überprüft, ob die Einstellung für die Datenvalidierung und die Randomisierung von Ziffern für die Datenmaskierung nicht gleichzeitig aktiviert sind, da diese Funktionen nicht kompatibel sind.

## Stellen Sie sicher, dass die Einstellungen für die Datenvalidierungsaufgabe und die Hashing-Maske für Datenmaskierung nicht gleichzeitig aktiviert sind
<a name="CHAP_Tasks.AssessmentReport.Sqlserver.all.hash.mask"></a>

**API-Schlüssel:** `all-to-all-validation-with-datamasking-hash-mask`

Bei dieser Bewertung vor der Migration wird überprüft, ob die Datenvalidierungseinstellung und die Datenmaskierungs-Hashing-Maske nicht gleichzeitig aktiviert sind, da diese Funktionen nicht kompatibel sind.

## Stellen Sie sicher, dass die Einstellungen für die Datenvalidierungsaufgabe und die Datenmaskierungs-Ziffernmaske nicht gleichzeitig aktiviert sind
<a name="CHAP_Tasks.AssessmentReport.Sqlserver.all.digit.mask"></a>

**API-Schlüssel:** `all-to-all-validation-with-digit-mask`

Bei dieser Bewertung vor der Migration wird überprüft, ob die Datenvalidierungseinstellungen und die Datenmaskierungs-Ziffernmaske nicht gleichzeitig aktiviert sind, da diese Funktionen nicht kompatibel sind.

## Stellen Sie sicher, dass mindestens ein ausgewähltes Objekt in der Quelldatenbank vorhanden ist
<a name="CHAP_Tasks.AssessmentReport.Sqlserver.selection.rules"></a>

**API-Schlüssel:** `all-check-source-selection-rules`

Bei dieser Bewertung vor der Migration wird überprüft, ob mindestens ein in den Auswahlregeln angegebenes Objekt in der Quelldatenbank vorhanden ist, einschließlich des Musterabgleichs für Regeln, die auf Platzhaltern basieren.

## Stellen Sie sicher, dass sekundäre Einschränkungen und Indizes (nicht primär) in der Quelldatenbank vorhanden sind
<a name="CHAP_Tasks.AssessmentReport.Sqlserver.secondary.constraints"></a>

**API-Schlüssel:** `all-check-secondary-constraints`

Bei dieser Bewertung vor der Migration wird überprüft, ob sekundäre Einschränkungen und Indizes (Fremdschlüssel, Prüfbeschränkungen, nicht gruppierte Indizes) in der Quelldatenbank vorhanden sind.

## Stellen Sie sicher, dass es sich beim Zielendpunkt nicht um eine Read Replica handelt
<a name="CHAP_Tasks.AssessmentReport.Sqlserver.target.replica"></a>

**API-Schlüssel:** `all-check-target-read-replica`

Diese Bewertung vor der Migration bestätigt, dass der Zielendpunkt nicht als Read Replica konfiguriert ist. AWS DMS erfordert Schreibzugriff auf die Zieldatenbank und kann nicht in schreibgeschützte Replikate repliziert werden.

## Überprüfen Sie die Backup-Kette
<a name="CHAP_Tasks.AssessmentReport.Sqlserver.backup.chain"></a>

**API-Schlüssel:** `sqlserver-check-for-backup-broken-chain`

Diese Bewertung vor der Migration stellt sicher, dass die Sicherungskette der Quelldatenbank nicht unterbrochen ist. Eine unterbrochene Backup-Kette kann den Zugriff auf Transaktionsprotokolle AWS DMS verhindern, die für die CDC-Replikation erforderlich sind.

## Überprüfen Sie die Datenbankbenutzerberechtigungen für die Anwendung der `EXCLUSIVE_AUTOMATIC_TRUNCATION` Schutzrichtlinie
<a name="CHAP_Tasks.AssessmentReport.Sqlserver.safeguard.permission"></a>

**API-Schlüssel:** `sqlserver-safeguard-permissions`

Bei dieser Bewertung vor der Migration wird überprüft, ob der Datenbankbenutzer über die erforderlichen Berechtigungen zur Verwendung der `EXCLUSIVE_AUTOMATIC_TRUNCATION` Schutzrichtlinie verfügt. Der Benutzer muss dem Benutzer „dmsuser“ SELECT-Berechtigungen für die Objekte `dbo.syscategories` und die `dbo.sysjobs` Systemobjekte gewähren.

Weitere Informationen finden Sie unter [Endpunkteinstellungen bei Verwendung von SQL Server als Quelle für AWS DMS](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.ConnectionAttrib).

## Überprüfen Sie die Verbindung mit dem sekundären Knoten und die erforderlichen Schutzattribute für den AWS DMS Quellendpunkt
<a name="CHAP_Tasks.AssessmentReport.Sqlserver.node.safeguard.policy"></a>

**API-Schlüssel:** `sqlserver-check-sec-node-sg-policy`

Bei dieser Bewertung vor der Migration wird überprüft, ob auf dem Quellendpunkt die erforderlichen zusätzlichen Verbindungsattribute (ECAs) konfiguriert sind, wenn eine Verbindung zu einem sekundären Knoten mit aktivierten Schutzmaßnahmen hergestellt wird.

Weitere Informationen finden Sie unter [Endpunkteinstellungen bei Verwendung von SQL Server als Quelle für AWS DMS](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.ConnectionAttrib).

## Stellen Sie sicher, dass der Endpunkt über alle erforderlichen zusätzlichen Verbindungsattribute (ECAs) verfügt, wenn er mit einem sekundären AWS DMS Knoten verbunden ist
<a name="CHAP_Tasks.AssessmentReport.Sqlserver.node.without.eca"></a>

**API-Schlüssel:** `sqlserver-check-sec-node-without-eca`

Bei dieser Bewertung vor der Migration wird überprüft, ob alle erforderlichen zusätzlichen Verbindungsattribute (ECAs) konfiguriert sind, wenn der Quellendpunkt eine Verbindung zu einem sekundären Knoten herstellt

Weitere Informationen finden Sie unter [Arbeiten mit selbstverwalteten SQL Server-Verfügbarkeitsgruppen AlwaysOn](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.AlwaysOn).

# MySQL-Bewertungen
<a name="CHAP_Tasks.AssessmentReport.MySQL"></a>

In diesem Abschnitt werden individuelle Bewertungen vor der Migration für Migrationsaufgaben beschrieben, die einen MySQL-, Aurora MySQL-Compatible Edition- oder Aurora MySQL-Compatible Edition Serverless-Quellendpunkt verwenden.

**Topics**
+ [Überprüfen Sie, ob die Transaktionskomprimierung im Binärprotokoll deaktiviert ist](#CHAP_Tasks.AssessmentReport.MySQL.BinaryLogTransaction)
+ [Überprüfen Sie, ob der DMS-Benutzer über die Berechtigungen REPLICATION CLIENT und REPLICATION SLAVE für die Quelldatenbank verfügt](#CHAP_Tasks.AssessmentReport.MySQL.ReplicationClientPermissions)
+ [Überprüfen Sie, ob der DMS-Benutzer über SELECT-Berechtigungen für die Quelldatenbanktabellen verfügt](#CHAP_Tasks.AssessmentReport.MySQL.DMSUserSelectPermissions)
+ [Überprüfen Sie, ob die Server\$1ID in der Quelldatenbank auf 1 oder höher gesetzt ist](#CHAP_Tasks.AssessmentReport.MySQL.ServerID)
+ [Überprüfen Sie, ob der DMS-Benutzer über die erforderlichen Berechtigungen für die MySQL-Datenbank als Ziel verfügt](#CHAP_Tasks.AssessmentReport.MySQL.UserNecessaryPermissions)
+ [Überprüfen Sie, ob die automatische Entfernung von Binärprotokollen für die Quelldatenbank aktiviert ist](#CHAP_Tasks.AssessmentReport.MySQL.BinaryLogAutomaticRemoval)
+ [Stellen Sie sicher, dass der eingeschränkte LOB-Modus nur verwendet wird, wenn er auf true gesetzt ist `BatchApplyEnabled`](#CHAP_Tasks.AssessmentReport.MySQL.LimitedLOBMode)
+ [Überprüfen Sie, ob eine Tabelle eine andere Speicher-Engine als Innodb verwendet](#CHAP_Tasks.AssessmentReport.MySQL.Innodb)
+ [Überprüfen Sie, ob die automatische Inkrementierung für alle für die Migration verwendeten Tabellen aktiviert ist](#CHAP_Tasks.AssessmentReport.MySQL.AutoIncrement)
+ [Überprüfen Sie, ob das Datenbank-Binlog-Image so eingestellt ist, dass es `FULL` DMS CDC unterstützt](#CHAP_Tasks.AssessmentReport.MySQL.BinlogImage)
+ [Überprüfen Sie, ob es sich bei der Quelldatenbank um eine MySQL Read-Replica handelt](#CHAP_Tasks.AssessmentReport.MySQL.ReadReplica)
+ [Überprüfen Sie, ob eine Tabelle Partitionen hat, und empfehlen Sie, die Einstellungen `target_table_prep_mode` für Aufgaben bei Volllast zu verwenden](#CHAP_Tasks.AssessmentReport.MySQL.FullLoadTaskSettings)
+ [Überprüfen Sie, ob DMS die Datenbankversion unterstützt](#CHAP_Tasks.AssessmentReport.MySQL.DatabaseVersion)
+ [Überprüfen Sie, ob die Zieldatenbank so konfiguriert ist, dass sie `local_infile` auf 1 gesetzt ist](#CHAP_Tasks.AssessmentReport.MySQL.LocalInfile)
+ [Überprüfen Sie, ob die Zieldatenbank Tabellen mit Fremdschlüsseln enthält](#CHAP_Tasks.AssessmentReport.MySQL.ForeignKeys)
+ [Überprüfen Sie, ob für Quelltabellen im Aufgabenbereich kaskadierende Einschränkungen gelten](#CHAP_Tasks.AssessmentReport.MySQL.Cascade)
+ [Überprüfen Sie, ob die Timeout-Werte für eine MySQL-Quelle oder ein MySQL-Ziel geeignet sind](#CHAP_Tasks.AssessmentReport.MySQL.Timeout)
+ [`max_statement_time`Datenbankparameter validieren](#CHAP_Tasks.AssessmentReport.MySQL.max_statement_time)
+ [Überprüfen Sie, ob auf dem Ziel ein Primärschlüssel oder ein eindeutiger Index für Batch Apply vorhanden ist](#CHAP_Tasks.AssessmentReport.MySQL.batchapply_absence)
+ [Überprüfen Sie, ob sowohl der Primärschlüssel als auch der eindeutige Index auf dem Ziel für Batch Apply vorhanden sind](#CHAP_Tasks.AssessmentReport.MySQL.batchapply_simul)
+ [Überprüfen Sie, ob sekundäre Indizes bei Volllast der Zieldatenbank aktiviert sind](#CHAP_Tasks.AssessmentReport.MySQL.secondaryindexes)
+ [Überprüfen Sie, ob die Tabelle einen Primärschlüssel oder einen eindeutigen Index hat, wenn die DMS-Validierung aktiviert ist](#CHAP_Tasks.AssessmentReport.MySQL.pk_validity)
+ [Empfehlung zur Verwendung der `MaxFullLoadSubTasks` Einstellung](#CHAP_Tasks.AssessmentReport.MySQL.fullload_subtasks)
+ [Überprüfen Sie die Transformationsregel für Ziffern nach dem Zufallsprinzip](#CHAP_Tasks.AssessmentReport.MySQL.digits.randomise)
+ [Überprüfen Sie die Transformationsregel für die Ziffernmaske](#CHAP_Tasks.AssessmentReport.MySQL.digits.mask)
+ [Überprüfen Sie die Transformationsregel für die Hashing-Maske](#CHAP_Tasks.AssessmentReport.MYSQL.hash.mask)
+ [Stellen Sie sicher, dass die Einstellungen für die Datenvalidierung und die Randomisierung von Ziffern nicht gleichzeitig aktiviert sind](#CHAP_Tasks.AssessmentReport.MYSQL.all.digits.random)
+ [Stellen Sie sicher, dass die Einstellungen für die Datenvalidierungsaufgabe und die Hashing-Maske für Datenmaskierung nicht gleichzeitig aktiviert sind](#CHAP_Tasks.AssessmentReport.MYSQL.all.hash.mask)
+ [Stellen Sie sicher, dass die Einstellungen für die Datenvalidierungsaufgabe und die Datenmaskierungs-Ziffernmaske nicht gleichzeitig aktiviert sind](#CHAP_Tasks.AssessmentReport.MYSQL.all.digit.mask)
+ [Prüfen Sie, ob die Amazon Aurora Aurora-MySQL-Quellinstanz keine Read Replica ist](#CHAP_Tasks.AssessmentReport.MYSQL.read.only)
+ [Prüfen Sie, ob die Aufbewahrungszeit für Binärprotokolle richtig eingestellt ist](#CHAP_Tasks.AssessmentReport.MYSQL.retention.time)
+ [Prüfen Sie, ob Quelltabellen keine unsichtbaren Spalten haben.](#CHAP_Tasks.AssessmentReport.MYSQL.invisible.columns)
+ [Überprüfen Sie, ob das Datenbank-Binlog-Format auf ROW gesetzt ist, um DMS CDC zu unterstützen](#CHAP_Tasks.AssessmentReport.MYSQL.binlog.format)
+ [Stellen Sie sicher, dass mindestens ein ausgewähltes Objekt in der Quelldatenbank vorhanden ist](#CHAP_Tasks.AssessmentReport.MYSQL.selection.rules)
+ [Stellen Sie sicher, dass Tabellen mit generierten Spalten in der Quelldatenbank vorhanden sind](#CHAP_Tasks.AssessmentReport.MYSQL.generated.columns)
+ [Überprüfen Sie, ob diese skipTableSuspension ForPartitionDdl Option für partitionierte Tabellen aktiviert ist](#CHAP_Tasks.AssessmentReport.MYSQL.tablepartition.ddl)
+ [Stellen Sie sicher, dass max\$1allowed\$1packet size Quell-LOB-Spalten verarbeiten kann](#CHAP_Tasks.AssessmentReport.MYSQL.maxallowed.packetlob)
+ [Stellen Sie sicher, dass sekundäre Einschränkungen und Indizes (nicht primär) in der Quelldatenbank vorhanden sind](#CHAP_Tasks.AssessmentReport.MYSQL.secondary.constraints)

## Überprüfen Sie, ob die Transaktionskomprimierung im Binärprotokoll deaktiviert ist
<a name="CHAP_Tasks.AssessmentReport.MySQL.BinaryLogTransaction"></a>

**API-Schlüssel:** `mysql-check-binlog-compression`

Bei dieser Bewertung vor der Migration wird überprüft, ob die Komprimierung von binären Protokolltransaktionen deaktiviert ist. AWS DMS unterstützt die Komprimierung von binären Protokolltransaktionen nicht.

Weitere Informationen finden Sie unter [Einschränkungen bei der Verwendung einer MySQL-Datenbank als Quelle für AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MySQL.html#CHAP_Source.MySQL.Limitations).

## Überprüfen Sie, ob der DMS-Benutzer über die Berechtigungen REPLICATION CLIENT und REPLICATION SLAVE für die Quelldatenbank verfügt
<a name="CHAP_Tasks.AssessmentReport.MySQL.ReplicationClientPermissions"></a>

**API-Schlüssel:** `mysql-check-replication-privileges`

Bei dieser Bewertung vor der Migration wird überprüft, ob der in den Quellendpunktverbindungseinstellungen angegebene DMS-Benutzer über `REPLICATION SLAVE` Berechtigungen für die Quelldatenbank verfügt`REPLICATION CLIENT`, wenn der Migrationstyp der DMS-Aufgabe CDC oder Full-Load \$1 CDC ist.

Weitere Informationen finden Sie unter [Verwenden einer beliebigen MySQL-kompatiblen Datenbank als Quelle](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MySQL.html#CHAP_Source.MySQL.Prerequisites) für. AWS DMS

## Überprüfen Sie, ob der DMS-Benutzer über SELECT-Berechtigungen für die Quelldatenbanktabellen verfügt
<a name="CHAP_Tasks.AssessmentReport.MySQL.DMSUserSelectPermissions"></a>

**API-Schlüssel:** `mysql-check-select-privileges`

Bei dieser Bewertung vor der Migration wird überprüft, ob der in den Quellendpunktverbindungseinstellungen angegebene DMS-Benutzer über SELECT-Berechtigungen für die Quelldatenbanktabellen verfügt.

Weitere Informationen finden Sie unter [Verwenden einer beliebigen MySQL-kompatiblen Datenbank als Quelle](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MySQL.html#CHAP_Source.MySQL.Prerequisites) für. AWS DMS

## Überprüfen Sie, ob die Server\$1ID in der Quelldatenbank auf 1 oder höher gesetzt ist
<a name="CHAP_Tasks.AssessmentReport.MySQL.ServerID"></a>

**API-Schlüssel:** `mysql-check-server-id`

Bei dieser Bewertung vor der Migration wird überprüft, ob die `server_id` Servervariable in der Quelldatenbank für den CDC-Migrationstyp auf 1 oder höher gesetzt ist.

Weitere Hinweise zu Quellen für AWS DMS finden Sie unter [Verwenden einer selbstverwalteten MySQL-kompatiblen Datenbank als](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MySQL.html#CHAP_Source.MySQL.CustomerManaged) Quelle für. AWS DMS

## Überprüfen Sie, ob der DMS-Benutzer über die erforderlichen Berechtigungen für die MySQL-Datenbank als Ziel verfügt
<a name="CHAP_Tasks.AssessmentReport.MySQL.UserNecessaryPermissions"></a>

**API-Schlüssel:** `mysql-check-target-privileges`

Bei dieser Bewertung vor der Migration wird überprüft, ob der in den Verbindungseinstellungen für den Zielendpunkt angegebene DMS-Benutzer über die erforderlichen Berechtigungen für die MySQL-Datenbank als Ziel verfügt.

Weitere Hinweise zu den Voraussetzungen für MySQL-Quellendpunkte finden Sie unter [Verwenden einer beliebigen MySQL-kompatiblen Datenbank als](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MySQL.html#CHAP_Source.MySQL.Prerequisites) Quelle für. AWS DMS

## Überprüfen Sie, ob die automatische Entfernung von Binärprotokollen für die Quelldatenbank aktiviert ist
<a name="CHAP_Tasks.AssessmentReport.MySQL.BinaryLogAutomaticRemoval"></a>

**API-Schlüssel:** `mysql-check-expire-logs-days`

Mit dieser Bewertung vor der Migration wird überprüft, ob Ihre Datenbank so konfiguriert ist, dass Binärprotokolle automatisch entfernt werden. Die Werte der beiden Systemvariablen `EXPIRE_LOGS_DAYS` oder der `BINLOG_EXPIRE_LOGS_SECONDS` globalen Systemvariablen sollten größer als Null sein, um eine übermäßige Nutzung des Festplattenspeichers während der Migration zu verhindern.

Weitere Hinweise zu Quellen für AWS DMS finden Sie unter [Verwenden einer selbstverwalteten MySQL-kompatiblen Datenbank als](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MySQL.html#CHAP_Source.MySQL.CustomerManaged) Quelle für. AWS DMS

## Stellen Sie sicher, dass der eingeschränkte LOB-Modus nur verwendet wird, wenn er auf true gesetzt ist `BatchApplyEnabled`
<a name="CHAP_Tasks.AssessmentReport.MySQL.LimitedLOBMode"></a>

**API-Schlüssel:** `mysql-batch-apply-lob-mode`

Bei dieser Bewertung vor der Migration wird überprüft, ob die DMS-Aufgabe LOB-Spalten enthält. Wenn LOB-Spalten im Aufgabenbereich enthalten sind, dürfen Sie diesen Modus nur `BatchApplyEnabled` zusammen mit dem eingeschränkten LOB-Modus verwenden.

Weitere Informationen zu dieser `BatchApplyEnabled` Einstellung finden Sie unter [Wie kann ich die DMS-Funktion zum Anwenden von Batch verwenden, um die CDC-Replikationsleistung zu verbessern?](https://repost.aws/knowledge-center/dms-batch-apply-cdc-replication) .

## Überprüfen Sie, ob eine Tabelle eine andere Speicher-Engine als Innodb verwendet
<a name="CHAP_Tasks.AssessmentReport.MySQL.Innodb"></a>

**API-Schlüssel:** `mysql-check-table-storage-engine`

Diese Bewertung vor der Migration bestätigt, ob es sich bei der für eine Tabelle in der MySQL-Quelldatenbank verwendeten Speicher-Engine um eine andere Engine als Innodb handelt. DMS erstellt standardmäßig Zieltabellen mit der InnoDB-Speicher-Engine. Wenn Sie eine andere Speicher-Engine als InnoDB verwenden müssen, müssen Sie die Tabelle in der Zieldatenbank manuell erstellen und Ihre DMS-Aufgabe so konfigurieren, dass sie `TRUNCATE_BEFORE_LOAD` oder `DO_NOTHING` als Full-Load-Task-Einstellung verwendet. Weitere Informationen zu den Einstellungen für Volllast-Aufgaben finden Sie unter. [Aufgabeneinstellungen für vollständiges Laden](CHAP_Tasks.CustomizingTasks.TaskSettings.FullLoad.md)

**Anmerkung**  
Diese Bewertung vor der Migration ist für Aurora MySQL-Compatible Edition oder Aurora MySQL-Compatible Edition Serverless nicht verfügbar.

Weitere Hinweise zu Einschränkungen von MySQL-Endpunkten finden Sie unter[Einschränkungen bei der Verwendung einer MySQL-Datenbank als Quelle für AWS DMS](CHAP_Source.MySQL.md#CHAP_Source.MySQL.Limitations).

## Überprüfen Sie, ob die automatische Inkrementierung für alle für die Migration verwendeten Tabellen aktiviert ist
<a name="CHAP_Tasks.AssessmentReport.MySQL.AutoIncrement"></a>

**API-Schlüssel:** `mysql-check-auto-increment`

Bei dieser Bewertung vor der Migration wird überprüft, ob für die Quelltabellen, die in der Aufgabe verwendet werden, die automatische Erhöhung aktiviert ist. DMS migriert das AUTO\$1INCREMENT-Attribut einer Spalte nicht in eine Zieldatenbank. 

Weitere Hinweise zu Einschränkungen von MySQL-Endpunkten finden Sie unter[Einschränkungen bei der Verwendung einer MySQL-Datenbank als Quelle für AWS DMS](CHAP_Source.MySQL.md#CHAP_Source.MySQL.Limitations). Informationen zum Umgang mit Identitätsspalten in MySQL finden Sie unter [Umgang mit IDENTITY-Spalten in AWS DMS: Teil 2.](https://aws.amazon.com/blogs/database/handle-identity-columns-in-aws-dms-part-2/)

## Überprüfen Sie, ob das Datenbank-Binlog-Image so eingestellt ist, dass es `FULL` DMS CDC unterstützt
<a name="CHAP_Tasks.AssessmentReport.MySQL.BinlogImage"></a>

**API-Schlüssel:** `mysql-check-binlog-image`

Bei dieser Bewertung vor der Migration wird geprüft, ob das Binlog-Image der Quelldatenbank auf eingestellt ist. `FULL` In MySQL bestimmt die `binlog_row_image` Variable, wie ein binäres Protokollereignis geschrieben wird, wenn das `ROW` Format verwendet wird. Um die Kompatibilität mit DMS sicherzustellen und CDC zu unterstützen, setzen Sie die `binlog_row_image` Variable auf. `FULL` Diese Einstellung stellt sicher, dass DMS während der Migration genügend Informationen erhält, um die vollständige Data Manipulation Language (DML) für die Zieldatenbank zu erstellen.

Gehen Sie wie folgt vor, um das Binlog-Image auf `FULL` einzustellen:
+ Für Amazon RDS ist dieser Wert `FULL` standardmäßig.
+ Für Datenbanken, die lokal oder auf Amazon EC2 gehostet werden, legen Sie den `binlog_row_image` Wert in `my.ini` (Microsoft Windows) oder `my.cnf` (UNIX) fest.

Diese Bewertung ist nur für eine Migration mit vollständigem Ladevorgang und CDC oder eine reine CDC-Migration gültig. Diese Bewertung ist nicht für eine Migration nur mit vollständigem Ladevorgang gültig. 

## Überprüfen Sie, ob es sich bei der Quelldatenbank um eine MySQL Read-Replica handelt
<a name="CHAP_Tasks.AssessmentReport.MySQL.ReadReplica"></a>

**API-Schlüssel:** `mysql-check-database-role`

Bei dieser Bewertung vor der Migration wird überprüft, ob es sich bei der Quelldatenbank um eine Read Replica handelt. Um die CDC-Unterstützung für DMS zu aktivieren, wenn eine Verbindung zu einer Read Replica besteht, setzen Sie den Parameter auf. `log_slave_updates` `True` Weitere Hinweise zur Verwendung einer selbstverwalteten MySQL-Datenbank finden Sie unter[Verwendung einer selbstverwalteten MySQL-kompatiblen Datenbank als Quelle für AWS DMS](CHAP_Source.MySQL.md#CHAP_Source.MySQL.CustomerManaged).

Gehen Sie wie folgt vor`True`, um den `log_slave_updates` Wert auf festzulegen:
+ Verwenden Sie für Amazon RDS die Parametergruppe der Datenbank. Informationen zur Verwendung von RDS-Datenbankparametergruppen finden Sie unter [Arbeiten mit Parametergruppen](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithParamGroups.html) im *Amazon RDS-Benutzerhandbuch*.
+ Für Datenbanken, die lokal oder auf Amazon EC2 gehostet werden, legen Sie den `log_slave_updates` Wert in `my.ini` (Microsoft Windows) oder `my.cnf` (UNIX) fest.

Diese Bewertung ist nur für eine Migration mit vollständigem Ladevorgang und CDC oder eine reine CDC-Migration gültig. Diese Bewertung ist nicht für eine Migration nur mit vollständigem Ladevorgang gültig. 

## Überprüfen Sie, ob eine Tabelle Partitionen hat, und empfehlen Sie, die Einstellungen `target_table_prep_mode` für Aufgaben bei Volllast zu verwenden
<a name="CHAP_Tasks.AssessmentReport.MySQL.FullLoadTaskSettings"></a>

**API-Schlüssel:** `mysql-check-table-partition`

Bei dieser Bewertung vor der Migration wird geprüft, ob Tabellen mit Partitionen in der Quelldatenbank vorhanden sind. DMS erstellt Tabellen ohne Partitionen auf dem MySQL-Ziel. Um partitionierte Tabellen in eine partitionierte Tabelle auf dem Ziel zu migrieren, müssen Sie wie folgt vorgehen:
+ Erstellen Sie die partitionierten Tabellen in der MySQL-Zieldatenbank vorab.
+ Konfigurieren Sie Ihre DMS-Aufgabe so, dass sie `TRUNCATE_BEFORE_LOAD` oder `DO_NOTHING` als Einstellung für die Volllastaufgabe verwendet.

Weitere Hinweise zu Einschränkungen von MySQL-Endpunkten finden Sie unter[Einschränkungen bei der Verwendung einer MySQL-Datenbank als Quelle für AWS DMS](CHAP_Source.MySQL.md#CHAP_Source.MySQL.Limitations).

## Überprüfen Sie, ob DMS die Datenbankversion unterstützt
<a name="CHAP_Tasks.AssessmentReport.MySQL.DatabaseVersion"></a>

**API-Schlüssel:** `mysql-check-supported-version`

Bei dieser Bewertung vor der Migration wird überprüft, ob die Quelldatenbankversion mit DMS kompatibel ist. Weitere Hinweise zu unterstützten MySQL-Versionen finden Sie unter[Quellendpunkte für die Datenmigration](CHAP_Introduction.Sources.md#CHAP_Introduction.Sources.DataMigration).

## Überprüfen Sie, ob die Zieldatenbank so konfiguriert ist, dass sie `local_infile` auf 1 gesetzt ist
<a name="CHAP_Tasks.AssessmentReport.MySQL.LocalInfile"></a>

**API-Schlüssel:** `mysql-check-target-localinfile-set`

 Bei dieser Bewertung vor der Migration wird geprüft, ob der `local_infile` Parameter in der Zieldatenbank auf 1 gesetzt ist. DMS erfordert, dass der Parameter 'local\$1infile' bei Volllast in Ihrer Zieldatenbank auf 1 gesetzt wird. Weitere Informationen finden Sie unter [Migration von MySQL zu MySQL mit AWS DMS](CHAP_Source.MySQL.md#CHAP_Source.MySQL.Homogeneous). 

Diese Bewertung ist nur für eine Volllast- oder Volllast- und CDC-Aufgabe gültig.

## Überprüfen Sie, ob die Zieldatenbank Tabellen mit Fremdschlüsseln enthält
<a name="CHAP_Tasks.AssessmentReport.MySQL.ForeignKeys"></a>

**API-Schlüssel:** `mysql-check-fk-target`

Bei dieser Bewertung vor der Migration wird geprüft, ob eine Volllast- oder Full- und CDC-Aufgabe, die zu einer MySQL-Datenbank migriert, Tabellen mit Fremdschlüsseln enthält. Die Standardeinstellung in DMS besteht darin, Tabellen in alphabetischer Reihenfolge zu laden. Tabellen mit Fremdschlüsseln und Einschränkungen der referenziellen Integrität können dazu führen, dass das Laden fehlschlägt, da die übergeordneten und untergeordneten Tabellen möglicherweise nicht gleichzeitig geladen werden.

Weitere Informationen zur referentiellen Integrität in DMS finden Sie im Thema **Arbeiten mit Indizes, Triggern und Einschränkungen der referentiellen Integrität**. [Verbesserung der Leistung einer Migration AWS DMS](CHAP_BestPractices.md#CHAP_BestPractices.Performance)

## Überprüfen Sie, ob für Quelltabellen im Aufgabenbereich kaskadierende Einschränkungen gelten
<a name="CHAP_Tasks.AssessmentReport.MySQL.Cascade"></a>

**API-Schlüssel:** `mysql-check-cascade-constraints`

Bei dieser Bewertung vor der Migration wird geprüft, ob eine der MySQL-Quelltabellen über kaskadierende Einschränkungen verfügt. Kaskadierende Einschränkungen werden von DMS-Aufgaben nicht migriert oder repliziert, da MySQL die Änderungen für diese Ereignisse nicht im Binlog aufzeichnet. Diese Einschränkungen werden zwar AWS DMS nicht unterstützt, Sie können jedoch Workarounds für relationale Datenbankziele verwenden.

Informationen zur Unterstützung von Cascase-Einschränkungen und anderen Einschränkungen finden Sie [Indizes, Fremdschlüssel oder kaskadierende Aktualisierungen oder Löschungen wurden nicht migriert](CHAP_Troubleshooting.md#CHAP_Troubleshooting.MySQL.FKsAndIndexes) im Thema **Problembehandlung** bei Migrationsaufgaben. AWS DMS

## Überprüfen Sie, ob die Timeout-Werte für eine MySQL-Quelle oder ein MySQL-Ziel geeignet sind
<a name="CHAP_Tasks.AssessmentReport.MySQL.Timeout"></a>

**API-Schlüssel:** `mysql-check-target-network-parameter`

Bei dieser Bewertung vor der Migration wird geprüft, ob der MySQL-Endpunkt einer Aufgabe den `net_read_timeout` Wert `net_write_timeout` und die `wait_timeout` Einstellungen auf mindestens 300 Sekunden gesetzt hat. Dies ist erforderlich, um Verbindungsabbrüche während der Migration zu verhindern.

Weitere Informationen finden Sie unter [Verbindungen mit einer MySQL-Ziel-Instance werden während einer Aufgabe getrennt](CHAP_Troubleshooting.md#CHAP_Troubleshooting.MySQL.ConnectionDisconnect).

## `max_statement_time`Datenbankparameter validieren
<a name="CHAP_Tasks.AssessmentReport.MySQL.max_statement_time"></a>

**API-Schlüssel:** `mysql-check-max-statement-time`

Überprüfen Sie den Quellparameter — `max_Statement_time` für MySQL-basierte Quellen. Wenn es Tabellen gibt, die größer als 1 Milliarde sind, überprüfen Sie den Wert `max_Statement_time` und empfehlen Sie, ihn auf einen höheren Wert einzustellen, um möglichen Datenverlust zu vermeiden.

## Überprüfen Sie, ob auf dem Ziel ein Primärschlüssel oder ein eindeutiger Index für Batch Apply vorhanden ist
<a name="CHAP_Tasks.AssessmentReport.MySQL.batchapply_absence"></a>

**API-Schlüssel:** `mysql-check-batch-apply-target-pk-ui-absence`

Batch Apply wird nur für Tabellen mit Primärschlüsseln oder eindeutigen Indizes in der Zieltabelle unterstützt. Bei Tabellen ohne Primärschlüssel oder eindeutige Indizes schlägt der Batch fehl und die Änderungen werden nacheinander verarbeitet. Es ist ratsam, solche Tabellen ihren eigenen Aufgaben zuzuordnen und stattdessen den Transaktionsmodus „Anwenden“ zu verwenden. Alternativ können Sie einen eindeutigen Schlüssel für die Zieltabelle erstellen.

Weitere Informationen finden Sie unter [Verwenden einer MySQL-kompatiblen Datenbank als Ziel](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.MySQL.html) für. AWS Database Migration Service

## Überprüfen Sie, ob sowohl der Primärschlüssel als auch der eindeutige Index auf dem Ziel für Batch Apply vorhanden sind
<a name="CHAP_Tasks.AssessmentReport.MySQL.batchapply_simul"></a>

**API-Schlüssel:** `mysql-check-batch-apply-target-pk-ui-simultaneously`

Batch Apply wird nur für Tabellen mit Primärschlüsseln oder eindeutigen Indizes in der Zieltabelle unterstützt. Bei Tabellen mit Primärschlüsseln und eindeutigen Indizes schlägt der Batch gleichzeitig fehl und die Änderungen werden nacheinander verarbeitet. Es ist ratsam, solche Tabellen ihren eigenen Aufgaben zuzuordnen und stattdessen den Transaktionsmodus „Anwenden“ zu verwenden. Alternativ können Sie einen oder mehrere eindeutige Schlüssel oder Primärschlüssel in der Zieltabelle ablegen und diese neu erstellen, wenn Sie eine Migration durchführen.

Weitere Informationen finden Sie unter [Verwenden einer MySQL-kompatiblen Datenbank als Ziel](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.MySQL.html) für. AWS Database Migration Service

## Überprüfen Sie, ob sekundäre Indizes bei Volllast der Zieldatenbank aktiviert sind
<a name="CHAP_Tasks.AssessmentReport.MySQL.secondaryindexes"></a>

**API-Schlüssel:** `mysql-check-secondary-indexes`

Erwägen Sie, die sekundären Indizes zu deaktivieren oder aus der Zieldatenbank zu entfernen. Sekundäre Indizes können Ihre Migrationsleistung bei Volllast beeinträchtigen. Es ist ratsam, sekundäre Indizes zu aktivieren, bevor Sie die zwischengespeicherten Änderungen anwenden.

Weitere Informationen finden Sie unter [Bewährte Methoden](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_BestPractices.html) für. AWS Database Migration Service

## Überprüfen Sie, ob die Tabelle einen Primärschlüssel oder einen eindeutigen Index hat, wenn die DMS-Validierung aktiviert ist
<a name="CHAP_Tasks.AssessmentReport.MySQL.pk_validity"></a>

**API-Schlüssel:** `mysql-check-pk-validity`

Die Validierung erfordert, dass die Tabelle über einen Primärschlüssel oder eindeutigen Index verfügt.

Weitere Informationen finden Sie unter [AWS DMS Datenvalidierung](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Validating.html).

## Empfehlung zur Verwendung der `MaxFullLoadSubTasks` Einstellung
<a name="CHAP_Tasks.AssessmentReport.MySQL.fullload_subtasks"></a>

**API-Schlüssel:** `mysql-tblnum-for-max-fullload-subtasks`

Bei dieser Bewertung wird die Anzahl der Tabellen überprüft, die in der Aufgabe enthalten sind, und es wird empfohlen, den `MaxFullLoadSubTasks` Parameter zu erhöhen, um eine optimale Leistung während des Vollladevorgangs zu erzielen. AWS DMS Migriert standardmäßig 8 Tabellen gleichzeitig. Wenn Sie den `MaxFullLoadSubTasks` Parameter auf einen höheren Wert ändern, wird die Leistung bei Volllast verbessert.

Weitere Informationen finden Sie unter [Einstellungen für Vollladeaufgaben](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TaskSettings.FullLoad.html).

## Überprüfen Sie die Transformationsregel für Ziffern nach dem Zufallsprinzip
<a name="CHAP_Tasks.AssessmentReport.MySQL.digits.randomise"></a>

**API-Schlüssel:** `mysql-datamasking-digits-randomize`

Mit dieser Bewertung wird geprüft, ob die in Tabellenzuordnungen verwendeten Spalten mit der Transformationsregel Digits Randomize kompatibel sind. Darüber hinaus wird bei der Bewertung geprüft, ob die für die Transformation ausgewählten Spalten Teil von Primärschlüsseln, eindeutigen Einschränkungen oder Fremdschlüsseln sind, da die Anwendung von Transformationen mit zufälligen Zahlen keine Eindeutigkeit garantiert.

## Überprüfen Sie die Transformationsregel für die Ziffernmaske
<a name="CHAP_Tasks.AssessmentReport.MySQL.digits.mask"></a>

**API-Schlüssel:** `mysql-datamasking-digits-mask`

Bei dieser Bewertung wird geprüft, ob die in der Tabellenzuordnung verwendeten Spalten nicht von der Transformationsregel für die Ziffernmaske unterstützt werden. Darüber hinaus wird bei der Bewertung geprüft, ob die für die Transformation ausgewählten Spalten Teil von Primärschlüsseln, eindeutigen Einschränkungen oder Fremdschlüsseln sind, da die Anwendung von Ziffernmaskentransformationen auf solche Spalten zu Fehlern bei DMS-Aufgaben führen kann, da die Eindeutigkeit nicht garantiert werden kann.

## Überprüfen Sie die Transformationsregel für die Hashing-Maske
<a name="CHAP_Tasks.AssessmentReport.MYSQL.hash.mask"></a>

**API-Schlüssel:** `mysql-datamasking-hash-mask`

Bei dieser Bewertung wird geprüft, ob eine der in der Tabellenzuordnung verwendeten Spalten von der Hashing-Masken-Transformationsregel nicht unterstützt wird. Außerdem wird geprüft, ob die Länge der Quellspalte 64 Zeichen überschreitet. Idealerweise sollte die Länge der Zielspalte mehr als 64 Zeichen betragen, um die Hash-Maskierung zu unterstützen. Darüber hinaus wird bei der Bewertung geprüft, ob die für die Transformation ausgewählten Spalten Teil von Primärschlüsseln, eindeutigen Beschränkungen oder Fremdschlüsseln sind, da die Anwendung von Zufallszahlen bei Transformationen keine Eindeutigkeit garantiert.

## Stellen Sie sicher, dass die Einstellungen für die Datenvalidierung und die Randomisierung von Ziffern nicht gleichzeitig aktiviert sind
<a name="CHAP_Tasks.AssessmentReport.MYSQL.all.digits.random"></a>

**API-Schlüssel:** `all-to-all-validation-with-datamasking-digits-randomize`

Bei dieser Bewertung vor der Migration wird überprüft, ob die Einstellung für die Datenvalidierung und die Randomisierung von Ziffern für die Datenmaskierung nicht gleichzeitig aktiviert sind, da diese Funktionen nicht kompatibel sind.

## Stellen Sie sicher, dass die Einstellungen für die Datenvalidierungsaufgabe und die Hashing-Maske für Datenmaskierung nicht gleichzeitig aktiviert sind
<a name="CHAP_Tasks.AssessmentReport.MYSQL.all.hash.mask"></a>

**API-Schlüssel:** `all-to-all-validation-with-datamasking-hash-mask`

Bei dieser Bewertung vor der Migration wird überprüft, ob die Datenvalidierungseinstellung und die Datenmaskierungs-Hashing-Maske nicht gleichzeitig aktiviert sind, da diese Funktionen nicht kompatibel sind.

## Stellen Sie sicher, dass die Einstellungen für die Datenvalidierungsaufgabe und die Datenmaskierungs-Ziffernmaske nicht gleichzeitig aktiviert sind
<a name="CHAP_Tasks.AssessmentReport.MYSQL.all.digit.mask"></a>

**API-Schlüssel:** `all-to-all-validation-with-digit-mask`

Bei dieser Bewertung vor der Migration wird überprüft, ob die Datenvalidierungseinstellungen und die Datenmaskierungs-Ziffernmaske nicht gleichzeitig aktiviert sind, da diese Funktionen nicht kompatibel sind.

## Prüfen Sie, ob die Amazon Aurora Aurora-MySQL-Quellinstanz keine Read Replica ist
<a name="CHAP_Tasks.AssessmentReport.MYSQL.read.only"></a>

**API-Schlüssel:** `mysql-check-aurora-read-only`

Diese Bewertung vor der Migration bestätigt, ob bei der Migration zwischen zwei Amazon Aurora MySQL-Clustern der Quellendpunkt eine read/write Instance und keine Replikat-Instance sein muss.

## Prüfen Sie, ob die Aufbewahrungszeit für Binärprotokolle richtig eingestellt ist
<a name="CHAP_Tasks.AssessmentReport.MYSQL.retention.time"></a>

**API-Schlüssel:** `mysql-check-binlog-retention-time`

Bei dieser Bewertung vor der Migration wird geprüft, ob der Wert für die Aufbewahrungszeit von Binlogs mehr als 24 Stunden beträgt.

## Prüfen Sie, ob Quelltabellen keine unsichtbaren Spalten haben.
<a name="CHAP_Tasks.AssessmentReport.MYSQL.invisible.columns"></a>

**API-Schlüssel:** `mysql-check-invisible-columns`

Bei dieser Bewertung vor der Migration wird geprüft, ob Quelltabellen keine unsichtbaren Spalten enthalten. AWS DMS migriert keine Daten aus unsichtbaren Spalten in Ihrer Quelldatenbank.

## Überprüfen Sie, ob das Datenbank-Binlog-Format auf ROW gesetzt ist, um DMS CDC zu unterstützen
<a name="CHAP_Tasks.AssessmentReport.MYSQL.binlog.format"></a>

**API-Schlüssel:** `mysql-check-binlog-format`

Bei dieser Bewertung vor der Migration wird überprüft, ob das Binlog-Format der Quelldatenbank für ROW konfiguriert ist, um Change Data Capture (CDC) zu unterstützen. Gehen Sie wie folgt vor, um das Binlog-Format auf ROW festzulegen:
+ Verwenden Sie für Amazon RDS die Parametergruppe der Datenbank. Weitere Informationen finden Sie unter [Konfiguration der MySQL-Binärprotokollierung für Single-AZ-Datenbanken](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.MySQL.BinaryFormat.html) im Amazon Relational Database Service Service-Benutzerhandbuch. 
+ Für Datenbanken, die lokal oder auf Amazon EC2 gehostet werden, legen Sie den `binlog_format` Wert in `my.ini` (Microsoft Windows) oder `my.cnf ` (UNIX) fest.

Diese Bewertung ist nur für eine Migration mit vollständigem Ladevorgang und CDC oder eine reine CDC-Migration gültig. Diese Bewertung ist nicht für eine Migration nur mit vollständigem Ladevorgang gültig. Weitere Hinweise zu selbst gehosteten MySQL-Servern finden Sie unter [Verwenden einer selbstverwalteten MySQL-kompatiblen Datenbank](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MySQL.html#CHAP_Source.MySQL.CustomerManaged) als Quelle für. AWS DMS

## Stellen Sie sicher, dass mindestens ein ausgewähltes Objekt in der Quelldatenbank vorhanden ist
<a name="CHAP_Tasks.AssessmentReport.MYSQL.selection.rules"></a>

**API-Schlüssel:** `all-check-source-selection-rules`

Bei dieser Bewertung vor der Migration wird überprüft, ob mindestens ein in den Auswahlregeln angegebenes Objekt in der Quelldatenbank vorhanden ist, einschließlich des Musterabgleichs für Regeln, die auf Platzhaltern basieren.

## Stellen Sie sicher, dass Tabellen mit generierten Spalten in der Quelldatenbank vorhanden sind
<a name="CHAP_Tasks.AssessmentReport.MYSQL.generated.columns"></a>

**API-Schlüssel:** `mysql-check-generated-columns`

Bei dieser Bewertung vor der Migration wird geprüft, ob eine der MySQL-Quelltabellen generierte Spalten enthält. AWS DMS Aufgaben migrieren oder replizieren keine generierten Spalten. Informationen zur Migration generierter Spalten finden Sie unter[Einschränkungen bei der Verwendung einer MySQL-Datenbank als Quelle für AWS DMS](CHAP_Source.MySQL.md#CHAP_Source.MySQL.Limitations).

## Überprüfen Sie, ob diese skipTableSuspension ForPartitionDdl Option für partitionierte Tabellen aktiviert ist
<a name="CHAP_Tasks.AssessmentReport.MYSQL.tablepartition.ddl"></a>

**API-Schlüssel:** `mysql-check-skip-table-suspension-partition-ddl`

Bei dieser Bewertung vor der Migration werden partitionierte Tabellen in der Quelldatenbank erkannt und die Parametereinstellung überprüft. `skipTableSuspensionForPartitionDdl` Wenn dieser Parameter nicht festgelegt wird, kann dies zu unnötigen Tabellensperren während der Migration führen. Weitere Informationen finden Sie unter dem folgenden Link:[Einschränkungen bei der Verwendung einer MySQL-Datenbank als Quelle für AWS DMS](CHAP_Source.MySQL.md#CHAP_Source.MySQL.Limitations).

## Stellen Sie sicher, dass max\$1allowed\$1packet size Quell-LOB-Spalten verarbeiten kann
<a name="CHAP_Tasks.AssessmentReport.MYSQL.maxallowed.packetlob"></a>

**API-Schlüssel:** `mysql-check-max-allowed-packet-lob`

AWS DMS erkennt LOB-Spalten in Quelltabellen, die Ihre aktuelle Einstellung überschreiten. `max_allowed_packet` Diese Diskrepanz kann zu Replikationsfehlern bei der Datenmigration führen. Weitere Informationen finden Sie unter [Fehlersuche bei Verwendung von MySQL](CHAP_Troubleshooting.md#CHAP_Troubleshooting.MySQL).

## Stellen Sie sicher, dass sekundäre Einschränkungen und Indizes (nicht primär) in der Quelldatenbank vorhanden sind
<a name="CHAP_Tasks.AssessmentReport.MYSQL.secondary.constraints"></a>

**API-Schlüssel:** `all-check-secondary-constraints`

Bei dieser Bewertung vor der Migration wird überprüft, ob sekundäre Einschränkungen und Indizes (Fremdschlüssel, Prüfbeschränkungen, nicht gruppierte Indizes) in der Quelldatenbank vorhanden sind.

# MariaDB-Bewertungen
<a name="CHAP_Tasks.AssessmentReport.MariaDB"></a>

In diesem Abschnitt werden individuelle Bewertungen vor der Migration für Migrationsaufgaben beschrieben, die einen MariaDB-Quellendpunkt verwenden.

Um mithilfe der AWS DMS API eine individuelle Bewertung vor der Migration zu erstellen, verwenden Sie den aufgelisteten API-Schlüssel für den `Include` Parameter der Aktion. [ StartReplicationTaskAssessmentRun](https://docs.aws.amazon.com/dms/latest/APIReference/API_StartReplicationTaskAssessmentRun.html)

**Topics**
+ [Überprüfen Sie, ob `server_id` der in der Quelldatenbank auf 1 oder höher gesetzt ist](#CHAP_Tasks.AssessmentReport.MariaDB.ServerID)
+ [Überprüfen Sie, ob die automatische Entfernung von Binärprotokollen für die Quelldatenbank aktiviert ist](#CHAP_Tasks.AssessmentReport.MariaDB.AutomaticRemovalBinaryLogs)
+ [Stellen Sie sicher, dass der eingeschränkte LOB-Modus nur verwendet wird, wenn er auf true gesetzt ist BatchApplyEnabled](#CHAP_Tasks.AssessmentReport.MariaDB.LimitedLOBMode)
+ [Überprüfen Sie, ob die Transaktionskomprimierung im Binärprotokoll deaktiviert ist](#CHAP_Tasks.AssessmentReport.MariaDB.BinaryLogTransactionCompression)
+ [Überprüfen Sie, ob der DMS-Benutzer über die Rechte REPLICATION CLIENT und REPLICATION SLAVE für die Quelldatenbank verfügt](#CHAP_Tasks.AssessmentReport.MariaDB.ReplicationClientSlavePrivileges)
+ [Überprüfen Sie, ob der DMS-Benutzer über SELECT-Berechtigungen für die Quelldatenbanktabellen verfügt](#CHAP_Tasks.AssessmentReport.MariaDB.DMSUserSELECTPermissions)
+ [Überprüfen Sie, ob der DMS-Benutzer über die erforderlichen Rechte für die MySQL-kompatible Datenbank als Ziel verfügt](#CHAP_Tasks.AssessmentReport.MariaDB.DMSUserNecessaryPermissions)
+ [Überprüfen Sie, ob eine Tabelle eine andere Speicher-Engine als Innodb verwendet](#CHAP_Tasks.AssessmentReport.MariaDB.Innodb)
+ [Überprüfen Sie, ob die automatische Inkrementierung für alle für die Migration verwendeten Tabellen aktiviert ist](#CHAP_Tasks.AssessmentReport.MariaDB.AutoIncrement)
+ [Überprüfen Sie, ob das Datenbank-Binlog-Format so eingestellt ist, dass es DMS `ROW` CDC unterstützt](#CHAP_Tasks.AssessmentReport.MariaDB.BinlogFormat)
+ [Überprüfen Sie, ob das Datenbank-Binlog-Image so eingestellt ist, dass es DMS CDC `FULL` unterstützt](#CHAP_Tasks.AssessmentReport.MariaDB.BinlogImage)
+ [Überprüfen Sie, ob die Quelldatenbank eine MariaDB-Read-Replica ist](#CHAP_Tasks.AssessmentReport.MariaDB.ReadReplica)
+ [Überprüfen Sie, ob eine Tabelle Partitionen hat, und empfehlen Sie `TRUNCATE_BEFORE_LOAD` oder, um die Einstellungen `DO_NOTHING` für Vollladeaufgaben zu verwenden](#CHAP_Tasks.AssessmentReport.MariaDB.FullLoadTaskSettings)
+ [Überprüfen Sie, ob DMS die Datenbankversion unterstützt](#CHAP_Tasks.AssessmentReport.MariaDB.DatabaseVersion)
+ [Überprüfen Sie, ob die Zieldatenbank so konfiguriert ist, dass sie auf 1 gesetzt `local_infile` ist](#CHAP_Tasks.AssessmentReport.MariaDB.LocalInfile)
+ [Überprüfen Sie, ob die Zieldatenbank Tabellen mit Fremdschlüsseln enthält](#CHAP_Tasks.AssessmentReport.MariaDB.ForeignKeys)
+ [Überprüfen Sie, ob für Quelltabellen im Aufgabenbereich kaskadierende Einschränkungen gelten](#CHAP_Tasks.AssessmentReport.MariaDB.Cascade)
+ [Überprüfen Sie, ob Quelltabellen im Aufgabenbereich generierte Spalten haben](#CHAP_Tasks.AssessmentReport.MariaDB.GeneratedColumns)
+ [Überprüfen Sie, ob die Timeout-Werte für eine MariaDB-Quelle geeignet sind](#CHAP_Tasks.AssessmentReport.MariaDB.Timeout.Source)
+ [Überprüfen Sie, ob die Timeout-Werte für ein MariaDB-Ziel geeignet sind](#CHAP_Tasks.AssessmentReport.MariaDB.Timeout.Target)
+ [`max_statement_time`Datenbankparameter validieren](#CHAP_Tasks.AssessmentReport.MariaDB.database.parameter)
+ [Überprüfen Sie, ob auf dem Ziel ein Primärschlüssel oder ein eindeutiger Index für Batch Apply vorhanden ist](#CHAP_Tasks.AssessmentReport.MariaDB.batchapply)
+ [Überprüfen Sie, ob sowohl der Primärschlüssel als auch der eindeutige Index auf dem Ziel für Batch Apply vorhanden sind](#CHAP_Tasks.AssessmentReport.MariaDB.batchapply.simultaneous)
+ [Überprüfen Sie, ob Sekundärindizes während der Volllast der Zieldatenbank aktiviert sind](#CHAP_Tasks.AssessmentReport.MariaDB.secondary.indexes)
+ [Überprüfen Sie, ob die Tabelle über einen Primärschlüssel oder einen eindeutigen Index verfügt, wenn die DMS-Validierung aktiviert ist](#CHAP_Tasks.AssessmentReport.MariaDB.dmsvalidation)
+ [Empfehlung zur Verwendung der `MaxFullLoadSubTasks` Einstellung](#CHAP_Tasks.AssessmentReport.MariaDB.maxfullload)
+ [Überprüfen Sie die Transformationsregel für Ziffern nach dem Zufallsprinzip](#CHAP_Tasks.AssessmentReport.MariaDB.digits.randomize)
+ [Überprüfen Sie die Transformationsregel für die Ziffernmaske](#CHAP_Tasks.AssessmentReport.MariaDB.digits.mask)
+ [Überprüfen Sie die Transformationsregel für die Hashing-Maske](#CHAP_Tasks.AssessmentReport.MariaDB.hash.mask)
+ [Stellen Sie sicher, dass die Einstellungen für die Datenvalidierung und die Randomisierung von Ziffern nicht gleichzeitig aktiviert sind](#CHAP_Tasks.AssessmentReport.MariaDB.all.digits.random)
+ [Stellen Sie sicher, dass die Einstellungen für die Datenvalidierungsaufgabe und die Hashing-Maske für Datenmaskierung nicht gleichzeitig aktiviert sind](#CHAP_Tasks.AssessmentReport.MariaDB.all.hash.mask)
+ [Stellen Sie sicher, dass die Einstellungen für die Datenvalidierungsaufgabe und die Datenmaskierungs-Ziffernmaske nicht gleichzeitig aktiviert sind](#CHAP_Tasks.AssessmentReport.MariaDB.all.digit.mask)
+ [Überprüfen Sie, ob die Aufbewahrungszeit für Binärprotokolle richtig eingestellt ist](#CHAP_Tasks.AssessmentReport.MariaDB.retention.time)
+ [Prüfen Sie, ob Quelltabellen keine unsichtbaren Spalten haben](#CHAP_Tasks.AssessmentReport.MariaDB.invisible.columns)
+ [Stellen Sie sicher, dass mindestens ein ausgewähltes Objekt in der Quelldatenbank vorhanden ist](#CHAP_Tasks.AssessmentReport.MariaDB.selection.rules)
+ [Stellen Sie sicher, dass diese Option für partitionierte Tabellen aktiviert ist `skipTableSuspensionForPartitionDdl`](#CHAP_Tasks.AssessmentReport.MariaDB.suspension.ddl)
+ [Stellen Sie sicher, dass sekundäre Einschränkungen und Indizes (nicht primär) in der Quelldatenbank vorhanden sind](#CHAP_Tasks.AssessmentReport.MariaDB.secondary.constraints)

## Überprüfen Sie, ob `server_id` der in der Quelldatenbank auf 1 oder höher gesetzt ist
<a name="CHAP_Tasks.AssessmentReport.MariaDB.ServerID"></a>

**API-Schlüssel:** `mariadb-check-server-id`

Bei dieser Bewertung vor der Migration wird überprüft, ob die `server_id` Servervariable in der Quelldatenbank für den CDC-Migrationstyp auf 1 oder höher gesetzt ist.

Weitere Informationen zu den Einschränkungen von MariaDB-Endpunkten finden Sie unter [Verwenden einer selbstverwalteten MySQL-kompatiblen](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MySQL.html#CHAP_Source.MySQL.CustomerManaged) Datenbank als Quelle für. AWS DMS

## Überprüfen Sie, ob die automatische Entfernung von Binärprotokollen für die Quelldatenbank aktiviert ist
<a name="CHAP_Tasks.AssessmentReport.MariaDB.AutomaticRemovalBinaryLogs"></a>

**API-Schlüssel:** `mariadb-check-expire-logs-days`

Mit dieser Bewertung vor der Migration wird überprüft, ob Ihre Datenbank so konfiguriert ist, dass Binärprotokolle automatisch entfernt werden. Die Werte der beiden Systemvariablen `EXPIRE_LOGS_DAYS` oder der `BINLOG_EXPIRE_LOGS_SECONDS` globalen Systemvariablen sollten größer als Null sein, um eine übermäßige Nutzung des Festplattenspeichers während der Migration zu verhindern.

Weitere Informationen zu den Einschränkungen von MariaDB-Endpunkten finden Sie unter [Verwenden einer selbstverwalteten MySQL-kompatiblen](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MySQL.html#CHAP_Source.MySQL.CustomerManaged) Datenbank als Quelle für. AWS DMS

## Stellen Sie sicher, dass der eingeschränkte LOB-Modus nur verwendet wird, wenn er auf true gesetzt ist BatchApplyEnabled
<a name="CHAP_Tasks.AssessmentReport.MariaDB.LimitedLOBMode"></a>

**API-Schlüssel:** `mariadb-batch-apply-lob-mode`

Wenn LOB-Spalten in der Replikation enthalten sind, können Sie sie nur `BatchApplyEnabled` im eingeschränkten LOB-Modus verwenden. Wenn Sie andere Optionen des LOB-Modus verwenden, schlägt der Batch fehl und die Änderungen AWS DMS werden nacheinander verarbeitet. Es wird empfohlen, diese Tabellen ihren eigenen Aufgaben zuzuordnen und stattdessen den Transaktionsmodus „Anwenden“ zu verwenden.

Weitere Informationen zu dieser `BatchApplyEnabled` Einstellung finden Sie unter [Wie kann ich die DMS-Funktion zum Batch-Anwenden verwenden, um die CDC-Replikationsleistung zu verbessern?](https://repost.aws/knowledge-center/dms-batch-apply-cdc-replication) .

## Überprüfen Sie, ob die Transaktionskomprimierung im Binärprotokoll deaktiviert ist
<a name="CHAP_Tasks.AssessmentReport.MariaDB.BinaryLogTransactionCompression"></a>

**API-Schlüssel:** `mariadb-check-binlog-compression`

Bei dieser Bewertung vor der Migration wird überprüft, ob die Transaktionskomprimierung im Binärprotokoll deaktiviert ist. AWS DMS unterstützt die Komprimierung von Binärprotokolltransaktionen nicht.

Weitere Informationen finden Sie unter [Einschränkungen bei der Verwendung einer MySQL-Datenbank als Quelle für AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MySQL.html#CHAP_Source.MySQL.Limitations).

## Überprüfen Sie, ob der DMS-Benutzer über die Rechte REPLICATION CLIENT und REPLICATION SLAVE für die Quelldatenbank verfügt
<a name="CHAP_Tasks.AssessmentReport.MariaDB.ReplicationClientSlavePrivileges"></a>

**API-Schlüssel:** `mariadb-check-replication-privileges`

Bei dieser Bewertung vor der Migration wird überprüft, ob der in den Quellendpunktverbindungseinstellungen angegebene DMS-Benutzer über `REPLICATION SLAVE` Rechte für die Quelldatenbank verfügt`REPLICATION CLIENT`, wenn der Migrationstyp der DMS-Aufgabe CDC oder Full-Load \$1 CDC ist.

Weitere Informationen finden Sie unter [Verwenden einer beliebigen MySQL-kompatiblen Datenbank als Quelle](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MySQL.html#CHAP_Source.MySQL.Prerequisites) für. AWS DMS

## Überprüfen Sie, ob der DMS-Benutzer über SELECT-Berechtigungen für die Quelldatenbanktabellen verfügt
<a name="CHAP_Tasks.AssessmentReport.MariaDB.DMSUserSELECTPermissions"></a>

**API-Schlüssel:** `mariadb-check-select-privileges`

Bei dieser Bewertung vor der Migration wird überprüft, ob der in den Quellendpunktverbindungseinstellungen angegebene DMS-Benutzer über `SELECT` Berechtigungen für die Quelldatenbanktabellen verfügt.

Weitere Informationen finden Sie unter [Verwenden einer beliebigen MySQL-kompatiblen Datenbank als Quelle](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MySQL.html#CHAP_Source.MySQL.Prerequisites) für. AWS DMS

## Überprüfen Sie, ob der DMS-Benutzer über die erforderlichen Rechte für die MySQL-kompatible Datenbank als Ziel verfügt
<a name="CHAP_Tasks.AssessmentReport.MariaDB.DMSUserNecessaryPermissions"></a>

**API-Schlüssel:** `mariadb-check-target-privileges`

Bei dieser Bewertung vor der Migration wird überprüft, ob der in den Verbindungseinstellungen für den Zielendpunkt angegebene DMS-Benutzer über die erforderlichen Rechte für die MySQL-kompatible Datenbank als Ziel verfügt.

Weitere Informationen finden Sie unter [Verwenden einer beliebigen MySQL-kompatiblen Datenbank als Quelle](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MySQL.html#CHAP_Source.MySQL.Prerequisites) für. AWS DMS

## Überprüfen Sie, ob eine Tabelle eine andere Speicher-Engine als Innodb verwendet
<a name="CHAP_Tasks.AssessmentReport.MariaDB.Innodb"></a>

**API-Schlüssel:** `mariadb-check-table-storage-engine`

Diese Bewertung vor der Migration bestätigt, ob es sich bei der Speicher-Engine, die für eine Tabelle in der Quell-MariaDB-Datenbank verwendet wird, um eine andere Engine als Innodb handelt. DMS erstellt standardmäßig Zieltabellen mit der InnoDB-Speicher-Engine. Wenn Sie eine andere Speicher-Engine als InnoDB verwenden müssen, müssen Sie die Tabelle in der Zieldatenbank manuell erstellen und Ihre DMS-Aufgabe so konfigurieren, dass sie `TRUNCATE_BEFORE_LOAD` oder `DO_NOTHING` als Full-Load-Task-Einstellung verwendet. Weitere Informationen zu den Einstellungen für Volllast-Aufgaben finden Sie unter. [Aufgabeneinstellungen für vollständiges Laden](CHAP_Tasks.CustomizingTasks.TaskSettings.FullLoad.md)

Weitere Informationen zu den Einschränkungen von MariaDB-Endpunkten finden Sie unter. [Einschränkungen bei der Verwendung einer MySQL-Datenbank als Quelle für AWS DMS](CHAP_Source.MySQL.md#CHAP_Source.MySQL.Limitations)

## Überprüfen Sie, ob die automatische Inkrementierung für alle für die Migration verwendeten Tabellen aktiviert ist
<a name="CHAP_Tasks.AssessmentReport.MariaDB.AutoIncrement"></a>

**API-Schlüssel:** `mariadb-check-auto-increment`

Bei dieser Bewertung vor der Migration wird überprüft, ob für die Quelltabellen, die in der Aufgabe verwendet werden, die automatische Erhöhung aktiviert ist. DMS migriert das AUTO\$1INCREMENT-Attribut einer Spalte nicht in eine Zieldatenbank. 

Weitere Informationen zu den Einschränkungen von MariaDB-Endpunkten finden Sie unter. [Einschränkungen bei der Verwendung einer MySQL-Datenbank als Quelle für AWS DMS](CHAP_Source.MySQL.md#CHAP_Source.MySQL.Limitations) Informationen zum Umgang mit Identitätsspalten in MariaDB finden Sie unter [Handle IDENTITY-Spalten in AWS DMS: Teil 2.](https://aws.amazon.com/blogs/database/handle-identity-columns-in-aws-dms-part-2/)

## Überprüfen Sie, ob das Datenbank-Binlog-Format so eingestellt ist, dass es DMS `ROW` CDC unterstützt
<a name="CHAP_Tasks.AssessmentReport.MariaDB.BinlogFormat"></a>

**API-Schlüssel:** `mariadb-check-binlog-format`

Bei dieser Bewertung vor der Migration wird überprüft, ob das Binlog-Format der Quelldatenbank so eingestellt ist, dass es DMS Change Data `ROW` Capture (CDC) unterstützt. 

Gehen Sie wie folgt vor, um das Binlog-Format auf einzustellen: `ROW`
+ Verwenden Sie für Amazon RDS die Parametergruppe der Datenbank. Informationen zur Verwendung einer RDS-Parametergruppe finden Sie unter [Konfiguration der MySQL-Binärprotokollierung](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.MySQL.BinaryFormat.html) im *Amazon RDS-Benutzerhandbuch*.
+ Für Datenbanken, die lokal oder auf Amazon EC2 gehostet werden, legen Sie den `binlog_format` Wert in `my.ini` (Microsoft Windows) oder `my.cnf` (UNIX) fest.

Diese Bewertung ist nur für eine Migration mit vollständigem Ladevorgang und CDC oder eine reine CDC-Migration gültig. Diese Bewertung ist nicht für eine Migration nur mit vollständigem Ladevorgang gültig. 

Weitere Informationen zu selbst gehosteten MariaDB-Servern finden Sie unter. [Verwendung einer selbstverwalteten MySQL-kompatiblen Datenbank als Quelle für AWS DMS](CHAP_Source.MySQL.md#CHAP_Source.MySQL.CustomerManaged)

## Überprüfen Sie, ob das Datenbank-Binlog-Image so eingestellt ist, dass es DMS CDC `FULL` unterstützt
<a name="CHAP_Tasks.AssessmentReport.MariaDB.BinlogImage"></a>

**API-Schlüssel:** `mariadb-check-binlog-image`

Bei dieser Bewertung vor der Migration wird geprüft, ob das Binlog-Image der Quelldatenbank auf eingestellt ist. `FULL` In MariaDB bestimmt die `binlog_row_image` Variable, wie ein binäres Protokollereignis geschrieben wird, wenn das `ROW` Format verwendet wird. Um die Kompatibilität mit DMS sicherzustellen und CDC zu unterstützen, setzen Sie die Variable auf. `binlog_row_image` `FULL` Diese Einstellung stellt sicher, dass DMS während der Migration genügend Informationen erhält, um die vollständige Data Manipulation Language (DML) für die Zieldatenbank zu erstellen.

Gehen Sie wie folgt vor, um das Binlog-Image auf `FULL` einzustellen:
+ Für Amazon RDS ist dieser Wert `FULL` standardmäßig.
+ Für Datenbanken, die lokal oder auf Amazon EC2 gehostet werden, legen Sie den `binlog_row_image` Wert in `my.ini` (Microsoft Windows) oder `my.cnf` (UNIX) fest.

Diese Bewertung ist nur für eine Migration mit vollständigem Ladevorgang und CDC oder eine reine CDC-Migration gültig. Diese Bewertung ist nicht für eine Migration nur mit vollständigem Ladevorgang gültig. 

Weitere Informationen zu selbst gehosteten MariaDB-Servern finden Sie unter. [Verwendung einer selbstverwalteten MySQL-kompatiblen Datenbank als Quelle für AWS DMS](CHAP_Source.MySQL.md#CHAP_Source.MySQL.CustomerManaged)

## Überprüfen Sie, ob die Quelldatenbank eine MariaDB-Read-Replica ist
<a name="CHAP_Tasks.AssessmentReport.MariaDB.ReadReplica"></a>

**API-Schlüssel:** `mariadb-check-database-role`

Bei dieser Bewertung vor der Migration wird überprüft, ob es sich bei der Quelldatenbank um eine Read Replica handelt. Um die CDC-Unterstützung für DMS zu aktivieren, wenn eine Verbindung zu einer Read Replica besteht, setzen Sie den Parameter auf. `log_slave_updates` `True` Weitere Hinweise zur Verwendung einer selbstverwalteten MySQL-Datenbank finden Sie unter[Verwendung einer selbstverwalteten MySQL-kompatiblen Datenbank als Quelle für AWS DMS](CHAP_Source.MySQL.md#CHAP_Source.MySQL.CustomerManaged).

Gehen Sie wie folgt vor`True`, um den `log_slave_updates` Wert auf festzulegen:
+ Verwenden Sie für Amazon RDS die Parametergruppe der Datenbank. Informationen zur Verwendung von RDS-Datenbankparametergruppen finden Sie unter [Arbeiten mit Parametergruppen](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithParamGroups.html) im *Amazon RDS-Benutzerhandbuch*.
+ Für Datenbanken, die lokal oder auf Amazon EC2 gehostet werden, legen Sie den `log_slave_updates` Wert in `my.ini` (Microsoft Windows) oder `my.cnf` (UNIX) fest.

Diese Bewertung ist nur für eine Migration mit vollständigem Ladevorgang und CDC oder eine reine CDC-Migration gültig. Diese Bewertung ist nicht für eine Migration nur mit vollständigem Ladevorgang gültig. 

## Überprüfen Sie, ob eine Tabelle Partitionen hat, und empfehlen Sie `TRUNCATE_BEFORE_LOAD` oder, um die Einstellungen `DO_NOTHING` für Vollladeaufgaben zu verwenden
<a name="CHAP_Tasks.AssessmentReport.MariaDB.FullLoadTaskSettings"></a>

**API-Schlüssel:** `mariadb-check-table-partition`

Bei dieser Bewertung vor der Migration wird geprüft, ob Tabellen mit Partitionen in der Quelldatenbank vorhanden sind. DMS erstellt Tabellen ohne Partitionen auf dem MariaDB-Ziel. Um partitionierte Tabellen in eine partitionierte Tabelle auf dem Ziel zu migrieren, müssen Sie wie folgt vorgehen:
+ Erstellen Sie die partitionierten Tabellen in der MariaDB-Zieldatenbank vorab.
+ Konfigurieren Sie Ihre DMS-Aufgabe so, dass sie `TRUNCATE_BEFORE_LOAD` oder `DO_NOTHING` als Einstellung für die Volllastaufgabe verwendet.

Weitere Informationen zu den Einschränkungen von MariaDB-Endpunkten finden Sie unter. [Einschränkungen bei der Verwendung einer MySQL-Datenbank als Quelle für AWS DMS](CHAP_Source.MySQL.md#CHAP_Source.MySQL.Limitations)

## Überprüfen Sie, ob DMS die Datenbankversion unterstützt
<a name="CHAP_Tasks.AssessmentReport.MariaDB.DatabaseVersion"></a>

**API-Schlüssel:** `mariadb-check-supported-version`

Bei dieser Bewertung vor der Migration wird überprüft, ob die Quelldatenbankversion mit DMS kompatibel ist. CDC wird mit Amazon RDS MariaDB-Versionen 10.4 oder niedriger oder mit MySQL-Versionen über 10.11 nicht unterstützt. Weitere Informationen zu unterstützten MariaDB-Versionen finden Sie unter. [Quellendpunkte für die Datenmigration](CHAP_Introduction.Sources.md#CHAP_Introduction.Sources.DataMigration)

## Überprüfen Sie, ob die Zieldatenbank so konfiguriert ist, dass sie auf 1 gesetzt `local_infile` ist
<a name="CHAP_Tasks.AssessmentReport.MariaDB.LocalInfile"></a>

**API-Schlüssel:** `mariadb-check-target-localinfile-set`

 Bei dieser Bewertung vor der Migration wird geprüft, ob der `local_infile` Parameter in der Zieldatenbank auf 1 gesetzt ist. DMS erfordert, dass der Parameter 'local\$1infile' bei Volllast in Ihrer Zieldatenbank auf 1 gesetzt wird. Weitere Informationen finden Sie unter [Migration von MySQL zu MySQL mit AWS DMS](CHAP_Source.MySQL.md#CHAP_Source.MySQL.Homogeneous). 

Diese Bewertung ist nur für eine Volllastaufgabe gültig.

## Überprüfen Sie, ob die Zieldatenbank Tabellen mit Fremdschlüsseln enthält
<a name="CHAP_Tasks.AssessmentReport.MariaDB.ForeignKeys"></a>

**API-Schlüssel:** `mariadb-check-fk-target`

Bei dieser Bewertung vor der Migration wird geprüft, ob eine Volllast- oder Full- und CDC-Aufgabe, die zu einer MariaDB-Datenbank migriert, Tabellen mit Fremdschlüsseln enthält. Die Standardeinstellung in DMS besteht darin, Tabellen in alphabetischer Reihenfolge zu laden. Tabellen mit Fremdschlüsseln und Einschränkungen der referenziellen Integrität können dazu führen, dass das Laden fehlschlägt, da die übergeordneten und untergeordneten Tabellen möglicherweise nicht gleichzeitig geladen werden.

Weitere Informationen zur referentiellen Integrität in DMS finden Sie im Thema **Arbeiten mit Indizes, Triggern und Einschränkungen der referentiellen Integrität**. [Verbesserung der Leistung einer Migration AWS DMS](CHAP_BestPractices.md#CHAP_BestPractices.Performance)

## Überprüfen Sie, ob für Quelltabellen im Aufgabenbereich kaskadierende Einschränkungen gelten
<a name="CHAP_Tasks.AssessmentReport.MariaDB.Cascade"></a>

**API-Schlüssel:** `mariadb-check-cascade-constraints`

Bei dieser Bewertung vor der Migration wird geprüft, ob eine der MariaDB-Quelltabellen kaskadierende Einschränkungen aufweist. Kaskadierende Einschränkungen werden von DMS-Aufgaben nicht migriert oder repliziert, da MariaDB die Änderungen für diese Ereignisse nicht im Binlog aufzeichnet. Unterstützt diese Einschränkungen zwar AWS DMS nicht, Sie können jedoch Problemumgehungen für relationale Datenbankziele verwenden.

Informationen zur Unterstützung von Cascase-Einschränkungen und anderen Einschränkungen finden Sie [Indizes, Fremdschlüssel oder kaskadierende Aktualisierungen oder Löschungen wurden nicht migriert](CHAP_Troubleshooting.md#CHAP_Troubleshooting.MySQL.FKsAndIndexes) im Thema **Problembehandlung** bei Migrationsaufgaben. AWS DMS

## Überprüfen Sie, ob Quelltabellen im Aufgabenbereich generierte Spalten haben
<a name="CHAP_Tasks.AssessmentReport.MariaDB.GeneratedColumns"></a>

**API-Schlüssel:** `mariadb-check-generated-columns`

Bei dieser Bewertung vor der Migration wird geprüft, ob eine der MariaDB-Quelltabellen generierte Spalten enthält. DMS-Aufgaben migrieren oder replizieren keine generierten Spalten.

Informationen zur Migration generierter Spalten finden Sie unter. [Verbindungen mit einer MySQL-Ziel-Instance werden während einer Aufgabe getrennt](CHAP_Troubleshooting.md#CHAP_Troubleshooting.MySQL.ConnectionDisconnect)

## Überprüfen Sie, ob die Timeout-Werte für eine MariaDB-Quelle geeignet sind
<a name="CHAP_Tasks.AssessmentReport.MariaDB.Timeout.Source"></a>

**API-Schlüssel:** `mariadb-check-source-network-parameter`

Bei dieser Bewertung vor der Migration wird geprüft, ob der MariaDB-Quellendpunkt einer Aufgabe die `net_read_timeout` `wait_timeout` Einstellungen `net_write_timeout` und auf mindestens 300 Sekunden gesetzt hat. Dies ist erforderlich, um Verbindungsabbrüche während der Migration zu verhindern.

Weitere Informationen finden Sie unter [Verbindungen mit einer MySQL-Ziel-Instance werden während einer Aufgabe getrennt](CHAP_Troubleshooting.md#CHAP_Troubleshooting.MySQL.ConnectionDisconnect).

## Überprüfen Sie, ob die Timeout-Werte für ein MariaDB-Ziel geeignet sind
<a name="CHAP_Tasks.AssessmentReport.MariaDB.Timeout.Target"></a>

**API-Schlüssel:** `mariadb-check-target-network-parameter`

Bei dieser Bewertung vor der Migration wird geprüft, ob der MariaDB-Zielendpunkt einer Aufgabe die `net_read_timeout` `wait_timeout` Einstellungen `net_write_timeout` und auf mindestens 300 Sekunden festgelegt hat. Dies ist erforderlich, um Verbindungsabbrüche während der Migration zu verhindern.

Weitere Informationen finden Sie unter [Verbindungen mit einer MySQL-Ziel-Instance werden während einer Aufgabe getrennt](CHAP_Troubleshooting.md#CHAP_Troubleshooting.MySQL.ConnectionDisconnect).

## `max_statement_time`Datenbankparameter validieren
<a name="CHAP_Tasks.AssessmentReport.MariaDB.database.parameter"></a>

**API-Schlüssel:** `mariadb-check-max-statement-time`

AWS DMS überprüft, ob der Datenbankquellenparameter auf einen anderen Wert als 0 gesetzt `max_statement_time` ist. Es ist erforderlich, diesen Parameter auf 0 zu setzen, um den DMS-Vollladevorgang zu ermöglichen. Sie können erwägen, den Parameterwert nach Abschluss des Vollladevorgangs zu ändern, da eine Einstellung auf einen anderen Wert als 0 zu Datenverlust führen kann.

## Überprüfen Sie, ob auf dem Ziel ein Primärschlüssel oder ein eindeutiger Index für Batch Apply vorhanden ist
<a name="CHAP_Tasks.AssessmentReport.MariaDB.batchapply"></a>

**API-Schlüssel:** `mariadb-check-batch-apply-target-pk-ui-absence`

Batch Apply wird nur für Tabellen mit Primärschlüsseln oder eindeutigen Indizes in der Zieltabelle unterstützt. Bei Tabellen ohne Primärschlüssel oder eindeutige Indizes schlägt der Batch fehl und die Änderungen werden nacheinander verarbeitet. Es ist ratsam, solche Tabellen ihren eigenen Aufgaben zuzuordnen und stattdessen den Transaktionsmodus „Anwenden“ zu verwenden. Alternativ können Sie einen eindeutigen Schlüssel für die Zieltabelle erstellen. 

Weitere Informationen finden Sie unter [Verwendung einer MySQL-kompatiblen Datenbank als Ziel für AWS Database Migration Service](CHAP_Target.MySQL.md).

## Überprüfen Sie, ob sowohl der Primärschlüssel als auch der eindeutige Index auf dem Ziel für Batch Apply vorhanden sind
<a name="CHAP_Tasks.AssessmentReport.MariaDB.batchapply.simultaneous"></a>

**API-Schlüssel:** `mariadb-check-batch-apply-target-pk-ui-simultaneously`

Batch Apply wird nur für Tabellen mit Primärschlüsseln oder eindeutigen Indizes in der Zieltabelle unterstützt. Tabellen mit Primärschlüsseln und eindeutigen Indizes führen gleichzeitig dazu, dass der Batch fehlschlägt und die Änderungen nacheinander verarbeitet werden. Es ist ratsam, solche Tabellen ihren eigenen Aufgaben zuzuordnen und stattdessen den Transaktionsmodus „Anwenden“ zu verwenden. Alternativ können Sie einen oder mehrere eindeutige Schlüssel oder Primärschlüssel in der Zieltabelle ablegen und diese neu erstellen, wenn Sie eine Migration durchführen.

Weitere Informationen finden Sie unter [Verwendung einer MySQL-kompatiblen Datenbank als Ziel für AWS Database Migration Service](CHAP_Target.MySQL.md).

## Überprüfen Sie, ob Sekundärindizes während der Volllast der Zieldatenbank aktiviert sind
<a name="CHAP_Tasks.AssessmentReport.MariaDB.secondary.indexes"></a>

**API-Schlüssel:** `mariadb-check-secondary-indexes`

Sie müssen erwägen, die sekundären Indizes zu deaktivieren oder aus der Zieldatenbank zu entfernen. Sekundäre Indizes können Ihre Migrationsleistung bei Volllast beeinträchtigen. Es ist ratsam, sekundäre Indizes zu aktivieren, bevor Sie die zwischengespeicherten Änderungen anwenden.

Weitere Informationen finden Sie unter [Bewährte Verfahren für AWS Database Migration Service](CHAP_BestPractices.md).

## Überprüfen Sie, ob die Tabelle über einen Primärschlüssel oder einen eindeutigen Index verfügt, wenn die DMS-Validierung aktiviert ist
<a name="CHAP_Tasks.AssessmentReport.MariaDB.dmsvalidation"></a>

**API-Schlüssel:** `mariadb-check-pk-validity`

Für die Datenvalidierung muss die Tabelle sowohl für die Quelle als auch für das Ziel über einen Primärschlüssel oder einen eindeutigen Index verfügen.

Weitere Informationen finden Sie unter [AWS DMS-Datenvalidierung](CHAP_Validating.md).

## Empfehlung zur Verwendung der `MaxFullLoadSubTasks` Einstellung
<a name="CHAP_Tasks.AssessmentReport.MariaDB.maxfullload"></a>

Bei dieser Bewertung wird die Anzahl der Tabellen überprüft, die in der Aufgabe enthalten sind, und es wird empfohlen, den `MaxFullLoadSubTasks` Parameter zu erhöhen, um eine optimale Leistung während des Vollladevorgangs zu erzielen. AWS DMS Migriert standardmäßig 8 Tabellen gleichzeitig. Wenn Sie den `MaxFullLoadSubTasks` Parameter auf einen höheren Wert ändern, wird die Leistung bei Volllast verbessert.

Weitere Informationen finden Sie unter [Aufgabeneinstellungen für vollständiges Laden](CHAP_Tasks.CustomizingTasks.TaskSettings.FullLoad.md).

## Überprüfen Sie die Transformationsregel für Ziffern nach dem Zufallsprinzip
<a name="CHAP_Tasks.AssessmentReport.MariaDB.digits.randomize"></a>

**API-Schlüssel:** `mariadb-datamasking-digits-randomize`

Mit dieser Bewertung wird geprüft, ob die in Tabellenzuordnungen verwendeten Spalten mit der Transformationsregel Digits Randomize kompatibel sind. Darüber hinaus wird bei der Bewertung geprüft, ob die für die Transformation ausgewählten Spalten Teil von Primärschlüsseln, eindeutigen Einschränkungen oder Fremdschlüsseln sind, da die Anwendung von Transformationen mit zufälligen Zahlen keine Eindeutigkeit garantiert.

## Überprüfen Sie die Transformationsregel für die Ziffernmaske
<a name="CHAP_Tasks.AssessmentReport.MariaDB.digits.mask"></a>

**API-Schlüssel:** `mariadb-datamasking-digits-mask`

Bei dieser Bewertung wird geprüft, ob die in der Tabellenzuordnung verwendeten Spalten nicht von der Transformationsregel für die Ziffernmaske unterstützt werden. Darüber hinaus wird bei der Bewertung geprüft, ob die für die Transformation ausgewählten Spalten Teil von Primärschlüsseln, eindeutigen Einschränkungen oder Fremdschlüsseln sind, da die Anwendung von Ziffernmaskentransformationen auf solche Spalten zu Fehlern bei DMS-Aufgaben führen kann, da die Eindeutigkeit nicht garantiert werden kann.

## Überprüfen Sie die Transformationsregel für die Hashing-Maske
<a name="CHAP_Tasks.AssessmentReport.MariaDB.hash.mask"></a>

**API-Schlüssel:** `mariadb-datamasking-hash-mask`

Bei dieser Bewertung wird geprüft, ob eine der in der Tabellenzuordnung verwendeten Spalten von der Hashing-Masken-Transformationsregel nicht unterstützt wird. Außerdem wird geprüft, ob die Länge der Quellspalte 64 Zeichen überschreitet. Idealerweise sollte die Länge der Zielspalte mehr als 64 Zeichen betragen, um die Hash-Maskierung zu unterstützen. Darüber hinaus wird bei der Bewertung geprüft, ob die für die Transformation ausgewählten Spalten Teil von Primärschlüsseln, eindeutigen Beschränkungen oder Fremdschlüsseln sind, da die Anwendung von Zufallszahlen bei Transformationen keine Eindeutigkeit garantiert.

## Stellen Sie sicher, dass die Einstellungen für die Datenvalidierung und die Randomisierung von Ziffern nicht gleichzeitig aktiviert sind
<a name="CHAP_Tasks.AssessmentReport.MariaDB.all.digits.random"></a>

**API-Schlüssel:** `all-to-all-validation-with-datamasking-digits-randomize`

Bei dieser Bewertung vor der Migration wird überprüft, ob die Einstellung für die Datenvalidierung und die Randomisierung von Ziffern für die Datenmaskierung nicht gleichzeitig aktiviert sind, da diese Funktionen nicht kompatibel sind.

## Stellen Sie sicher, dass die Einstellungen für die Datenvalidierungsaufgabe und die Hashing-Maske für Datenmaskierung nicht gleichzeitig aktiviert sind
<a name="CHAP_Tasks.AssessmentReport.MariaDB.all.hash.mask"></a>

**API-Schlüssel:** `all-to-all-validation-with-datamasking-hash-mask`

Bei dieser Bewertung vor der Migration wird überprüft, ob die Datenvalidierungseinstellung und die Datenmaskierungs-Hashing-Maske nicht gleichzeitig aktiviert sind, da diese Funktionen nicht kompatibel sind.

## Stellen Sie sicher, dass die Einstellungen für die Datenvalidierungsaufgabe und die Datenmaskierungs-Ziffernmaske nicht gleichzeitig aktiviert sind
<a name="CHAP_Tasks.AssessmentReport.MariaDB.all.digit.mask"></a>

**API-Schlüssel:** `all-to-all-validation-with-digit-mask`

Bei dieser Bewertung vor der Migration wird überprüft, ob die Datenvalidierungseinstellungen und die Datenmaskierungs-Ziffernmaske nicht gleichzeitig aktiviert sind, da diese Funktionen nicht kompatibel sind.

## Überprüfen Sie, ob die Aufbewahrungszeit für Binärprotokolle richtig eingestellt ist
<a name="CHAP_Tasks.AssessmentReport.MariaDB.retention.time"></a>

**API-Schlüssel:** `mariadb-check-binlog-retention-time`

Bei dieser Bewertung vor der Migration wird überprüft, ob der Wert von '`binlog retention hours`' mehr als 24 Stunden beträgt.

## Prüfen Sie, ob Quelltabellen keine unsichtbaren Spalten haben
<a name="CHAP_Tasks.AssessmentReport.MariaDB.invisible.columns"></a>

**API-Schlüssel:** `mariadb-check-invisible-columns`

Bei dieser Bewertung vor der Migration wird geprüft, ob Quelltabellen keine unsichtbaren Spalten enthalten. AWS DMS migriert keine Daten aus unsichtbaren Spalten in Ihrer Quelldatenbank.

## Stellen Sie sicher, dass mindestens ein ausgewähltes Objekt in der Quelldatenbank vorhanden ist
<a name="CHAP_Tasks.AssessmentReport.MariaDB.selection.rules"></a>

**API-Schlüssel:** `all-check-source-selection-rules`

Bei dieser Bewertung vor der Migration wird überprüft, ob mindestens ein in den Auswahlregeln angegebenes Objekt in der Quelldatenbank vorhanden ist, einschließlich des Musterabgleichs für Regeln, die auf Platzhaltern basieren.

## Stellen Sie sicher, dass diese Option für partitionierte Tabellen aktiviert ist `skipTableSuspensionForPartitionDdl`
<a name="CHAP_Tasks.AssessmentReport.MariaDB.suspension.ddl"></a>

**API-Schlüssel:** `mariadb-check-skip-table-suspension-partition-ddl`

Bei dieser Bewertung vor der Migration werden partitionierte Tabellen in der Quelldatenbank erkannt und die Parametereinstellung überprüft. `skipTableSuspensionForPartitionDdl` Wenn dieser Parameter nicht festgelegt wird, kann dies zu unnötigen Tabellensperren während der Migration führen. 

Weitere Informationen finden Sie unter [Einschränkungen bei der Verwendung einer MySQL-Datenbank als Quelle für AWS DMS](CHAP_Source.MySQL.md#CHAP_Source.MySQL.Limitations).

## Stellen Sie sicher, dass sekundäre Einschränkungen und Indizes (nicht primär) in der Quelldatenbank vorhanden sind
<a name="CHAP_Tasks.AssessmentReport.MariaDB.secondary.constraints"></a>

**API-Schlüssel:** `all-check-secondary-constraints`

Bei dieser Bewertung vor der Migration wird überprüft, ob sekundäre Einschränkungen und Indizes (Fremdschlüssel, Prüfbeschränkungen, nicht gruppierte Indizes) in der Quelldatenbank vorhanden sind.

# PostgreSQL-Bewertungen
<a name="CHAP_Tasks.AssessmentReport.PG"></a>

In diesem Abschnitt werden individuelle Bewertungen vor der Migration für Migrationsaufgaben beschrieben, die einen PostgreSQL-Quellendpunkt verwenden.

**Topics**
+ [Überprüfen Sie, ob der DDL-Ereignistrigger auf ALWAYS ENABLE gesetzt ist](#CHAP_Tasks.AssessmentReport.PG.DDLEventTrigger)
+ [Überprüfen Sie, ob PostGIS-Spalten in der Quelldatenbank vorhanden sind](#CHAP_Tasks.AssessmentReport.PG.PostGISColumns)
+ [Überprüfen Sie, ob die Fremdschlüsseleinschränkung für die Zieltabellen während des Vollladevorgangs deaktiviert ist](#CHAP_Tasks.AssessmentReport.PG.ForeignKeyConstraintDisabled)
+ [Überprüfen Sie, ob Tabellen mit ähnlichen Namen existieren](#CHAP_Tasks.AssessmentReport.PG.ValidateSimilarNames)
+ [Überprüfen Sie, ob es Tabellen mit dem ARRAY-Datentyp ohne Primärschlüssel gibt](#CHAP_Tasks.AssessmentReport.PG.ValidateArrayWithoutPrimaryKey)
+ [Überprüfen Sie, ob Primärschlüssel oder eindeutige Indizes in den Zieltabellen vorhanden sind, wenn diese Option aktiviert ist BatchApplyEnabled](#CHAP_Tasks.AssessmentReport.PG.PrimaryKeysUniqueIndexes)
+ [Überprüfen Sie, ob eine Tabelle der Zieldatenbank sekundäre Indizes für die Volllast-Migrationsaufgabe hat](#CHAP_Tasks.AssessmentReport.PG.TargetDatabaseSecondaryIndexes)
+ [Stellen Sie sicher, dass der eingeschränkte LOB-Modus nur verwendet wird, wenn er auf true gesetzt BatchApplyEnabled ist](#CHAP_Tasks.AssessmentReport.PG.LimitedLOBMode)
+ [Überprüfen Sie, ob die Version der Quelldatenbank von DMS für die Migration unterstützt wird](#CHAP_Tasks.AssessmentReport.PG.SourceVersion)
+ [Überprüfen Sie den `logical_decoding_work_mem` Parameter in der Quelldatenbank](#CHAP_Tasks.AssessmentReport.PG.LogicalDecoding)
+ [Überprüfen Sie, ob die Quelldatenbank Transaktionen mit langer Laufzeit enthält](#CHAP_Tasks.AssessmentReport.PG.LongRunning)
+ [Überprüfen Sie den Quelldatenbankparameter `max_slot_wal_keep_size`](#CHAP_Tasks.AssessmentReport.PG.)
+ [Überprüfen Sie, ob der Quelldatenbankparameter so eingestellt `postgres-check-maxwalsenders` ist, dass er CDC unterstützt.](#CHAP_Tasks.AssessmentReport.PG.MaxWalSenders)
+ [Überprüfen Sie, ob die Quelldatenbank für konfiguriert ist `PGLOGICAL`](#CHAP_Tasks.AssessmentReport.PG.pglogical)
+ [Überprüfen Sie, ob der Primärschlüssel der Quelltabelle vom LOB-Datentyp ist](#CHAP_Tasks.AssessmentReport.PG.pklob)
+ [Überprüfen Sie, ob die Quelltabelle einen Primärschlüssel hat](#CHAP_Tasks.AssessmentReport.PG.pk)
+ [Überprüfen Sie, ob vorbereitete Transaktionen in der Quelldatenbank vorhanden sind](#CHAP_Tasks.AssessmentReport.PG.preparedtransactions)
+ [Überprüfen Sie, ob `wal_sender_timeout` ein für die Unterstützung von DMS CDC erforderlicher Mindestwert festgelegt ist](#CHAP_Tasks.AssessmentReport.PG.waltime)
+ [Überprüfen Sie, ob in `wal_level` der Quelldatenbank auf logisch gesetzt ist](#CHAP_Tasks.AssessmentReport.PG.wallevel)
+ [Überprüfen Sie, ob sowohl der Primärschlüssel als auch der eindeutige Index auf dem Ziel für Batch Apply vorhanden sind](#CHAP_Tasks.AssessmentReport.PG.batchapply)
+ [Empfehlen Sie die Einstellung Max. LOB, wenn LOB-Objekte gefunden werden](#CHAP_Tasks.AssessmentReport.PG.lobsize)
+ [Überprüfen Sie, ob die Tabelle über einen Primärschlüssel oder einen eindeutigen Index verfügt und ob ihr Status in Ordnung ist, wenn die DMS-Validierung aktiviert ist](#CHAP_Tasks.AssessmentReport.PG.pkvalidity)
+ [Überprüfen Sie, ob AWS DMS der Benutzer über die erforderlichen Rechte für das Ziel verfügt](#CHAP_Tasks.AssessmentReport.PG.targetprivileges)
+ [Überprüft die Verfügbarkeit freier Replikationsslots für CDC](#CHAP_Tasks.AssessmentReport.PG.slotscount)
+ [Überprüfen Sie die Volllastberechtigungen für DMS-Benutzer](#CHAP_Tasks.AssessmentReport.PG.object.privileges)
+ [Überprüfen Sie die Transformationsregel für Ziffern nach dem Zufallsprinzip](#CHAP_Tasks.AssessmentReport.PG.digits.randomize)
+ [Überprüfen Sie die Transformationsregel für die Ziffernmaske](#CHAP_Tasks.AssessmentReport.PG.digits.mask)
+ [Überprüfen Sie die Transformationsregel für die Hashing-Maske](#CHAP_Tasks.AssessmentReport.PG.hash.mask)
+ [Stellen Sie sicher, dass die Einstellungen für die Datenvalidierung und die Randomisierung von Ziffern nicht gleichzeitig aktiviert sind](#CHAP_Tasks.AssessmentReport.PG.all.digit.random)
+ [Stellen Sie sicher, dass die Einstellungen für die Datenvalidierungsaufgabe und die Hashing-Maske für Datenmaskierung nicht gleichzeitig aktiviert sind](#CHAP_Tasks.AssessmentReport.PG.all.hash.mask)
+ [Stellen Sie sicher, dass die Einstellungen für die Datenvalidierungsaufgabe und die Datenmaskierungs-Ziffernmaske nicht gleichzeitig aktiviert sind](#CHAP_Tasks.AssessmentReport.PG.all.digit.mask)
+ [Stellen Sie sicher, dass mindestens ein ausgewähltes Objekt in der Quelldatenbank vorhanden ist](#CHAP_Tasks.AssessmentReport.PG.selection.rules)
+ [Stellen Sie sicher, dass die PostgreSQL-Zieldatenbank generierte Spalten enthält](#CHAP_Tasks.AssessmentReport.PG.target.generatedcol)
+ [Überprüfen Sie, ob materialisierte Ansichten in homogenen PostgreSQL-Migrationen existieren](#CHAP_Tasks.AssessmentReport.PG.mat.views)
+ [Stellen Sie sicher, dass REPLICA IDENTITY FULL mit der Verwendung des pglogical-Plug-ins in Konflikt steht](#CHAP_Tasks.AssessmentReport.PG.repl.identity.full)
+ [Stellen Sie sicher, dass sekundäre Einschränkungen und Indizes (nicht primär) in der Quelldatenbank vorhanden sind](#CHAP_Tasks.AssessmentReport.PG.secondary.constraints)
+ [Überprüfen Sie die Spaltenkompatibilität CHAR/VARCHAR für die Migration zu Oracle](#CHAP_Tasks.AssessmentReport.PG.varchar.columns)
+ [Stellen Sie sicher, dass die `idle_in_transaction_session_timeout` Einstellung in der Quelldatenbank konfiguriert ist](#CHAP_Tasks.AssessmentReport.PG.transaction.session)
+ [Stellen Sie sicher, dass AWS DMS der Benutzer über die erforderlichen Rollen für AWS-verwaltete PostgreSQL-Datenbanken verfügt](#CHAP_Tasks.AssessmentReport.PG.rds.roles)
+ [Stellen Sie sicher, dass es sich beim Zielendpunkt nicht um eine Read Replica handelt](#CHAP_Tasks.AssessmentReport.PG.read.replica)
+ [Überprüfen Sie die Read Replica-Version von Aurora PostgreSQL als Quelle](#CHAP_Tasks.AssessmentReport.PG.Aurorasource.replica.version)
+ [Überprüfen Sie die PostgreSQL-Read Replica-Quellversion](#CHAP_Tasks.AssessmentReport.PG.source.replica.version)

## Überprüfen Sie, ob der DDL-Ereignistrigger auf ALWAYS ENABLE gesetzt ist
<a name="CHAP_Tasks.AssessmentReport.PG.DDLEventTrigger"></a>

 **API-Schlüssel:** `postgres-check-ddl-event-trigger` 

 Bei dieser Bewertung vor der Migration wird überprüft, ob der DDL-Ereignisauslöser auf gesetzt ist. `ENABLE ALWAYS` Wenn Ihre Quelldatenbank auch ein Ziel für ein anderes Replikationssystem eines Drittanbieters ist, werden DDL-Änderungen während des CDC möglicherweise nicht migriert. Diese Situation kann verhindern, dass DMS das Ereignis auslöst. `awsdms_intercept_ddl` Um die Situation zu umgehen, ändern Sie den Trigger in Ihrer Quelldatenbank wie im folgenden Beispiel: 

```
alter event trigger awsdms_intercept_ddl enable always;
```

Weitere Informationen finden Sie unter [Einschränkungen bei der Verwendung einer PostgreSQL-Datenbank als DMS-Quelle](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.PostgreSQL.html#CHAP_Source.PostgreSQL.Limitations).

## Überprüfen Sie, ob PostGIS-Spalten in der Quelldatenbank vorhanden sind
<a name="CHAP_Tasks.AssessmentReport.PG.PostGISColumns"></a>

 **API-Schlüssel:** `postgres-check-postgis-data-type` 

 Diese Bewertung vor der Migration validiert, ob die Spalten des PostGIS-Datentyps, die für den Fall existieren, dass Quell- und Ziel-Engines unterschiedlich sind. AWS DMS unterstützt den PostGIS-Datentyp nur für homogene (like-to-like) -Migrationen. 

Weitere Informationen finden Sie unter [Einschränkungen bei der Verwendung einer PostgreSQL-Datenbank als DMS-Quelle](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.PostgreSQL.html#CHAP_Source.PostgreSQL.Limitations).

## Überprüfen Sie, ob die Fremdschlüsseleinschränkung für die Zieltabellen während des Vollladevorgangs deaktiviert ist
<a name="CHAP_Tasks.AssessmentReport.PG.ForeignKeyConstraintDisabled"></a>

 **API-Schlüssel:** `postgres-check-session-replication-role` 

 Bei dieser Bewertung vor der Migration `session_replication_role parameter` wird überprüft, ob `REPLICA` auf dem Ziel die Deaktivierung von Fremdschlüsseleinschränkungen während der Volllastphase auf eingestellt ist. Bei Migrationstypen mit Volllast sollten Sie Fremdschlüsseleinschränkungen deaktivieren. 

Weitere Hinweise zu PostgreSQL-Endpunktbeschränkungen finden Sie unter [Eine PostgreSQL-Datenbank als Ziel verwenden](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html) für. AWS Database Migration Service

## Überprüfen Sie, ob Tabellen mit ähnlichen Namen existieren
<a name="CHAP_Tasks.AssessmentReport.PG.ValidateSimilarNames"></a>

 **API-Schlüssel:** `postgres-check-similar-table-name` 

 Mit dieser Bewertung vor der Migration wird überprüft, ob die Quelle Tabellen mit ähnlichen Namen enthält. Wenn mehrere Tabellen mit demselben Namen in unterschiedlichen Groß- und Kleinschreibung geschrieben werden, kann dies zu unvorhersehbarem Verhalten bei der Replikation führen. 

Weitere Informationen zu PostgreSQL-Endpunktbeschränkungen finden Sie unter [Einschränkungen bei der Verwendung einer PostgreSQL-Datenbank als](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.PostgreSQL.html#CHAP_Source.PostgreSQL.Limitations) DMS-Quelle.

## Überprüfen Sie, ob es Tabellen mit dem ARRAY-Datentyp ohne Primärschlüssel gibt
<a name="CHAP_Tasks.AssessmentReport.PG.ValidateArrayWithoutPrimaryKey"></a>

 **API-Schlüssel:** `postgres-check-table-with-array` 

 Mit dieser Bewertung vor der Migration wird überprüft, ob es Tabellen mit dem Array-Datentyp ohne Primärschlüssel gibt. Eine Tabelle mit einem `ARRAY` Datentyp, bei dem ein Primärschlüssel fehlt, wird beim Vollladen ignoriert. 

Weitere Informationen zu PostgreSQL-Endpunktbeschränkungen finden Sie unter [Einschränkungen bei der Verwendung einer PostgreSQL-Datenbank als](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.PostgreSQL.html#CHAP_Source.PostgreSQL.Limitations) DMS-Quelle.

## Überprüfen Sie, ob Primärschlüssel oder eindeutige Indizes in den Zieltabellen vorhanden sind, wenn diese Option aktiviert ist BatchApplyEnabled
<a name="CHAP_Tasks.AssessmentReport.PG.PrimaryKeysUniqueIndexes"></a>

 **API-Schlüssel:** `postgres-check-batch-apply-target-pk-ui-absence` 

 Batch Apply wird nur für Tabellen mit Primärschlüsseln oder eindeutigen Indizes in der Zieltabelle unterstützt. Bei Tabellen ohne Primärschlüssel oder eindeutige Indizes schlägt der Batch fehl und die Änderungen AWS DMS werden nacheinander verarbeitet. Wir empfehlen, separate Aufgaben für solche Tabellen zu erstellen und stattdessen den transaktionalen Apply-Modus zu verwenden. Alternativ können Sie einen eindeutigen Schlüssel für die Zieltabelle erstellen. 

Weitere Informationen finden Sie unter [Verwenden einer PostgreSQL-Datenbank als Ziel](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html) für. AWS Database Migration Service

## Überprüfen Sie, ob eine Tabelle der Zieldatenbank sekundäre Indizes für die Volllast-Migrationsaufgabe hat
<a name="CHAP_Tasks.AssessmentReport.PG.TargetDatabaseSecondaryIndexes"></a>

 **API-Schlüssel:** `postgres-check-target-secondary-indexes` 

 Bei dieser Bewertung vor der Migration wird überprüft, ob es Tabellen mit Sekundärindizes im Rahmen der Volllast-Migrationsaufgabe gibt. Es wird empfohlen, die sekundären Indizes für die Dauer der Volllastaufgabe zu löschen. 

Weitere Informationen finden Sie unter [Verwenden einer PostgreSQL-Datenbank als Ziel](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html) für. AWS Database Migration Service

## Stellen Sie sicher, dass der eingeschränkte LOB-Modus nur verwendet wird, wenn er auf true gesetzt BatchApplyEnabled ist
<a name="CHAP_Tasks.AssessmentReport.PG.LimitedLOBMode"></a>

 **API-Schlüssel:** `postgres-batch-apply-lob-mode` 

 Wenn LOB-Spalten in der Replikation enthalten sind, können Sie sie nur `BatchApplyEnabled` im eingeschränkten LOB-Modus verwenden. Wenn Sie andere Optionen des LOB-Modus verwenden, schlägt der Batch fehl und die Änderungen AWS DMS werden nacheinander verarbeitet. Es wird empfohlen, diese Tabellen ihren eigenen Aufgaben zuzuordnen und stattdessen den Transaktionsmodus „Anwenden“ zu verwenden. 

Weitere Informationen zu dieser `BatchApplyEnabled` Einstellung finden Sie unter [Wie kann ich die DMS-Funktion zum Batch-Anwenden verwenden, um die CDC-Replikationsleistung zu verbessern?](https://repost.aws/knowledge-center/dms-batch-apply-cdc-replication) .

## Überprüfen Sie, ob die Version der Quelldatenbank von DMS für die Migration unterstützt wird
<a name="CHAP_Tasks.AssessmentReport.PG.SourceVersion"></a>

**API-Schlüssel:** `postgres-check-dbversion`

Bei dieser Bewertung vor der Migration wird überprüft, ob die Quelldatenbankversion kompatibel ist mit. AWS DMS

## Überprüfen Sie den `logical_decoding_work_mem` Parameter in der Quelldatenbank
<a name="CHAP_Tasks.AssessmentReport.PG.LogicalDecoding"></a>

**API-Schlüssel:** `postgres-check-for-logical-decoding-work-mem` 

Bei dieser Bewertung vor der Migration wird empfohlen, den `logical_decoding_work_mem` Parameter in der Quelldatenbank zu optimieren. In einer Datenbank mit hohem Transaktionsvolumen, in der Sie möglicherweise lange laufende Transaktionen oder viele Untertransaktionen haben, kann dies zu einem erhöhten Speicherverbrauch bei der logischen Dekodierung und der Notwendigkeit führen, Daten auf die Festplatte zu übertragen. Dies führt zu einer hohen Latenz der DMS-Quelle während der Replikation. In solchen Szenarien müssen Sie möglicherweise Anpassungen vornehmen. `logical_decoding_work_mem` Dieser Parameter wird in PostgreSQL-Versionen 13 und höher unterstützt.

## Überprüfen Sie, ob die Quelldatenbank Transaktionen mit langer Laufzeit enthält
<a name="CHAP_Tasks.AssessmentReport.PG.LongRunning"></a>

**API-Schlüssel:** `postgres-check-longrunningtxn` 

Bei dieser Bewertung vor der Migration wird überprüft, ob die Quelldatenbank Transaktionen mit langer Laufzeit enthält, die länger als 10 Minuten dauerten. Das Starten der Aufgabe schlägt möglicherweise fehl, da DMS beim Starten der Aufgabe standardmäßig nach offenen Transaktionen sucht.

## Überprüfen Sie den Quelldatenbankparameter `max_slot_wal_keep_size`
<a name="CHAP_Tasks.AssessmentReport.PG."></a>

**API-Schlüssel:** `postgres-check-maxslot-wal-keep-size` 

Bei dieser Bewertung vor der Migration wird der für konfigurierte Wert überprüft. `max_slot_wal_keep_size` Wenn dieser Wert auf einen anderen Wert eingestellt `max_slot_wal_keep_size` ist, schlägt die DMS-Aufgabe möglicherweise fehl, da die erforderlichen WAL-Dateien entfernt werden.

## Überprüfen Sie, ob der Quelldatenbankparameter so eingestellt `postgres-check-maxwalsenders` ist, dass er CDC unterstützt.
<a name="CHAP_Tasks.AssessmentReport.PG.MaxWalSenders"></a>

**API-Schlüssel:** `postgres-check-maxwalsenders` 

Bei dieser Bewertung vor der Migration wird der Wert überprüft, für den in der Quelldatenbank `max_wal_senders` konfiguriert wurde. DMS muss `max_wal_senders` auf einen Wert größer als 1 gesetzt sein, um Change Data Capture (CDC) zu unterstützen.

## Überprüfen Sie, ob die Quelldatenbank für konfiguriert ist `PGLOGICAL`
<a name="CHAP_Tasks.AssessmentReport.PG.pglogical"></a>

**API-Schlüssel:** `postgres-check-pglogical` 

 Bei dieser Bewertung vor der Migration wird überprüft, ob der `shared_preload_libraries` Wert auf Unterstützung `PGLOGICAL` für `pglogical` CDC festgelegt ist. Beachten Sie, dass Sie diese Bewertung ignorieren können, wenn Sie planen, die Testdekodierung für die logische Replikation zu verwenden.

## Überprüfen Sie, ob der Primärschlüssel der Quelltabelle vom LOB-Datentyp ist
<a name="CHAP_Tasks.AssessmentReport.PG.pklob"></a>

**API-Schlüssel:** `postgres-check-pk-lob` 

Bei dieser Bewertung vor der Migration wird überprüft, ob der Primärschlüssel einer Tabelle vom Datentyp Large Object (LOB) ist. DMS unterstützt keine Replikation, wenn die Quelltabelle eine LOB-Spalte als Primärschlüssel hat. 

## Überprüfen Sie, ob die Quelltabelle einen Primärschlüssel hat
<a name="CHAP_Tasks.AssessmentReport.PG.pk"></a>

**API-Schlüssel:** `postgres-check-pk` 

Bei dieser Bewertung vor der Migration wird überprüft, ob Primärschlüssel für die im Aufgabenbereich verwendeten Tabellen vorhanden sind. DMS unterstützt keine Replikation für Tabellen ohne Primärschlüssel, es sei denn, die Replikatidentität ist in der Quelltabelle `full` auf festgelegt. 

## Überprüfen Sie, ob vorbereitete Transaktionen in der Quelldatenbank vorhanden sind
<a name="CHAP_Tasks.AssessmentReport.PG.preparedtransactions"></a>

**API-Schlüssel:** `postgres-check-preparedtxn` 

Bei dieser Bewertung vor der Migration wird überprüft, ob in der Quelldatenbank vorbereitete Transaktionen vorhanden sind. Die Erstellung des Replikationssteckplatzes reagiert möglicherweise nicht mehr, wenn in der Quelldatenbank vorbereitete Transaktionen vorhanden sind.

## Überprüfen Sie, ob `wal_sender_timeout` ein für die Unterstützung von DMS CDC erforderlicher Mindestwert festgelegt ist
<a name="CHAP_Tasks.AssessmentReport.PG.waltime"></a>

**API-Schlüssel:** `postgres-check-walsenderstimeout` 

Bei dieser Bewertung vor der Migration `wal_sender_timeout` wird überprüft, ob der Wert auf mindestens 10000 Millisekunden (10 Sekunden) festgelegt ist. Eine DMS-Aufgabe mit CDC benötigt mindestens 10000 Millisekunden (10 Sekunden) und schlägt fehl, wenn der Wert unter 10000 liegt. 

## Überprüfen Sie, ob in `wal_level` der Quelldatenbank auf logisch gesetzt ist
<a name="CHAP_Tasks.AssessmentReport.PG.wallevel"></a>

**API-Schlüssel:** `postgres-check-wallevel`

 Bei dieser Bewertung vor der Migration wird überprüft, ob der Wert auf `wal_level` logisch gesetzt ist. Damit DMS CDC funktioniert, muss dieser Parameter in der Quelldatenbank aktiviert sein.

## Überprüfen Sie, ob sowohl der Primärschlüssel als auch der eindeutige Index auf dem Ziel für Batch Apply vorhanden sind
<a name="CHAP_Tasks.AssessmentReport.PG.batchapply"></a>

**API-Schlüssel:** `postgres-check-batch-apply-target-pk-ui-simultaneously`

Batch Apply wird nur für Tabellen mit Primärschlüsseln oder eindeutigen Indizes in der Zieltabelle unterstützt. Tabellen mit Primärschlüsseln und eindeutigen Indizes führen gleichzeitig dazu, dass der Batch fehlschlägt und die Änderungen nacheinander verarbeitet werden. Es ist ratsam, solche Tabellen ihren eigenen Aufgaben zuzuordnen und stattdessen den Transaktionsmodus „Anwenden“ zu verwenden. Alternativ können Sie einen oder mehrere eindeutige Schlüssel oder Primärschlüssel in der Zieltabelle ablegen und diese neu erstellen, wenn Sie eine Migration durchführen.

Weitere Informationen finden Sie unter [CDC mithilfe einer selbstverwalteten PostgreSQL-Datenbank als Quelle aktivieren AWS DMS](CHAP_Source.PostgreSQL.md#CHAP_Source.PostgreSQL.Prerequisites.CDC).

## Empfehlen Sie die Einstellung Max. LOB, wenn LOB-Objekte gefunden werden
<a name="CHAP_Tasks.AssessmentReport.PG.lobsize"></a>

**API-Schlüssel:** `postgres-check-limited-lob-size`

Die LOB-Größenberechnung für PostgreSQL unterscheidet sich von anderen Engines. Stellen Sie sicher, dass Sie in Ihrer Aufgabeneinstellung die richtige maximale LOB-Größe festlegen, um Datenkürzungen zu vermeiden.

Weitere Informationen finden Sie unter [AWS DMS-Datenvalidierung](CHAP_Validating.md).

## Überprüfen Sie, ob die Tabelle über einen Primärschlüssel oder einen eindeutigen Index verfügt und ob ihr Status in Ordnung ist, wenn die DMS-Validierung aktiviert ist
<a name="CHAP_Tasks.AssessmentReport.PG.pkvalidity"></a>

**API-Schlüssel:** `postgres-check-pk-validity`

Die Validierung erfordert, dass die Tabelle über einen Primärschlüssel oder eindeutigen Index verfügt.

Weitere Informationen finden Sie unter [AWS DMS-Datenvalidierung](CHAP_Validating.md).

## Überprüfen Sie, ob AWS DMS der Benutzer über die erforderlichen Rechte für das Ziel verfügt
<a name="CHAP_Tasks.AssessmentReport.PG.targetprivileges"></a>

**API-Schlüssel:** `postgres-check-target-privileges`

Der AWS DMS Benutzer muss mindestens die Benutzerrolle db\$1owner in der Zieldatenbank haben.

Weitere Informationen finden Sie unter [Sicherheitsanforderungen bei der Verwendung einer PostgreSQL-Datenbank als Ziel für AWS Database Migration Service](CHAP_Target.PostgreSQL.md#CHAP_Target.PostgreSQL.Security).

## Überprüft die Verfügbarkeit freier Replikationsslots für CDC
<a name="CHAP_Tasks.AssessmentReport.PG.slotscount"></a>

**API-Schlüssel:** `postgres-check-replication-slots-count`

Bei dieser Bewertung wird geprüft, ob Replikationsslots für CDC zur Replikation von Änderungen verfügbar sind.

## Überprüfen Sie die Volllastberechtigungen für DMS-Benutzer
<a name="CHAP_Tasks.AssessmentReport.PG.object.privileges"></a>

**API-Schlüssel:** `postgres-check-select-object-privileges`

Bei dieser Bewertung wird überprüft, ob der DMS-Benutzer über die erforderlichen SELECT-Rechte für Tabellen verfügt, die für Vollladevorgänge erforderlich sind.

## Überprüfen Sie die Transformationsregel für Ziffern nach dem Zufallsprinzip
<a name="CHAP_Tasks.AssessmentReport.PG.digits.randomize"></a>

**API-Schlüssel:** `postgres-datamasking-digits-randomize`

Mit dieser Bewertung wird geprüft, ob die in Tabellenzuordnungen verwendeten Spalten mit der Transformationsregel Digits Randomize kompatibel sind. Darüber hinaus wird bei der Bewertung geprüft, ob die für die Transformation ausgewählten Spalten Teil von Primärschlüsseln, eindeutigen Einschränkungen oder Fremdschlüsseln sind, da die Anwendung von Transformationen mit zufälligen Zahlen keine Eindeutigkeit garantiert.

## Überprüfen Sie die Transformationsregel für die Ziffernmaske
<a name="CHAP_Tasks.AssessmentReport.PG.digits.mask"></a>

**API-Schlüssel:** `postgres-datamasking-digits-mask`

Bei dieser Bewertung wird geprüft, ob die in der Tabellenzuordnung verwendeten Spalten nicht von der Transformationsregel für die Ziffernmaske unterstützt werden. Darüber hinaus wird bei der Bewertung geprüft, ob die für die Transformation ausgewählten Spalten Teil von Primärschlüsseln, eindeutigen Einschränkungen oder Fremdschlüsseln sind, da die Anwendung von Ziffernmaskentransformationen auf solche Spalten zu Fehlern bei DMS-Aufgaben führen kann, da die Eindeutigkeit nicht garantiert werden kann.

## Überprüfen Sie die Transformationsregel für die Hashing-Maske
<a name="CHAP_Tasks.AssessmentReport.PG.hash.mask"></a>

**API-Schlüssel:** `postgres-datamasking-hash-mask`

Bei dieser Bewertung wird geprüft, ob eine der in der Tabellenzuordnung verwendeten Spalten von der Hashing-Masken-Transformationsregel nicht unterstützt wird. Außerdem wird geprüft, ob die Länge der Quellspalte 64 Zeichen überschreitet. Idealerweise sollte die Länge der Zielspalte mehr als 64 Zeichen betragen, um die Hash-Maskierung zu unterstützen. Darüber hinaus wird bei der Bewertung geprüft, ob die für die Transformation ausgewählten Spalten Teil von Primärschlüsseln, eindeutigen Beschränkungen oder Fremdschlüsseln sind, da die Anwendung von Zufallszahlen bei Transformationen keine Eindeutigkeit garantiert.

## Stellen Sie sicher, dass die Einstellungen für die Datenvalidierung und die Randomisierung von Ziffern nicht gleichzeitig aktiviert sind
<a name="CHAP_Tasks.AssessmentReport.PG.all.digit.random"></a>

**API-Schlüssel:** `all-to-all-validation-with-datamasking-digits-randomize`

Bei dieser Bewertung vor der Migration wird überprüft, ob die Einstellung für die Datenvalidierung und die Randomisierung von Ziffern für die Datenmaskierung nicht gleichzeitig aktiviert sind, da diese Funktionen nicht kompatibel sind.

## Stellen Sie sicher, dass die Einstellungen für die Datenvalidierungsaufgabe und die Hashing-Maske für Datenmaskierung nicht gleichzeitig aktiviert sind
<a name="CHAP_Tasks.AssessmentReport.PG.all.hash.mask"></a>

**API-Schlüssel:** `all-to-all-validation-with-datamasking-hash-mask`

Bei dieser Bewertung vor der Migration wird überprüft, ob die Datenvalidierungseinstellung und die Datenmaskierungs-Hashing-Maske nicht gleichzeitig aktiviert sind, da diese Funktionen nicht kompatibel sind.

## Stellen Sie sicher, dass die Einstellungen für die Datenvalidierungsaufgabe und die Datenmaskierungs-Ziffernmaske nicht gleichzeitig aktiviert sind
<a name="CHAP_Tasks.AssessmentReport.PG.all.digit.mask"></a>

**API-Schlüssel:** `all-to-all-validation-with-digit-mask`

Bei dieser Bewertung vor der Migration wird überprüft, ob die Datenvalidierungseinstellungen und die Datenmaskierungs-Ziffernmaske nicht gleichzeitig aktiviert sind, da diese Funktionen nicht kompatibel sind.

## Stellen Sie sicher, dass mindestens ein ausgewähltes Objekt in der Quelldatenbank vorhanden ist
<a name="CHAP_Tasks.AssessmentReport.PG.selection.rules"></a>

**API-Schlüssel:** `all-check-source-selection-rules`

Bei dieser Bewertung vor der Migration wird überprüft, ob mindestens ein in den Auswahlregeln angegebenes Objekt in der Quelldatenbank vorhanden ist, einschließlich des Musterabgleichs für Regeln, die auf Platzhaltern basieren.

## Stellen Sie sicher, dass die PostgreSQL-Zieldatenbank generierte Spalten enthält
<a name="CHAP_Tasks.AssessmentReport.PG.target.generatedcol"></a>

**API-Schlüssel:** `postgres-check-target-generated-cols`

Diese Bewertung vor der Migration überprüft, ob die PostgreSQL-Zieldatenbank generierte Spalten (einschließlich der Typen STORED und VIRTUAL) enthält, die während der Migration möglicherweise einer besonderen Behandlung bedürfen. Generierte Spalten, die ihre Werte aus anderen Spalten berechnen, müssen speziell überprüft werden, um die Kompatibilität mit der PostgreSQL-Zielversion und die richtige Datenkonsistenz nach der Migration sicherzustellen. 

## Überprüfen Sie, ob materialisierte Ansichten in homogenen PostgreSQL-Migrationen existieren
<a name="CHAP_Tasks.AssessmentReport.PG.mat.views"></a>

**API-Schlüssel:** `postgres-check-materialized-views`

Bei der Migration zwischen PostgreSQL-Datenbanken können materialisierte Ansichten AWS DMS nicht migriert werden. Materialisierte Ansichten müssen nach der Migration manuell in Ihrer Zieldatenbank erstellt werden.

Weitere Informationen finden Sie unter [Einschränkungen bei Verwendung einer PostgreSQL-Datenbank als DMS-Quelle](CHAP_Source.PostgreSQL.md#CHAP_Source.PostgreSQL.Limitations).

## Stellen Sie sicher, dass REPLICA IDENTITY FULL mit der Verwendung des pglogical-Plug-ins in Konflikt steht
<a name="CHAP_Tasks.AssessmentReport.PG.repl.identity.full"></a>

**API-Schlüssel:** `postgres-check-pglogical-replica-identity-full`

Bei dieser Bewertung vor der Migration werden Tabellen erkannt, die REPLICA IDENTITY FULL verwenden. REPLICA IDENTITY FULL wird zwar mit dem Plugin test\$1decoding unterstützt, aber wenn Sie es zusammen mit pglogical verwenden, können Updates nicht korrekt repliziert werden. Ändern Sie entweder die REPLICA IDENTITY-Einstellung auf DEFAULT/INDEX oder wechseln Sie zu einem test\$1decoding-Plugin, um REPLICA IDENTITY FULL beizubehalten

Weitere Informationen finden Sie unter [Aktivieren der Erfassung von Datenänderungen (CDC) mithilfe logischer Replikation](CHAP_Source.PostgreSQL.md#CHAP_Source.PostgreSQL.Security).

## Stellen Sie sicher, dass sekundäre Einschränkungen und Indizes (nicht primär) in der Quelldatenbank vorhanden sind
<a name="CHAP_Tasks.AssessmentReport.PG.secondary.constraints"></a>

**API-Schlüssel:** `all-check-secondary-constraints`

Bei dieser Bewertung vor der Migration wird überprüft, ob sekundäre Einschränkungen und Indizes (Fremdschlüssel, Prüfbeschränkungen, nicht gruppierte Indizes) in der Quelldatenbank vorhanden sind.

## Überprüfen Sie die Spaltenkompatibilität CHAR/VARCHAR für die Migration zu Oracle
<a name="CHAP_Tasks.AssessmentReport.PG.varchar.columns"></a>

**API-Schlüssel:** `postgres-to-oracle-check-varchar-columns`

Bei dieser Bewertung vor der Migration werden diese NCHAR/NVARCHAR2 data type columns used in the target database are compatible with CHAR/VARCHAR Spalten in der Quelldatenbank überprüft.

## Stellen Sie sicher, dass die `idle_in_transaction_session_timeout` Einstellung in der Quelldatenbank konfiguriert ist
<a name="CHAP_Tasks.AssessmentReport.PG.transaction.session"></a>

**API-Schlüssel:** `postgres-check-idle-in-transaction-session-timeout`

Bei dieser Bewertung vor der Migration wird überprüft, ob der `idle_in_transaction_session_timeout` Parameter in der Quelldatenbank nicht auf 0 gesetzt ist.

## Stellen Sie sicher, dass AWS DMS der Benutzer über die erforderlichen Rollen für AWS-verwaltete PostgreSQL-Datenbanken verfügt
<a name="CHAP_Tasks.AssessmentReport.PG.rds.roles"></a>

**API-Schlüssel:** `postgres-check-rds-roles`

Diese Bewertung vor der Migration bestätigt, dass der AWS DMS Benutzer mit allen erforderlichen Rollen für AWS-verwaltete PostgreSQL-Datenbanken konfiguriert wurde. Unzureichende Rollen können dazu führen, dass Migrationsaufgaben fehlschlagen.

## Stellen Sie sicher, dass es sich beim Zielendpunkt nicht um eine Read Replica handelt
<a name="CHAP_Tasks.AssessmentReport.PG.read.replica"></a>

**API-Schlüssel:** `all-check-target-read-replica`

Bei dieser Bewertung vor der Migration wird überprüft, ob der Zielendpunkt nicht als Read Replica konfiguriert ist. AWS DMS erfordert Schreibzugriff auf die Zieldatenbank und kann nicht in schreibgeschützte Replikate repliziert werden.

## Überprüfen Sie die Read Replica-Version von Aurora PostgreSQL als Quelle
<a name="CHAP_Tasks.AssessmentReport.PG.Aurorasource.replica.version"></a>

**API-Schlüssel:** `postgres-aurora-check-source-replica-role-cdc`

Diese Bewertung vor der Migration bestätigt, dass der Quellendpunkt eine Aurora PostgreSQL-Read Replica verwendet, auf der Version 16 oder höher ausgeführt wird. CDC-Operationen erfordern Replikationssteckplätze, die Aurora PostgreSQL auf schreibgeschützten Knoten in Versionen vor 16 nicht unterstützt.

Weitere Informationen finden Sie unter [Replica als Quelle für PostgreSQL lesen](CHAP_Source.PostgreSQL.md#CHAP_Source.PostgreSQL.ReadReplica).

## Überprüfen Sie die PostgreSQL-Read Replica-Quellversion
<a name="CHAP_Tasks.AssessmentReport.PG.source.replica.version"></a>

**API-Schlüssel:** `postgres-check-source-replica-role-cdc`

Diese Bewertung vor der Migration bestätigt, dass der Quellendpunkt eine PostgreSQL-Read Replica verwendet, auf der Version 16 oder höher ausgeführt wird. CDC-Operationen erfordern Replikationssteckplätze, die PostgreSQL auf schreibgeschützten Knoten in Versionen vor 16 nicht unterstützt.

Weitere Informationen finden Sie unter [Replica als Quelle für PostgreSQL lesen](CHAP_Source.PostgreSQL.md#CHAP_Source.PostgreSQL.ReadReplica).

# Db2 LUW-Bewertungen
<a name="CHAP_Tasks.AssessmentReport.Db2"></a>

In diesem Abschnitt werden individuelle Bewertungen vor der Migration für Migrationsaufgaben beschrieben, die einen Db2-LUW-Quellendpunkt verwenden.

**Topics**
+ [Überprüfen Sie, ob die IBM Db2 LUW-Datenbank so konfiguriert ist, dass sie wiederherstellbar ist.](#CHAP_Tasks.AssessmentReport.Db2.config.param)
+ [Überprüfen Sie, ob der DMS-Benutzer über die erforderlichen Berechtigungen für die Quelldatenbank verfügt, um einen Vollladevorgang durchzuführen](#CHAP_Tasks.AssessmentReport.Db2.load.privileges)
+ [Überprüfen Sie, ob der DMS-Benutzer über die erforderlichen Berechtigungen für die Quelldatenbank verfügt, um CDC auszuführen](#CHAP_Tasks.AssessmentReport.Db2.cdc.privileges)
+ [Überprüfen Sie, ob die IBM Db2 LUW-Quelltabelle den Db2-XML-Datentyp hat](#CHAP_Tasks.AssessmentReport.Db2.xml.data.type)
+ [Überprüfen Sie, ob die IBM Db2-LUW-Quellversion unterstützt wird von AWS DMS](#CHAP_Tasks.AssessmentReport.Db2.supported.version.source)
+ [Überprüfen Sie, ob die IBM Db2 LUW-Zielversion unterstützt wird von AWS DMS](#CHAP_Tasks.AssessmentReport.Db2.supported.version.target)
+ [Überprüfen Sie die Transformationsregel für Ziffern nach dem Zufallsprinzip](#CHAP_Tasks.AssessmentReport.Db2.digits.randomise)
+ [Überprüfen Sie die Transformationsregel für die Ziffernmaske](#CHAP_Tasks.AssessmentReport.Db2.digits.mask)
+ [Überprüfen Sie die Transformationsregel für die Hashing-Maske](#CHAP_Tasks.AssessmentReport.Db2.hash.mask)
+ [Stellen Sie sicher, dass die Einstellungen für die Datenvalidierung und die Randomisierung von Ziffern nicht gleichzeitig aktiviert sind](#CHAP_Tasks.AssessmentReport.Db2.all.digits.random)
+ [Stellen Sie sicher, dass die Einstellungen für die Datenvalidierungsaufgabe und die Hashing-Maske für Datenmaskierung nicht gleichzeitig aktiviert sind](#CHAP_Tasks.AssessmentReport.Db2.all.hash.mask)
+ [Stellen Sie sicher, dass die Einstellungen für die Datenvalidierungsaufgabe und die Datenmaskierungs-Ziffernmaske nicht gleichzeitig aktiviert sind](#CHAP_Tasks.AssessmentReport.Db2.all.digit.mask)
+ [Stellen Sie sicher, dass die Zieltabellen die richtige Indexkonfiguration (Primary Key oder Unique Index, nicht beides) haben, um Batch Apply-Kompatibilität zu gewährleisten](#CHAP_Tasks.AssessmentReport.Db2.pk.absence)
+ [Stellen Sie sicher, dass nur der „Limitierte LOB-Modus“ verwendet wird, wenn dieser Wert auf „true“ gesetzt ist `BatchApplyEnabled`](#CHAP_Tasks.AssessmentReport.Db2.lob.mode)
+ [Überprüfen Sie, ob sekundäre Indizes in der Zieldatenbank während der Volllast deaktiviert sind](#CHAP_Tasks.AssessmentReport.secondary.indexes)
+ [Stellen Sie sicher, dass mindestens ein ausgewähltes Objekt in der Quelldatenbank vorhanden ist](#CHAP_Tasks.AssessmentReport.Db2.selection.rules)
+ [Stellen Sie sicher, dass sekundäre Einschränkungen und Indizes (nicht primär) in der Quelldatenbank vorhanden sind](#CHAP_Tasks.AssessmentReport.Db2.secondary.constraints)

## Überprüfen Sie, ob die IBM Db2 LUW-Datenbank so konfiguriert ist, dass sie wiederherstellbar ist.
<a name="CHAP_Tasks.AssessmentReport.Db2.config.param"></a>

**API-Schlüssel:** `db2-check-archive-config-param`

**Bei dieser Bewertung vor der Migration wird überprüft, ob die Db2 LUW-Datenbank über einen oder beide Datenbankkonfigurationsparameter verfügt und auf ON gesetzt ist. `LOGARCHMETH1` `LOGARCHMETH2`**

## Überprüfen Sie, ob der DMS-Benutzer über die erforderlichen Berechtigungen für die Quelldatenbank verfügt, um einen Vollladevorgang durchzuführen
<a name="CHAP_Tasks.AssessmentReport.Db2.load.privileges"></a>

**API-Schlüssel:** `db2-check-full-load-privileges`

Bei dieser Bewertung vor der Migration wird überprüft, ob der DMS-Benutzer über alle erforderlichen Berechtigungen für die Quelldatenbank für Volllastvorgänge verfügt.

## Überprüfen Sie, ob der DMS-Benutzer über die erforderlichen Berechtigungen für die Quelldatenbank verfügt, um CDC auszuführen
<a name="CHAP_Tasks.AssessmentReport.Db2.cdc.privileges"></a>

**API-Schlüssel:** `db2-check-cdc-privileges`

Bei dieser Bewertung vor der Migration wird überprüft, ob der DMS-Benutzer über alle erforderlichen Berechtigungen für die Quelldatenbank für CDC-Operationen verfügt.

## Überprüfen Sie, ob die IBM Db2 LUW-Quelltabelle den Db2-XML-Datentyp hat
<a name="CHAP_Tasks.AssessmentReport.Db2.xml.data.type"></a>

**API-Schlüssel:** `db2-check-xml-data-type`

Bei dieser Bewertung vor der Migration wird überprüft, ob die IBM Db2-LUW-Quelltabelle den Db2-XML-Datentyp hat.

## Überprüfen Sie, ob die IBM Db2-LUW-Quellversion unterstützt wird von AWS DMS
<a name="CHAP_Tasks.AssessmentReport.Db2.supported.version.source"></a>

**API-Schlüssel:** `db2-validate-supported-versions-source`

Mit dieser Bewertung vor der Migration wird überprüft, ob die IBM Db2-LUW-Quellversion von unterstützt wird. AWS DMS

## Überprüfen Sie, ob die IBM Db2 LUW-Zielversion unterstützt wird von AWS DMS
<a name="CHAP_Tasks.AssessmentReport.Db2.supported.version.target"></a>

**API-Schlüssel:** `db2-validate-supported-versions-target`

Diese Bewertung vor der Migration validiert, ob die IBM Db2 LUW-Zielversion von unterstützt wird. AWS DMS

## Überprüfen Sie die Transformationsregel für Ziffern nach dem Zufallsprinzip
<a name="CHAP_Tasks.AssessmentReport.Db2.digits.randomise"></a>

**API-Schlüssel:** `db2-datamasking-digits-randomize`

Mit dieser Bewertung wird geprüft, ob die in Tabellenzuordnungen verwendeten Spalten mit der Transformationsregel Digits Randomize kompatibel sind. Darüber hinaus wird bei der Bewertung geprüft, ob die für die Transformation ausgewählten Spalten Teil von Primärschlüsseln, eindeutigen Einschränkungen oder Fremdschlüsseln sind, da die Anwendung von Transformationen mit zufälligen Zahlen keine Eindeutigkeit garantiert.

## Überprüfen Sie die Transformationsregel für die Ziffernmaske
<a name="CHAP_Tasks.AssessmentReport.Db2.digits.mask"></a>

**API-Schlüssel:** `db2-datamasking-digits-mask`

Bei dieser Bewertung wird geprüft, ob die in der Tabellenzuordnung verwendeten Spalten nicht von der Transformationsregel für die Ziffernmaske unterstützt werden. Darüber hinaus wird bei der Bewertung geprüft, ob die für die Transformation ausgewählten Spalten Teil von Primärschlüsseln, eindeutigen Einschränkungen oder Fremdschlüsseln sind, da die Anwendung von Ziffernmaskentransformationen auf solche Spalten zu Fehlern bei DMS-Aufgaben führen kann, da die Eindeutigkeit nicht garantiert werden kann.

## Überprüfen Sie die Transformationsregel für die Hashing-Maske
<a name="CHAP_Tasks.AssessmentReport.Db2.hash.mask"></a>

**API-Schlüssel:** `db2-datamasking-hash-mask`

Bei dieser Bewertung wird geprüft, ob eine der in der Tabellenzuordnung verwendeten Spalten von der Hashing-Masken-Transformationsregel nicht unterstützt wird. Außerdem wird geprüft, ob die Länge der Quellspalte 64 Zeichen überschreitet. Idealerweise sollte die Länge der Zielspalte mehr als 64 Zeichen betragen, um die Hash-Maskierung zu unterstützen. Darüber hinaus wird bei der Bewertung geprüft, ob die für die Transformation ausgewählten Spalten Teil von Primärschlüsseln, eindeutigen Beschränkungen oder Fremdschlüsseln sind, da die Anwendung von zufälligen Zifferntransformationen keine Eindeutigkeit garantiert.

## Stellen Sie sicher, dass die Einstellungen für die Datenvalidierung und die Randomisierung von Ziffern nicht gleichzeitig aktiviert sind
<a name="CHAP_Tasks.AssessmentReport.Db2.all.digits.random"></a>

**API-Schlüssel:** `all-to-all-validation-with-datamasking-digits-randomize`

Bei dieser Bewertung vor der Migration wird überprüft, ob die Einstellung für die Datenvalidierung und die Randomisierung von Ziffern für die Datenmaskierung nicht gleichzeitig aktiviert sind, da diese Funktionen nicht kompatibel sind.

## Stellen Sie sicher, dass die Einstellungen für die Datenvalidierungsaufgabe und die Hashing-Maske für Datenmaskierung nicht gleichzeitig aktiviert sind
<a name="CHAP_Tasks.AssessmentReport.Db2.all.hash.mask"></a>

**API-Schlüssel:** `all-to-all-validation-with-datamasking-hash-mask`

Bei dieser Bewertung vor der Migration wird überprüft, ob die Datenvalidierungseinstellung und die Datenmaskierungs-Hashing-Maske nicht gleichzeitig aktiviert sind, da diese Funktionen nicht kompatibel sind.

## Stellen Sie sicher, dass die Einstellungen für die Datenvalidierungsaufgabe und die Datenmaskierungs-Ziffernmaske nicht gleichzeitig aktiviert sind
<a name="CHAP_Tasks.AssessmentReport.Db2.all.digit.mask"></a>

**API-Schlüssel:** `all-to-all-validation-with-digit-mask`

Bei dieser Bewertung vor der Migration wird überprüft, ob die Datenvalidierungseinstellungen und die Datenmaskierungs-Ziffernmaske nicht gleichzeitig aktiviert sind, da diese Funktionen nicht kompatibel sind.

## Stellen Sie sicher, dass die Zieltabellen die richtige Indexkonfiguration (Primary Key oder Unique Index, nicht beides) haben, um Batch Apply-Kompatibilität zu gewährleisten
<a name="CHAP_Tasks.AssessmentReport.Db2.pk.absence"></a>

**API-Schlüssel:** `db2-check-batch-apply-target-pk-ui-absence`

Batch Apply erfordert, dass die Zieltabellen entweder Primärschlüssel oder Einzelschlüssel haben, aber nicht beide. Wenn eine Tabelle sowohl Primärschlüssel als auch Einzelschlüssel enthält, wechselt der Anwendenmodus von Batch zu Transaktional.

## Stellen Sie sicher, dass nur der „Limitierte LOB-Modus“ verwendet wird, wenn dieser Wert auf „true“ gesetzt ist `BatchApplyEnabled`
<a name="CHAP_Tasks.AssessmentReport.Db2.lob.mode"></a>

**API-Schlüssel:** `db2-check-for-batch-apply-lob-mode`

Bei dieser Bewertung vor der Migration wird geprüft, ob die DMS-Aufgabe LOB-Spalten enthält. Wenn LOB-Spalten im Aufgabenbereich enthalten sind, müssen Sie den Modus „Eingeschränkter LOB-Modus“ verwenden, um diese verwenden zu können. `BatchApplyEnabled=true`

## Überprüfen Sie, ob sekundäre Indizes in der Zieldatenbank während der Volllast deaktiviert sind
<a name="CHAP_Tasks.AssessmentReport.secondary.indexes"></a>

**API-Schlüssel:** `db2-check-secondary-indexes`

Mit dieser Bewertung vor der Migration wird überprüft, ob sekundäre Indizes während einer Volllast der Zieldatenbank deaktiviert sind. Sie müssen die sekundären Indizes bei Volllast deaktivieren oder entfernen.

## Stellen Sie sicher, dass mindestens ein ausgewähltes Objekt in der Quelldatenbank vorhanden ist
<a name="CHAP_Tasks.AssessmentReport.Db2.selection.rules"></a>

**API-Schlüssel:** `all-check-source-selection-rules`

Bei dieser Bewertung vor der Migration wird überprüft, ob mindestens ein in den Auswahlregeln angegebenes Objekt in der Quelldatenbank vorhanden ist, einschließlich des Musterabgleichs für Regeln, die auf Platzhaltern basieren.

## Stellen Sie sicher, dass sekundäre Einschränkungen und Indizes (nicht primär) in der Quelldatenbank vorhanden sind
<a name="CHAP_Tasks.AssessmentReport.Db2.secondary.constraints"></a>

**API-Schlüssel:** `all-check-secondary-constraints`

Bei dieser Bewertung vor der Migration wird überprüft, ob sekundäre Einschränkungen und Indizes (Fremdschlüssel, Prüfbeschränkungen, nicht gruppierte Indizes) in der Quelldatenbank vorhanden sind.

# Datentypbewertungen starten und anzeigen (Legacy)
<a name="CHAP_Tasks.DataTypeAssessments"></a>

**Anmerkung**  
In diesem Abschnitt werden ältere Inhalte beschrieben. Es wird empfohlen, die Testläufe vor der Migration zu verwenden, die weiter oben unter beschrieben wurden. [Angeben, Starten und Anzeigen von Vormigrationsbewertungsläufen](CHAP_Tasks.PremigrationAssessmentRuns.md)  
Datentypbewertungen sind in der Konsole nicht verfügbar. Sie können Datentypbewertungen nur mit der API oder CLI ausführen, und Sie können die Ergebnisse einer Datentypbewertung nur im S3-Bucket der Aufgabe anzeigen.  
 Die Bewertung vor der Migration wird automatisch unter den folgenden Bedingungen ausgeführt:   
 Während der Startaufgabe: Wenn Sie die Bewertung während der Aufgabenerstellung nicht manuell ausgeführt haben. 
 Während der Wiederaufnahme-Aufgabe: Wenn in den letzten 7 Tagen keine abgeschlossene Bewertung stattgefunden hat. 

Bei einer Datentypbewertung werden Datentypen in einer Quelldatenbank identifiziert, die möglicherweise nicht korrekt migriert werden, weil das Ziel sie nicht unterstützt. AWS DMS Liest während dieser Bewertung die Quelldatenbankschemas für eine Migrationsaufgabe und erstellt eine Liste der Spaltendatentypen. Anschließend wird diese Liste mit einer vordefinierten Liste von Datentypen verglichen, die von AWS DMS unterstützt werden. Wenn Ihre Migrationsaufgabe Datentypen enthält, die nicht unterstützt werden, wird ein Bericht AWS DMS erstellt, in dem Sie nachsehen können, ob Ihre Migrationsaufgabe Datentypen enthält, die nicht unterstützt werden. AWS DMS erstellt keinen Bericht, wenn Ihre Migrationsaufgabe keine Datentypen enthält, die nicht unterstützt werden.

AWS DMS unterstützt die Erstellung von Berichten zur Bewertung von Datentypen für die folgenden relationalen Datenbanken:
+ Oracle
+ SQL Server 
+ PostgreSQL
+ MySQL
+ MariaDB
+ Amazon Aurora

Sie können einen Bericht zur Bewertung des Datentyps mithilfe der CLI starten und anzeigen und SDKs auf die AWS DMS API zugreifen:
+ In der CLI wird zum Starten einer Datentypbewertung der Befehl [https://docs.aws.amazon.com/cli/latest/reference/dms/start-replication-task-assessment](https://docs.aws.amazon.com/cli/latest/reference/dms/start-replication-task-assessment) und zum Anzeigen des neuesten Berichts zur Datentypbewertung im JSON-Format der Befehl [https://docs.aws.amazon.com/cli/latest/reference/dms/describe-replication-task-assessment-results](https://docs.aws.amazon.com/cli/latest/reference/dms/describe-replication-task-assessment-results) verwendet.
+ Die AWS DMS API verwendet den [https://docs.aws.amazon.com/dms/latest/APIReference/API_StartReplicationTaskAssessment.html](https://docs.aws.amazon.com/dms/latest/APIReference/API_StartReplicationTaskAssessment.html)Vorgang, um eine Datentypbewertung zu starten, und verwendet den [https://docs.aws.amazon.com/dms/latest/APIReference/API_DescribeReplicationTaskAssessmentResults.html](https://docs.aws.amazon.com/dms/latest/APIReference/API_DescribeReplicationTaskAssessmentResults.html)Vorgang, um den neuesten Datentypbewertungsbericht im JSON-Format anzuzeigen.

Der Bericht zur Datentypbewertung enthält in einer einzelnen JSON-Datei eine Zusammenfassung mit einer Auflistung der nicht unterstützten Datentypen und ihrer jeweiligen Spaltenanzahl. Er enthält eine Liste der Datenstrukturen für jeden nicht unterstützten Datentyp, einschließlich der Schemas, Tabellen und Spalten mit dem nicht unterstützten Datentyp. Sie können den Bericht dazu verwenden, die Quelldatentypen zu ändern und die Chancen für eine erfolgreiche Migration zu verbessern.

Es gibt zwei Ebenen von nicht unterstützten Datentypen. Datentypen, die in dem Bericht als "nicht unterstützt" angezeigt werden, können nicht migriert werden. Datentypen, die in dem Bericht als teilweise unterstützt angezeigt werden, sind eventuell in einen anderen Datentyp konvertierbar, werden möglicherweise aber nicht wie erwartet migriert.

Das folgende Beispiel zeigt, wie ein Bericht zur Datentypbewertung aussehen könnte.

```
{
            "summary":{
            "task-name":"test15",
            "not-supported":{
            "data-type": [
            "sql-variant"
            ],
            "column-count":3
            },
            "partially-supported":{
            "data-type":[
            "float8",
            "jsonb"
            ],
            "column-count":2
            }
            },
            "types":[
            {
            "data-type":"float8",
            "support-level":"partially-supported",
            "schemas":[
            {
            "schema-name":"schema1",
            "tables":[
            {
            "table-name":"table1",
            "columns":[
            "column1",
            "column2"
            ]
            },
            {
            "table-name":"table2",
            "columns":[
            "column3",
            "column4"
            ]
            }
            ]
            },
            {
            "schema-name":"schema2",
            "tables":[
            {
            "table-name":"table3",
            "columns":[
            "column5",
            "column6"
            ]
            },
            {
            "table-name":"table4",
            "columns":[
            "column7",
            "column8"
            ]
            }
            ]
            }
            ]
            },
            {
            "datatype":"int8",
            "support-level":"partially-supported",
            "schemas":[
            {
            "schema-name":"schema1",
            "tables":[
            {
            "table-name":"table1",
            "columns":[
            "column9",
            "column10"
            ]
            },
            {
            "table-name":"table2",
            "columns":[
            "column11",
            "column12"
            ]
            }
            ]
            }
            ]
            }
            ]
            }
```

AWS DMS speichert die neuesten und alle vorherigen Datentypbewertungen in einem Amazon S3 S3-Bucket, der von AWS DMS in Ihrem Konto erstellt wurde. Der Amazon S3 S3-Bucket-Name hat das folgende Format, wobei *customerId* es sich um Ihre Kunden-ID und um eine interne Kennung *customerDNS* handelt.

```
dms-customerId-customerDNS
```

**Anmerkung**  
Standardmäßig können Sie bis zu 100 Amazon-S3-Buckets in jedem Ihrer AWS -Konten erstellen. Da in Ihrem Konto ein Bucket AWS DMS erstellt wird, stellen Sie sicher, dass Ihr Bucket-Limit nicht überschritten wird. Andernfalls schlägt die Datentypbewertung fehl.

Alle Berichte zur Datentypbewertung für eine bestimmte Migrationsaufgabe werden in einem Bucket-Ordner gespeichert, der mit der Aufgaben-ID benannt ist. Der Dateiname jedes Berichts entspricht dem Datum der Datentypbewertung im Format yyyy-mm-dd-hh -mm. Sie können frühere Berichte zu Datentypbewertungen in der Amazon-S3-Managementkonsole anzeigen und vergleichen.

AWS DMS erstellt außerdem eine AWS Identity and Access Management (IAM-) Rolle, um den Zugriff auf den S3-Bucket zu ermöglichen, der für diese Berichte erstellt wurde. Der Rollenname lautet `dms-access-for-tasks`. Die Rolle verwendet die Richtlinie `AmazonDMSRedshiftS3Role`. Wenn bei der Ausführung ein **ResourceNotFoundFault**Fehler auftritt`StartReplicationTaskAssessment`, finden Sie [ResourceNotFoundFault](CHAP_Tasks.AssessmentReport.Troubleshooting.md#CHAP_Tasks.AssessmentReport.Troubleshooting.ResourceNotFoundFault) im Abschnitt Fehlerbehebung Informationen zur manuellen Erstellung der `dms-access-for-tasks` Rolle.

# Problembehandlung bei Bewertungsläufen
<a name="CHAP_Tasks.AssessmentReport.Troubleshooting"></a>

Im Folgenden finden Sie Themen zur Behebung von Problemen bei der Ausführung von Bewertungsberichten mit AWS Database Migration Service. Diese Themen können Ihnen helfen, häufig auftretende Probleme zu lösen.

**Topics**
+ [ResourceNotFoundFault beim Laufen StartReplicationTaskAssessment](#CHAP_Tasks.AssessmentReport.Troubleshooting.ResourceNotFoundFault)

## ResourceNotFoundFault beim Laufen StartReplicationTaskAssessment
<a name="CHAP_Tasks.AssessmentReport.Troubleshooting.ResourceNotFoundFault"></a>

Beim Ausführen der [StartReplicationTaskAssessment](https://docs.aws.amazon.com/dms/latest/APIReference/API_StartReplicationTaskAssessment.html)Aktion kann die folgende Ausnahme auftreten.

```
An error occurred (ResourceNotFoundFault) when calling the StartReplicationTaskAssessment operation: Task assessment has not been run or dms-access-for-tasks IAM Role not configured correctly
```

Wenn Sie auf diese Ausnahme stoßen, erstellen Sie die **dms-access-for-tasks**Rolle wie folgt:

1. Öffnen Sie unter [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) die IAM-Konsole.

1. Wählen Sie im Navigationsbereich **Rollen** aus.

1. Wählen Sie **Create role** (Rolle erstellen) aus.

1. **Wählen Sie auf der Seite Vertrauenswürdige Entität** auswählen für **Vertrauenswürdigen Entitätstyp** die Option **Benutzerdefinierte Vertrauensrichtlinie** aus. 

1. Fügen Sie den folgenden JSON-Code in den Editor ein und ersetzen Sie den vorhandenen Text.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "1",
               "Effect": "Allow",
               "Principal": {
                   "Service": "dms.amazonaws.com"
               },
               "Action": "sts:AssumeRole"
           }
       ]
   }
   ```

------

   Die vorstehende Richtlinie gewährt die `sts:AssumeRole` Erlaubnis für AWS DMS. Wenn Sie die **Amazon DMSRedshift S3Role-Richtlinie** hinzufügen, kann DMS den S3-Bucket in Ihrem Konto erstellen und die Ergebnisse der Datentypbewertung in diesen S3-Bucket übernehmen.

1. Wählen Sie **Weiter** aus.

1. Suchen Sie auf der Seite „**Berechtigungen hinzufügen**“ nach der **Amazon DMSRedshift S3Role-Richtlinie** und fügen Sie sie hinzu. Wählen Sie **Weiter** aus.

1. Geben Sie auf der Seite **Name, Überprüfung und Erstellung einen** Namen für die Rolle ein. **dms-access-for-tasks** Wählen Sie **Rolle erstellen** aus.

# Angeben zusätzlicher Daten für Aufgabeneinstellungen
<a name="CHAP_Tasks.TaskData"></a>

Wenn Sie eine Replikationsaufgabe für einige AWS DMS Endpoints erstellen oder ändern, benötigt die Aufgabe möglicherweise zusätzliche Informationen, um die Migration durchzuführen. Sie können diese zusätzlichen Informationen über eine Option in der DMS-Konsole angeben. Sie können sie auch mit dem `TaskData`-Parameter für die DMS-API-Operation `CreateReplicationTask` oder `ModifyReplicationTask` angeben.

Wenn Ihr Zielendpunkt Amazon Neptune ist, müssen Sie zusätzlich zur Tabellenzuweisung Zuweisungsdaten angeben. Diese zusätzlichen Zuweisungsdaten geben an, wie relationale Quelldaten in die Zieldiagrammdaten konvertiert werden, die von einer Neptune-Datenbank verwendet werden können. In diesem Fall können Sie eines von zwei möglichen Formaten verwenden. Weitere Informationen finden Sie unter [Angeben von Graph-Zuordnungsregeln mit Gremlin und R2RML für Amazon Neptune als Ziel](CHAP_Target.Neptune.md#CHAP_Target.Neptune.GraphMapping).