Konfigurieren von Einstellungen für den Datenmigrations-Assistenten

Wichtig

Datenmigrations-Assistent (DMA) ist veraltet. Unter Migrationsoptionen für SQL Server in Azure SQL finden Sie die Optionen zum Migrieren aus SQL Server in Azure SQL.

Sie können bestimmte Verhaltensweisen des Datenmigrations-Assistenten optimieren, indem Sie Konfigurationswerte in der Datei „dma.exe.config“ festlegen. In diesem Artikel werden wichtige Konfigurationswerte beschrieben.

Die Datei dma.exe.config für die Desktopanwendung des Datenmigrations-Assistenten und das Befehlszeilenprogramm befinden sich in den folgenden Ordnern auf Ihrem Computer.

  • Desktop-Anwendung

    %ProgramFiles%\Microsoft Data Migration Assistant\dma.exe.config

  • Befehlszeilen-Hilfsprogramm

    %ProgramFiles%\Microsoft Data Migration Assistant\dmacmd.exe.config

Speichern Sie eine Kopie der ursprünglichen Konfigurationsdatei, bevor Sie Änderungen vornehmen. Nachdem Sie Änderungen vorgenommen haben, starten Sie den Datenmigrations-Assistenten neu, damit die neuen Konfigurationswerte übernommen werden.

Anzahl von Datenbanken, die parallel bewertet werden sollen

Der Datenmigrations-Assistent bewertet mehrere Datenbanken parallel. Während der Bewertung extrahiert der Datenmigrations-Assistent eine Datenebenenanwendung (dacpac), um das Datenbankschema zu verstehen. Bei diesem Vorgang kann es zu Timeouts kommen, wenn mehrere Datenbanken auf demselben Server parallel bewertet werden.

Ab Version v2.0 des Datenmigrations-Assistenten können Sie dies steuern, indem Sie den Konfigurationswert „parallelDatabases“ festlegen. Der Standardwert ist 8.

<advisorGroup>
<workflowSettings>
<assessment parallelDatabases="8" />
</workflowSettings>
</advisorGroup>

Anzahl von Datenbanken, die parallel migriert werden sollen

Der Datenmigrations-Assistent migriert mehrere Datenbanken parallel, bevor Anmeldungen migriert werden. Während der Migration erstellt der Datenmigrations-Assistent eine Sicherung der Quelldatenbank, kopiert die Sicherung optional und stellt sie dann auf dem Zielserver wieder her. Wenn mehrere Datenbanken für die Migration ausgewählt werden, treten möglicherweise Timeoutfehler auf.

Ab Version v2.0 des Datenmigrations-Assistenten können Sie den Konfigurationswert „parallelDatabases“ verringern, wenn dieses Problem auftritt. Für eine geringere Gesamtdauer der Migration können Sie den Wert erhöhen.

<advisorGroup>
<workflowSettings>
<migration parallelDatabases="8″ />
</workflowSettings>
</advisorGroup>

DacFX-Einstellungen

Während der Bewertung extrahiert der Datenmigrations-Assistent eine Datenebenenanwendung (dacpac), um das Datenbankschema zu verstehen. Bei diesem Vorgang kann es bei großen Datenbanken oder hoher Serverlast zu Timeoutfehlern kommen. Ab Version v1.0 der Datenmigration können Sie die folgenden Konfigurationswerte ändern, um Fehler zu verhindern.

Hinweis

Der gesamte <dacfx>-Eintrag ist standardmäßig kommentiert. Entfernen Sie die Kommentare, und ändern Sie den Wert nach Bedarf.

  • commandTimeout

    Dieser Parameter legt die IDbCommand.CommandTimeout-Eigenschaft in Sekunden fest. (Standardwert=60)

  • databaseLockTimeout

    Dieser Parameter entspricht SET LOCK_TIMEOUT in Millisekunden. (Standardwert=5000)

  • maxDataReaderDegreeOfParallelism

    Dieser Parameter legt die Anzahl der zu verwendenden SQL-Verbindungspoolverbindungen fest. (Standardwert=8)

<advisorGroup>
<advisorSettings>
<dacFx commandTimeout="60" databaseLockTimeout="5000" maxDataReaderDegreeOfParallelism="8"/>
</advisorSettings>
</advisorGroup>

Stretch Database: Empfehlungsschwellenwert

Wichtig

Stretch Database ist in SQL Server 2022 (16.x) und der Azure SQL-Datenbank veraltet. Diese Funktion wird in einer zukünftigen Version der Datenbank-Engine entfernt. Nutzen Sie diese Funktionen bei Neuentwicklungen nicht mehr, und planen Sie die Änderung von Anwendungen, die diese Funktion zurzeit verwenden.

Mit SQL Server Stretch Database können Sie warme und kalte Transaktionsdaten von Microsoft SQL Server 2016 dynamisch nach Azure strecken. Die Stretch Database-Empfehlung ist nicht mehr als Advisor-Option verfügbar.

SQL-Verbindungstimeout

Sie können das SQL-Verbindungstimeout für Quell- und Zielinstanzen während der Ausführung einer Bewertung oder Migration steuern, indem Sie den Verbindungstimeoutwert auf eine bestimmte Anzahl von Sekunden festlegen. Der Standardwert ist 15 Sekunden.

<appSettings>
<add key="ConnectionTimeout" value="15" />
</appSettings>

Ignorieren von Fehlercodes

Jede Regel verfügt über einen Fehlercode im Titel. Wenn Sie keine Regeln benötigen und sie ignorieren möchten, verwenden Sie die ignoreErrorCodes-Eigenschaft. Sie können angeben, dass ein einzelner Fehler oder mehrere Fehler ignoriert werden. Verwenden Sie z. B. ein Semikolon, um mehrere Fehler zu ignorieren (ignoreErrorCodes="46010;71501"). Der Standardwert ist 71501. Dieser Wert ist nicht aufgelösten Verweisen zugeordnet, die identifiziert werden, wenn ein Objekt auf Systemobjekte wie Prozeduren, Ansichten usw. verweist.

<workflowSettings>
<assessment parallelDatabases="8" ignoreErrorCodes="71501" />
</workflowSettings>