Freigeben über


Bekannte Probleme, Einschränkungen und Problembehandlung

Dieser Artikel enthält eine Liste bekannter Probleme und Problembehandlungsschritte im Zusammenhang mit der Azure SQL-Migrationserweiterung für Azure Data Studio.

Wichtig

Die neueste Version der Integration Runtime (5.28.8488) verhindert den Zugriff auf eine Netzwerkdateifreigabe auf einem lokalen Host. Diese Sicherheitsmaßnahme führt zu Fehlern beim Ausführen von Migrationen zu Azure SQL mithilfe von DMS. Stellen Sie sicher, dass Sie die Integration Runtime auf einem anderen Computer als dem Netzwerkfreigabehost ausführen.

Fehlercode: 2007 – CutoverFailedOrCancelled

  • Meldung: Cutover failed or cancelled for database <DatabaseName>. Error details: The restore plan is broken because firstLsn <First LSN> of log backup <URL of backup in Azure Storage container>' is not <= lastLsn <last LSN> of Full backup <URL of backup in Azure Storage container>'. Restore to point in time.

  • Ursache: Dieser Fehler kann auftreten, wenn die Sicherungen nicht korrekt im Azure Storage-Container abgelegt werden. Wenn die Sicherungen in der Netzwerkdateifreigabe abgelegt werden, kann dieser Fehler auch aufgrund von Problemen mit der Netzwerkkonnektivität auftreten.

  • Empfehlung: Stellen Sie sicher, dass die Datenbanksicherungen in Ihrem Azure Storage-Container korrekt sind. Wenn Sie die Netzwerkdateifreigabe verwenden, wird dieser Fehler möglicherweise durch netzwerkbezogene Probleme und Verzögerungen verursacht. Warten Sie, bis der Vorgang abgeschlossen ist.

  • Meldung: Cutover failed or cancelled for database '{databaseName}'. Error details: 'errorCode: Ext_RestoreSettingsError, message: RestoreId: {RestoreId}, OperationId: {operationId}, Detail: Failed to complete restore., RestoreJobState: Restoring, CompleteRestoreErrorMessage: The database contains incompatible physical layout. Too many full text catalog files.

  • Ursache: Die Wiederherstellung von SQL-VMs unterstützt derzeit keine Wiederherstellung von Datenbanken mit Volltextkatalog-Dateien, da Azure SQL-VMs sie derzeit nicht unterstützen.

  • Empfehlung: Entfernen Sie die Volltextkatalog-Dateien beim Erstellen der Wiederherstellung aus der Datenbank.

  • Meldung: Cutover failed or cancelled for database '{databaseName}'. Error details: 'Migration cannot be completed because provided backup file name '{providedFileName}' should be the last restore backup file '{lastRestoredFileName}'.'

  • Ursache: Dieser Fehler tritt aufgrund einer bekannten Einschränkung in SqlMi auf. Er bedeutet, dass sich „{providedFileName}“ von „{lastRestoredFileName}“ unterscheidet. SqlMi stellt automatisch alle gültigen Sicherungsdateien im Container basierend auf der LSN-Sequenz wieder her. Eine typische Fehlerursache könnte sein, dass der „{providedFileName}“ den Wert „log1“ hat, aber der Container andere Dateien enthält (z. B. „log2“), die eine größere LSN als „log1“ aufweisen. In diesem Fall stellt SqlMi automatisch alle Dateien im Container wieder her. Am Ende der Migration meldet SqlMi diese Fehlermeldung.

  • Empfehlung: Geben Sie im Offlinemigrationsmodus den „lastBackupName“ mit der größten LSN an. In einem Onlinemigrationsszenario können diese Warnung und der Fehler ignoriert werden, wenn der Migrationsstatus „erfolgreich“ ist.

Fehlercode: 2009 – MigrationRestoreFailed

  • Meldung: Migration for Database 'DatabaseName' failed with error cannot find server certificate with thumbprint.

  • Ursache: Vor der Migration von Daten müssen Sie das Zertifikat der SQL Server-Quellinstanz einer durch Transparent Data Encryption (TDE) geschützten Datenbank zur Azure SQL Managed Instance-Zielinstanz oder zu SQL Server auf einer Azure-VM migrieren.

  • Empfehlung: Migrieren Sie das TDE-Zertifikat zur Zielinstanz, und wiederholen Sie den Vorgang. Weitere Informationen zum Migrieren von TDE-fähigen Datenbanken finden Sie unter Tutorial: Migrieren von TDE-fähigen Datenbanken (Vorschau) zu Azure SQL in Azure Data Studio.

  • Meldung: Migration for Database <DatabaseName> failed with error 'Non retriable error occurred while restoring backup with index 1 - 3169 The database was backed up on a server running version %ls. That version is incompatible with this server, which is running version %ls. Either restore the database on a server that supports the backup, or use a backup that is compatible with this server.

  • Ursache: Eine SQL Server-Sicherung kann nicht in einer SQL Server-Version wiederhergestellt werden, die älter ist als die Version, mit der die Sicherung erstellt wurde.

  • Empfehlung: Schritte zur Problembehandlung finden Sie unter Probleme, die sich auf die Datenbankwiederherstellung zwischen verschiedenen SQL Server-Versionen auswirken.

  • Meldung: Migration for Database <DatabaseName> failed with error 'The managed instance has reached its storage limit. The storage usage for the managed instance can't exceed 32768 MBs.

  • Ursache: Die Instanz von Azure SQL Managed Instance hat die Ressourcenlimits erreicht.

  • Empfehlung: Weitere Informationen zu Speichergrenzwerten finden Sie unter Übersicht über Ressourcenlimits für Azure SQL Managed Instance.

  • Meldung: Migration for Database <DatabaseName> failed with error 'Non retriable error occurred while restoring backup with index 1 - 3634 The operating system returned the error '1450(Insufficient system resources exist to complete the requested service.)

  • Ursache: Die Ursache kann eines der Symptome sein, die unter Betriebssystemfehler 1450 und 665 werden für Datenbankdateien während DBCC CHECKDB oder der Erstellung der Datenbankmomentaufnahme gemeldet aufgeführt sind.

  • Empfehlung: Schritte zur Problembehandlung finden Sie unter Betriebssystemfehler 1450 und 665 werden für Datenbankdateien während DBCC CHECKDB oder der Erstellung der Datenbankmomentaufnahme gemeldet.

  • Meldung: The restore plan is broken because firstLsn <First LSN> of log backup <URL of backup in Azure Storage container>' isn't <= lastLsn <last LSN> of Full backup <URL of backup in Azure Storage container>'. Restore to point in time.

  • Ursache: Dieser Fehler kann auftreten, wenn die Sicherungen nicht korrekt im Azure Storage-Container abgelegt werden. Wenn die Sicherungen in der Netzwerkdateifreigabe abgelegt werden, kann dieser Fehler auch aufgrund von Problemen mit der Netzwerkkonnektivität auftreten.

  • Empfehlung: Stellen Sie sicher, dass die Datenbanksicherungen in Ihrem Azure Storage-Container korrekt sind. Wenn Sie die Netzwerkdateifreigabe verwenden, wird dieser Fehler möglicherweise durch netzwerkbezogene Probleme und Verzögerungen verursacht. Warten Sie, bis der Prozess abgeschlossen ist.

  • Meldung: Migration for Database <Database Name> failed with error 'Non retriable error occurred while restoring backup with index 1 - 3234 Logical file <Name> isn't part of database <Database GUID>. Use RESTORE FILELISTONLY to list the logical file names. RESTORE DATABASE is terminating abnormally.'.

  • Ursache: Sie haben einen logischen Dateinamen angegeben, der nicht in der Datenbanksicherung enthalten ist. Eine weitere mögliche Ursache für diesen Fehler ist ein falscher Containername des Speicherkontos.

  • Empfehlung: Führen Sie RESTORE FILELISTONLY aus, um die logischen Dateinamen in Ihrer Sicherung zu überprüfen. Weitere Informationen zu RESTORE FILELISTONLY finden Sie unter RESTORE-Anweisungen – FILELISTONLY (Transact-SQL).

  • Meldung: Migration for Database <Database Name> failed with error 'Azure SQL target resource failed to connect to storage account. Make sure the target SQL VNet is allowed under the Azure Storage firewall rules.'

  • Ursache: Die Azure Storage-Firewall ist nicht zum Zulassen des Zugriffs auf das Azure SQL-Ziel konfiguriert.

  • Empfehlung: Weitere Informationen zum Einrichten der Azure Storage-Firewall finden Sie unter Konfigurieren von Azure Storage-Firewalls und virtuellen Netzwerken.

  • Meldung: Migration for Database <Database Name> failed with error 'There are backups from multiple databases in the container folder. Please make sure the container folder has backups from a single database.

  • Ursache: Sicherungen mehrerer Datenbanken befinden sich in demselben Containerordner.

  • Empfehlung: Wenn Sie mehrere Datenbanken mit demselben Azure Blob Storage-Container zu Azure SQL Managed Instance migrieren, müssen Sie Sicherungsdateien für unterschiedliche Datenbanken in separaten Ordnern innerhalb des Containers platzieren. Weitere Informationen zu LRS finden Sie unter Migrieren von Datenbanken aus SQL Server zu SQL Managed Instance mit dem Protokollwiedergabedienst (Vorschau).

  • Meldung: Migration for Database <Database Name> failed with error 'Non retriable error occurred while restoring backup with index 1 - 12824 The sp_configure value 'contained database authentication' must be set to 1 in order to restore a contained database. You may need to use RECONFIGURE to set the value_in_use. RESTORE DATABASE is terminating abnormally.

  • Ursache: Die Datenbank ist eine eigenständige Datenbank. Eine bestimmte Konfiguration ist erforderlich, um die Wiederherstellung einer eigenständigen Datenbank zu ermöglichen. Weitere Informationen zu eigenständigen Datenbanken finden Sie unter Benutzer*innen eigenständiger Datenbanken.

  • Empfehlung: Führen Sie die folgende Abfrage aus, die mit der SQL Server-Quelle im Kontext der spezifischen Datenbank verbunden ist, bevor Sie die Migration starten. Versuchen Sie dann erneut, die Migration der eigenständigen Datenbank auszuführen.

    -- Enable "contained database authentication"
    EXECUTE sp_configure 'contained', 1;
    
    RECONFIGURE;
    

    Hinweis

    Weitere Informationen zu allgemeinen Schritten für die Problembehandlung bei Azure SQL Managed Instance-Fehlern finden Sie unter Bekannte Probleme mit Azure SQL Managed Instance.

Fehlercode: 2012 – TestConnectionFailed

  • Meldung: Failed to test connections using provided Integration Runtime. Error details: 'Remote name could not be resolved.'

  • Ursache: Ihre Netzwerkeinstellungen in der Firewall führen dazu, dass die selbstgehostete Integration Runtime keine Verbindung mit dem Dienst-Back-End herstellen kann.

  • Empfehlung: Es liegt ein Problem mit dem Domain Name System (DNS) vor. Wenden Sie sich an das Netzwerkteam, um dieses Problem zu beheben. Weitere Informationen finden Sie unter Problembehandlung bei der selbstgehosteten Integration Runtime.

  • Meldung: Failed to test connections using provided Integration Runtime. 'Cannot connect to <File share>. Detail Message: The system could not find the environment option that was entered

  • Ursache: Die selbstgehostete Integration Runtime kann keine Verbindung mit der Netzwerkdateifreigabe herstellen, in der die Datenbanksicherungen platziert werden.

  • Empfehlung: Stellen Sie sicher, dass der Name Ihrer Netzwerkdateifreigabe korrekt eingegeben wurde.

  • Meldung: Failed to test connections using provided Integration Runtime. The file name does not conform to the naming rules by the data store. Illegal characters in path.

  • Ursache: Die selbstgehostete Integration Runtime kann keine Verbindung mit der Netzwerkdateifreigabe herstellen, in der die Datenbanksicherungen platziert werden.

  • Empfehlung: Stellen Sie sicher, dass der Name Ihrer Netzwerkdateifreigabe korrekt eingegeben wurde.

  • Meldung: Failed to test connections using provided Integration Runtime.

  • Ursache: Beim Herstellen einer Verbindung mit der selbstgehosteten Integration Runtime ist ein Fehler aufgetreten.

  • Empfehlung: Allgemeine Schritte zur Problembehandlung für Integration Runtime-Konnektivitätsfehler finden Sie unter Problembehandlung bei der selbstgehosteten Integration Runtime.

Fehlercode: 2014 – IntegrationRuntimeIsNotOnline

Fehlercode: 2030 – AzureSQLManagedInstanceNotReady

  • Meldung: Azure SQL Managed Instance <Instance Name> isn't ready.

  • Ursache: Azure SQL Managed Instance befindet nicht im Zustand „Bereit“.

  • Empfehlung: Warten Sie, bis die Bereitstellung von Azure SQL Managed Instance abgeschlossen und bereit ist, und wiederholen Sie dann den Vorgang.

Fehlercode: 2033 – SqlDataCopyFailed

  • Meldung: Migration for Database <Database> failed in state <state>.

  • Ursache: In der Azure Data Factory-Pipeline (ADF) für die Datenverschiebung ist ein Fehler aufgetreten.

  • Empfehlung: Überprüfen Sie die ausführlicheren Fehlerinformationen auf der Seite mit den Details zum Migrationsstatus (MigrationStatusDetails).

Fehlercode: 2038 – MigrationCompletedDuringCancel

  • Meldung: Migration cannot be canceled as Migration was completed during the cancel process. Target server: <Target server> Target database: <Target database>.

  • Ursache: Es wurde eine Abbruchanforderung empfangen, die Migration wurde jedoch vor dem Abbruch erfolgreich abgeschlossen.

  • Empfehlung: Keine Aktion erforderlich. Die Migration war erfolgreich.

Fehlercode: 2039 – MigrationRetryNotAllowed

  • Meldung: Migration isn't in a retriable state. Migration must be in state WaitForRetry. Current state: <State>, Target server: <Target Server>, Target database: <Target database>.

  • Ursache: Es wurde eine Wiederholungsanforderung empfangen, während sich die Migration nicht in einem Zustand befand, in dem Wiederholungsversuche zulässig sind.

  • Empfehlung: Keine Aktion erforderlich. Die Migration wird ausgeführt oder ist abgeschlossen.

Fehlercode: 2040 – MigrationTimeoutWaitingForRetry

  • Meldung: Migration retry timeout limit of 8 hours reached. Target server: <Target Server>, Target database: <Target Database>.

  • Ursache: Die Migration befand sich acht Stunden lang in einem fehlerhaften, aber wiederholbaren Zustand im Leerlauf und wurde automatisch abgebrochen.

  • Empfehlung: Es ist keine Aktion erforderlich. Die Migration wurde abgebrochen.

Fehlercode: 2041 – DataCopyCompletedDuringCancel

  • Meldung: Data copy finished successfully before canceling completed. Target schema is in bad state. Target server: <Target Server>, Target database: <Target Database>.

  • Ursache: Es wurde eine Abbruchanforderung empfangen. Der Datenkopiervorgang wurde erfolgreich abgeschlossen, das Zieldatenbankschema wurde jedoch nicht auf den ursprünglichen Zustand zurückgesetzt.

  • Empfehlung: Bei Bedarf kann die Zieldatenbank auf ihren ursprünglichen Zustand zurückgesetzt werden. Führen Sie dazu die erste Abfrage sowie alle zurückgegebenen Abfragen und anschließend auf die gleiche Weise die zweite Abfrage aus.

    SELECT [ROLLBACK]
    FROM [dbo].[__migration_status]
    WHERE STEP IN (3, 4, 6);
    
    SELECT [ROLLBACK]
    FROM [dbo].[__migration_status]
    WHERE STEP IN (5, 7, 8)
    ORDER BY STEP DESC;
    

Fehlercode: 2042 – PreCopyStepsCompletedDuringCancel

  • Meldung: Pre Copy steps finished successfully before canceling completed. Target database Foreign keys and temporal tables have been altered. Schema migration may be required again for future migrations. Target server: <Target Server>, Target database: <Target Database>.

  • Ursache: Es wurde eine Abbruchanforderung empfangen, und die Schritte zum Vorbereiten der Zieldatenbank für den Kopiervorgang wurden erfolgreich abgeschlossen. Das Zieldatenbankschema wurde nicht auf den ursprünglichen Zustand zurückgesetzt.

  • Empfehlung: Bei Bedarf kann die Zieldatenbank auf ihren ursprünglichen Zustand zurückgesetzt werden. Führen Sie dazu die folgende Abfrage und alle zurückgegebenen Abfragen aus.

    SELECT [ROLLBACK]
    FROM [dbo].[__migration_status]
    WHERE STEP IN (3, 4, 6);
    

Fehlercode: 2043 – CreateContainerFailed

  • Meldung: Create container <ContainerName> failed with error Error calling the endpoint '<URL>'. Response status code: 'NA - Unknown'. More details: Exception message: 'NA - Unknown [ClientSideException] Invalid Url:<URL>.

  • Ursache: Die Anforderung war aufgrund eines Problems (z. B Netzwerkkonnektivität, ein DNS-Fehler, eine Überprüfung des Serverzertifikats oder ein Timeout) nicht erfolgreich.

  • Empfehlung: Weitere Schritte zur Problembehandlung finden Sie unter Problembehandlung für Azure Data Factory- und Synapse-Pipelines.

Fehlercode: 2049 – FileShareTestConnectionFailed

  • Meldung: The value of the property '' is invalid: 'Access to <share path> is denied, resolved IP address is <IP address>, network type is OnPremise'.

  • Ursache: Die Netzwerkfreigabe, auf der die Datenbanksicherungen gespeichert sind, befindet sich auf demselben Computer wie die selbstgehostete Integration Runtime (SHIR).

  • Empfehlung: Die neueste Version der Integration Runtime (5.28.8488) verhindert den Zugriff auf eine Netzwerkdateifreigabe auf einem lokalen Host. Stellen Sie sicher, dass Sie die Integration Runtime auf einem anderen Computer als dem Netzwerkfreigabehost ausführen. Wenn die selbstgehostete Integration Runtime und die Netzwerkfreigabe mit Ihrem aktuellen Migrationssetup nicht auf verschiedenen Computern gehostet werden können, können Sie mithilfe von DisableLocalFolderPathValidation die Option zum Deaktivieren verwenden.

    Hinweis

    Weitere Informationen finden Sie unter Einrichten einer vorhandenen selbstgehosteten IR über eine lokale PowerShell-Instanz. Verwenden Sie die Deaktivierungsoption mit Vorsicht, da dies weniger sicher ist.

Fehlercode: 2055 – SqlInfoCollectionFailed

  • Meldung: A database operation failed with the following error: 'VIEW SERVER PERFORMANCE STATE permission was denied on object 'server', database 'master'. The user does not have permission to perform this action.

  • Ursache: Die Anmeldung, die für den Zielserver (Azure SQL-Datenbank) verwendet wird, weist keine Serverrolle ##MS_ServerStateReader### auf.

  • Empfehlung:: Stellen Sie die Rolle ##MS_ServerStateReader## für die Anmeldung für das Azure SQL-Ziel bereit. Abfrage: ALTER SERVER ROLE ##MS_ServerStateReader## ADD MEMBER login.

Hinweis: Diese Abfrage sollte im Kontext der Masterdatenbank ausgeführt werden.

Fehlercode: 2056 – SqlInfoValidationFailed

  • Meldung: CollationMismatch: Source database collation <CollationOptionSource> is not the same as the target database <CollationOptionTarget>. Source database: <SourceDatabaseName> Target database: <TargetDatabaseName>.

  • Ursache: Die Sortierung der Quelldatenbank ist nicht mit der Sortierung der Zieldatenbank identisch.

  • Empfehlung: Stellen Sie sicher, dass die Sortierung der Zielinstanz von Azure SQL-Datenbank dieselbe ist wie die der SQL Server-Quelldatenbank. Azure SQL-Datenbank verwendet standardmäßig die Sortierung SQL_Latin1_General_CP1_CI_AS. Falls die SQL Server-Quelldatenbank eine andere Sortierung verwendet, müssen Sie die Zieldatenbank möglicherweise erneut erstellen oder eine andere Zieldatenbank auswählen, deren Sortierung identisch ist. Weitere Informationen finden Sie unter Unterstützung von Sortierungen und Unicode.

  • Meldung: TableColumnCollationMismatch: Table <Tablename> with column <columnname> has collation <collationoptionsource> on source but has collation <collationoptiontarget> on target table.

  • Ursache: Die Sortierung der Quelldatenbanktabellenspalte entspricht nicht der Sortierung der Zieldatenbanktabellenspalte.

  • Empfehlung:

    1. Stellen Sie sicher, dass Sie das Schema mithilfe des Datenbankmigrationsdiensts auf die Azure SQL-Datenbank anwenden. Weitere Informationen finden Sie im Blog.

    2. Folgen Sie diesem Artikel, um die Sortierung manuell zu ändern.

    Weitere Informationen finden Sie unter Unterstützung von Sortierungen und Unicode.

  • Meldung: DatabaseSizeMoreThanMax: No tables were found in the target Azure SQL Database. Check if schema migration was completed beforehand.

  • Ursache: Die ausgewählten Tabellen für die Migration sind in der Zielinstanz von Azure SQL-Datenbank nicht vorhanden.

  • Empfehlung: Stellen Sie sicher, dass das Zieldatenbankschema vor dem Starten der Migration erstellt wurde. Weitere Informationen zum Bereitstellen des Zieldatenbankschemas finden Sie unter SQL Database Projects-Erweiterung

  • Meldung: DatabaseSizeMoreThanMax: The source database size <Source Database Size> exceeds the maximum allowed size of the target database <Target Database Size>. Check if the target database has enough space.

  • Ursache: Die Zieldatenbank verfügt nicht über genügend Speicherplatz.

  • Empfehlung: Stellen Sie sicher, dass das Zieldatenbankschema vor dem Starten der Migration erstellt wurde. Weitere Informationen zum Bereitstellen des Zieldatenbankschemas finden Sie unter SQL Database Projects-Erweiterung

  • Meldung: NoTablesFound: Some of the source tables don't exist in the target database. Missing tables: <TableList>.

  • Ursache: Die ausgewählten Tabellen für die Migration sind in der Zielinstanz von Azure SQL-Datenbank nicht vorhanden.

  • Empfehlung: Überprüfen Sie, ob die ausgewählten Tabellen in der Zielinstanz von Azure SQL-Datenbank vorhanden sind. Wenn diese Migration über ein PowerShell-Skript aufgerufen wird, überprüfen Sie, ob der Tabellenauflistungsparameter die richtigen Tabellennamen enthält und an die Migration übergeben wird.

  • Meldung: SqlVersionOutOfRange: Source instance version is lower than 2008, which is not supported to migrate. Source instance: <InstanceName>.

  • Ursache: Azure Database Migration Service unterstützt die Migration von älteren SQL Server-Instanzen als 2008 nicht.

  • Empfehlung: Aktualisieren Sie die SQL Server-Quellinstanz auf eine neuere Version von SQL Server. Weitere Informationen finden Sie unter Aktualisieren von SQL Server.

  • Meldung: TableMappingMismatch: Some of the source tables don't exist in the target database. Missing tables: <TableList>.

  • Ursache: Die ausgewählten Tabellen für die Migration sind in der Zielinstanz von Azure SQL-Datenbank nicht vorhanden.

  • Empfehlung: Überprüfen Sie, ob die ausgewählten Tabellen in der Zielinstanz von Azure SQL-Datenbank vorhanden sind. Wenn diese Migration über ein PowerShell-Skript aufgerufen wird, überprüfen Sie, ob der Tabellenauflistungsparameter die richtigen Tabellennamen enthält und an die Migration übergeben wird.

Fehlercode: 2060 – SqlSchemaCopyFailed

  • Meldung: The SELECT permission was denied on the object 'sql_logins', database 'master', schema 'sys'.

  • Ursache: Das Konto, das Kund*innen zum Herstellen einer Verbindung mit Azure SQL-Datenbank verwenden, verfügt nicht über die Berechtigung für den Zugriff auf die Tabelle sys.sql_logins.

  • Empfehlung: Es gibt zwei Möglichkeiten, dieses Problem zu beheben:

    1. Fügen Sie dem Konto die Rolle „sysadmin“ hinzu, mit der die Administratorberechtigung erteilt wird.

    2. Wenn Kund*innen kein sysadmin-Konto verwenden oder dem Konto keine sysadmin-Berechtigung erteilen können, ist für die SQL Server-Quelle mindestens die Berechtigung „db_owner“ erforderlich. Erstellen Sie in der Zielinstanz von Azure SQL-Datenbank einen Benutzer oder eine Benutzerin in der master-Datenbank, und gewähren Sie ihm bzw. ihr die festen Serverrollen ##MS_DatabaseManager##,##MS_DatabaseConnector##, ##MS_DefinitionReader## und ##MS_LoginManager##. Ein auf ein Objekt angewendeter

      -- Run the script in the master database
      CREATE LOGIN testuser WITH PASSWORD = '*********';
      
      ALTER SERVER ROLE ##MS_DefinitionReader## ADD MEMBER [testuser];
      GO
      
      ALTER SERVER ROLE ##MS_DatabaseConnector## ADD MEMBER [testuser];
      GO
      
      ALTER SERVER ROLE ##MS_DatabaseManager## ADD MEMBER [testuser];
      GO
      
      ALTER SERVER ROLE ##MS_LoginManager## ADD MEMBER [testuser];
      GO
      
      CREATE USER testuser FOR LOGIN testuser;
      EXECUTE sp_addRoleMember 'dbmanager', 'testuser';
      EXECUTE sp_addRoleMember 'loginmanager', 'testuser';
      
  • Meldung: Failed to get service token from ADF service.

  • Ursache: Die SHIR des Kunden kann keine Verbindung mit der Data Factory herstellen.

  • Empfehlung: Im folgenden Beispieldokument enthält Informationen zur Problembehebung: Keine Verbindung zwischen Integration Runtime und Data Factory möglich.

  • Meldung: IR Nodes are offline.

  • Ursache: Möglicherweise wird das Netzwerk während der Migration unterbrochen und somit der IR-Knoten offline geschaltet. Vergewissern Sie sich, dass der Computer, auf dem die SHIR installiert ist, eingeschaltet ist.

  • Empfehlung: Vergewissern Sie sich, dass der Computer, auf dem die SHIR installiert ist, eingeschaltet ist.

  • Meldung: Deployed failure: {0}. Object element: {1}.

  • Ursache: Dies ist der häufigste Fehler, der bei Kund*innen möglicherweise auftritt. Dies bedeutet, dass das Objekt nicht auf dem Ziel bereitgestellt werden kann, da es auf dem Ziel nicht unterstützt wird.

  • Empfehlung: Kund*innen müssen die Bewertungsergebnisse überprüfen (Bewertungsregeln). Dies ist die Liste der Bewertungsprobleme, bei denen die Schemamigration u. U. fehlschlägt:

    Hinweis

    Um Fehlerdetails anzuzeigen, öffnen Sie den Microsoft-Konfigurations-Manager für Integration Runtime, und navigieren Sie zu Diagnose > Protokollierung > Protokolle anzeigen. Navigieren Sie in der Ereignisansicht zu Anwendungs- und Dienstprotokolle > Connectors – Integration Runtime, und filtern Sie nach Fehlern.

  • Meldung: Deployed failure: Index cannot be created on computed column '{0}' of table '{1}' because the underlying object '{2}' has a different owner. Object element: {3}.

    Generiertes Beispielskript: IF NOT EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[Sales].[Customer]') AND name = N'AK_Customer_AccountNumber') CREATE UNIQUE NONCLUSTERED INDEX [AK_Customer_AccountNumber] ON [Sales].[Customer] ( [AccountNumber] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)

  • Ursache: Alle Funktionsverweise in der berechneten Spalte müssen denselben Besitzer oder dieselbe Besitzerin wie die Tabelle aufweisen.

  • Empfehlung: Siehe Anforderungen hinsichtlich des Besitzes

Fehlercode: Ext_RestoreSettingsError

  • Meldung: Unable to read blobs in storage container, exception: The remote server returned an error: (403) Forbidden.; The remote server returned an error: (403) Forbidden

  • Ursache: Das Azure SQL-Ziel kann keine Verbindung mit dem Blobspeicher herstellen.

  • Empfehlung: Vergewissern Sie sich, dass die Einstellungen des Zielnetzwerks den Zugriff auf den Blobspeicher ermöglichen. Wenn Sie beispielsweise zu SQL Server auf einer Azure-VM als Ziel migrieren, stellen Sie sicher, dass ausgehende Verbindungen auf der VM nicht blockiert werden.

  • Meldung: Failed to create restore job. Unable to read blobs in storage container, exception: The remote name could not be resolved.

  • Ursache: Das Azure SQL-Ziel kann keine Verbindung mit dem Blobspeicher herstellen.

  • Empfehlung: Vergewissern Sie sich, dass die Einstellungen des Zielnetzwerks den Zugriff auf den Blobspeicher ermöglichen. Wenn Sie beispielsweise zu einer SQL-VM migrieren, stellen Sie sicher, dass ausgehende Verbindungen auf der VM nicht blockiert werden.

  • Meldung: Migration for Database <Database Name> failed with error 'Migration cannot be completed because provided backup file name <Backup File Name> should be the last restore backup file <Last Restore Backup File Name>'.

  • Ursache: In den Sicherungseinstellungen wurde nicht die neueste Sicherung angegeben.

  • Empfehlung: Geben Sie den Namen der neuesten Sicherungsdatei in den Sicherungseinstellungen an, und wiederholen Sie den Vorgang.

  • Meldung: Operation failed: errorCode: Ext_RestoreSettingsError, message: RestoreId: 1111111-aaaa-bbbb-cccc-dddddddd, OperationId: 2222222-aaaa-bbbb-cccc-dddddddd, Detail: Unable to read blobs in storage container, exception: Unable to connect to the remote server;Unable to connect to the remote server;A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond 11.111.11.111:443.

  • Ursache: Der Fehler kann sowohl bei Speicherkonten mit Konfiguration eines öffentlichen Netzwerks als auch bei Speicherkonten mit Konfiguration eines privaten Endpunkts auftreten. Möglicherweise verfügen Sie auch über einen lokalen DNS-Server, der ein hybrides Netzwerkrouting und DHCP steuert. Sofern Sie die in Ihrem DNS-Server konfigurierten Azure-IP-Adressen nicht zulassen, hat SQL Server auf einer Azure-VM als Ziel keine Möglichkeit, den Remotespeicherblob-Endpunkt aufzulösen.

  • Empfehlung: Um dieses Problem zu debuggen, können Sie versuchen, Ihre Azure Blob Storage-URL über SQL Server auf einer Azure-VM als Ziel zu pingen und zu überprüfen, ob ein Verbindungsproblem vorliegt. Um dieses Problem zu beheben, müssen Sie die in Ihrem DNS-Server konfigurierten Azure-IP-Adressen zulassen. Weitere Informationen finden Sie unter Behandeln von Problemen mit der Konnektivität privater Azure-Endpunkte.

Fehlercode: Kein solcher Host ist bekannt ODER urlopen Fehler [Errno 11001] getaddrinfo fehlgeschlagen

  • Meldung: No such host is known

  • Ursache: Beim Migrieren von Anmeldungen mithilfe des PowerShell-Befehls New-AzDataMigrationLoginsMigrationschlägt dies mit der vorherigen Nachricht fehl.

  • Empfehlung: Aktualisieren Sie zum Beheben dieses Problems die Cmdlets Microsoft Azure PowerShell – Datenbankmigrationsdienst – Az.DataMigration über mindestens Version 0.14.5.

    Die neueste Version von Az.Datamigration kann aus powerShell-Katalog heruntergeladen werden, oder der folgende Befehl kann zum Upgrade verwendet werden.

 Update-Module -Name Az.DataMigration
  • Meldung: urlopen error [Errno 11001] getaddrinfo failed

  • Ursache: Beim Migrieren von Anmeldungen mit Azure CLI Az dataMigration-Anmeldemigration schlägt dies mit der vorherigen Nachricht fehl.

  • Empfehlung: Aktualisieren Sie zum Beheben dieses Problems die Erweiterung Microsoft Azure CLI – Datenbankmigrationsdienst – az dataMigration auf 1.0.0b1 oder eine höhere Version. Führen Sie den folgenden Befehl aus, um upzugraden.

 az extension update -n datamigration

Azure Database Migration Service Benennungsregeln

Wenn Ihr DMS-Dienst mit „Fehler: Dienstname 'x_y_z' ungültig“ fehlgeschlagen ist, müssen Sie den Benennungsregeln des Azure-Datenbankmigrationsdiensts folgen. Da Azure Database Migration Service Azure Data Factory für die Berechnung verwendet, folgt es genau den gleichen Benennungsregeln wie in Benennungsregel erwähnt.

Einschränkungen von Azure SQL-Datenbank

Für die Migration zu Azure SQL-Datenbank mithilfe der Azure SQL-Erweiterung für Azure Data Studio gelten die folgenden Einschränkungen:

Die Offlinemigration von Azure SQL-Datenbank nutzt ADF-Pipelines (Azure Data Factory) für die Datenverschiebung und ist daher an die ADF-Einschränkungen gebunden. Eine entsprechende ADF-Instanz wird erstellt, wenn auch ein Datenbankmigrationsdienst erstellt wird. Factory-Grenzwerte gelten daher pro Dienst.

  • Der Computer, auf dem der SHIR installiert ist, dient als Computeressource für die Migration. Stellen Sie sicher, dass der Computer die CPU- und Speicherlast der Datenkopie bewältigen kann. Weitere Informationen finden Sie unter SHIR-Empfehlungen.
  • Es gilt ein Limit von 100.000 Tabellen pro Datenbank.
  • Es gilt ein Limit von 10.000 gleichzeitigen Datenbankmigrationen pro Dienst.
  • Die Migrationsgeschwindigkeit hängt in hohem Maße von der Azure SQL-Datenbank-Ziel-SKU und dem Host der selbstgehosteten Integration Runtime ab.
  • Aufgrund des ADF-Mehraufwands bei Startaktivitäten lässt sich die Migration von Azure SQL-Datenbank mit Tabellennummern schlecht skalieren. Wenn eine Datenbank Tausende von Tabellen enthält, kann der Startprozess jeder dieser Tabellen ein paar Sekunden in Anspruch nehmen, auch wenn sie aus einer Zeile mit 1 Bit Daten bestehen.
  • Azure SQL-Datenbank-Tabellennamen mit Doppelbytezeichen werden derzeit nicht für die Migration unterstützt. Die Abhilfemaßnahme besteht darin, Tabellen vor der Migration umzubenennen. Nach erfolgreicher Migration können wieder die ursprünglichen Namen festgelegt werden.
  • Bei der Migration von Tabellen mit großen Blobspalten kann aufgrund eines Timeouts ein Fehler auftreten.
  • Datenbanknamen mit von SQL Server reservierten Wörtern werden derzeit nicht unterstützt.
  • Datenbanknamen, die Semikolons enthalten, werden derzeit nicht unterstützt.
  • Berechnete Spalten werden nicht migriert.

Azure SQL Managed Instance-Beschränkungen

Für die Migration zu Azure SQL Managed Instance mithilfe der Azure SQL-Erweiterung für Azure Data Studio gelten die folgenden Einschränkungen:

  • Beim Migrieren einer einzelnen Datenbank müssen die Datenbanksicherungen in einer Flatfilestruktur in einem Datenbankordner (einschließlich Stammordner des Containers) abgelegt werden, und die Ordner können nicht geschachtelt werden, da dies nicht unterstützt wird.
  • Wenn Sie mehrere Datenbanken mit demselben Azure BLOB Storage-Container migrieren, müssen Sie Sicherungsdateien für unterschiedliche Datenbanken in separate Ordner innerhalb des Containers platzieren.
  • Das Überschreiben vorhandener Datenbanken mit DMS in Ihrer Azure SQL Managed Instance-Zielinstanz wird nicht unterstützt.
  • Das Konfigurieren von Hochverfügbarkeit und Notfallwiederherstellung auf Ihrem Ziel entsprechend der Quelltopologie wird von DMS nicht unterstützt.
  • Die folgenden Serverobjekte werden nicht unterstützt:
    • Aufträge des SQL Server-Agents
    • Anmeldeinformationen
    • SSIS-Pakete
    • Serverüberwachung
  • Sie können keine vorhandene selbstgehostete Integration Runtime verwenden, die aus Azure Data Factory für Datenbankmigrationen mit DMS erstellt wurde. Anfänglich sollte die selbstgehostete Integration Runtime mithilfe der Azure SQL-Migrationserweiterung in Azure Data Studio erstellt werden. Sie kann für weitere Datenbankmigrationen wiederverwendet werden.
  • Ein einzelner (durch DMS erstellter) LRS-Auftrag maximal 30 Tage lang ausgeführt werden. Nach Ablauf dieses Zeitraums wird der Auftrag automatisch abgebrochen, und Ihre Zieldatenbank wird automatisch gelöscht.
  • Sie haben die folgende Fehlermeldung erhalten: Memory-optimized filegroup must be empty in order to be restored on General Purpose tier of SQL Database Managed Instance. Dieses Problem ist beabsichtigt; Hekaton (auch bekannt als SQL Server In-Memory OLTP) wird auf der Ebene „Universell“ von der Azure SQL Managed Instance nicht unterstützt. Eine Möglichkeit, die Migration fortzusetzen, besteht darin, ein Upgrade auf die Ebene „Unternehmenskritisch“ durchzuführen, die Hekaton unterstützt. Eine andere Möglichkeit besteht darin, sicherzustellen, dass die Quelldatenbank sie nicht verwendet, während die Azure SQL Managed Instance „Universell“ ist.

Einschränkungen von SQL Server auf Azure-VMs

Für die Migration zu SQL Server auf Azure-VMs mithilfe der Azure SQL-Erweiterung für Azure Data Studio gelten die folgenden Einschränkungen:

  • Beim Migrieren einer einzelnen Datenbank müssen die Datenbanksicherungen in einer Flatfilestruktur in einem Datenbankordner (einschließlich Stammordner des Containers) abgelegt werden, und die Ordner können nicht geschachtelt werden, da dies nicht unterstützt wird.
  • Wenn Sie mehrere Datenbanken mit demselben Azure BLOB Storage-Container migrieren, müssen Sie Sicherungsdateien für unterschiedliche Datenbanken in separate Ordner innerhalb des Containers platzieren.
  • Das Überschreiben vorhandener Datenbanken mit DMS in Ihrer SQL Server-Zielinstanz in Azure Virtual Machines wird nicht unterstützt.
  • Das Konfigurieren von Hochverfügbarkeit und Notfallwiederherstellung auf Ihrem Ziel entsprechend der Quelltopologie wird von DMS nicht unterstützt.
  • Die folgenden Serverobjekte werden nicht unterstützt:
    • Aufträge des SQL Server-Agents
    • Anmeldeinformationen
    • SSIS-Pakete
    • Serverüberwachung
  • Sie können keine vorhandene selbstgehostete Integration Runtime verwenden, die aus Azure Data Factory für Datenbankmigrationen mit DMS erstellt wurde. Anfänglich sollte die selbstgehostete Integration Runtime mithilfe der Azure SQL-Migrationserweiterung in Azure Data Studio erstellt werden. Sie kann für weitere Datenbankmigrationen wiederverwendet werden.
  • Bei der Migration zu SQL Server in Azure Virtual Machines werden VMs mit SQL Server 2008 und niedriger als Zielversionen nicht unterstützt.
  • Wenn Sie eine VM mit SQL Server 2012 oder SQL Server 2014 verwenden, müssen Sie die Sicherungsdateien Ihrer Quelldatenbank in einem Azure Storage Blob-Container speichern, anstatt die Netzwerkfreigabeoption zu verwenden. Speichern Sie die Sicherungsdateien als Seitenblobs, weil Blockblobs nur in SQL 2016 und höher unterstützt werden.
  • Sie müssen sicherstellen, dass sich die SQL-IaaS-Agent-Erweiterung auf dem virtuellen Azure-Zielcomputer nicht im Lightweightmodus, sondern im vollständigen Modus befindet.
  • Die SQL-IaaS-Agent-Erweiterung unterstützt nur die Verwaltung der Standardserverinstanz oder einer einzelnen benannten Instanz.
  • Sie können maximal 100 Datenbanken zu derselben Azure SQL Server-VM wie das Ziel migrieren, indem Sie mindestens eine Migration gleichzeitig verwenden. Warten Sie außerdem nach Abschluss einer (oder mehrerer) Migration mit 100 Datenbanken mindestens 30 Minuten, bevor Sie eine neue Migration zur gleichen Azure SQL Server-VM wie das Ziel starten. Außerdem dauert jeder Migrationsvorgang (Migrationsstart, Cutover) für jede Datenbank jeweils einige Minuten. Zum Migrieren von 100 Datenbanken kann es beispielsweise ca. 200 (2 x 100) Minuten dauern, bis die Migrationswarteschlangen erstellt wurden, und ca. 100 (1 x 100) Minuten, bis ein Cutover für alle 100 Datenbanken (mit Ausnahme des Zeitraums für Sicherung und Wiederherstellung) ausgeführt wurde. Daher wird die Migration langsamer, wenn die Anzahl der Datenbanken zunimmt. Microsoft empfiehlt, entweder im Voraus ein längeres Migrationsfenster auf der Grundlage strenger Migrationstests zu planen oder eine große Anzahl von Datenbanken in Batches zu partitionieren, wenn sie zu einem virtuellen Azure-Computer mit SQL Server migriert werden.
  • Sie müssen das Netzwerk/die Firewall Ihres Azure Storage-Kontos so konfigurieren, dass Ihr virtueller Computer auf Sicherungsdateien zugreifen kann. Außerdem müssen Sie das Netzwerk/die Firewall Ihres SQL Servers auf dem virtuellen Azure-Computer so einrichten, dass eine ausgehende Verbindung mit Ihrem Speicherkonto möglich ist.
  • Sie müssen den SQL-Zielserver auf dem virtuellen Azure-Computer aktiviert lassen, während die SQL-Migration ausgeführt wird. Wenn Sie eine neue Migration erstellen, führen Sie außerdem ein Failover aus, oder brechen Sie die Migration ab.
  • Fehler: Login failed for user 'NT Service\SQLIaaSExtensionQuery. Grund: SQL Server-Instanz befindet sich im Einzelbenutzermodus. Ein möglicher Grund ist, dass sich der SQL-Zielserver auf einem virtuellen Azure-Computer im Upgrade-Modus befindet. Lösung: Warten Sie, bis der SQL-Zielserver auf einem virtuellen Azure-Computer den Upgrade-Modus beendet, und starten Sie die Migration erneut.
  • Fehler: Ext_RestoreSettingsError, message: Failed to create restore job.;Cannot create file 'F:\data\XXX.mdf' because it already exists. Lösung: Stellen Sie eine Verbindung mit dem SQL-Zielserver auf dem virtuellen Azure-Computer her, und löschen Sie die Datei „XXX.mdf“. Starten Sie dann die Migration erneut.

Einschränkungen von Azure Data Studio

Fehler beim Starten des SQL-Migrationsdiensts: Fehler: Anforderungsfehler

  • Meldung: Error at ClientRequest.<anonymous> (c:\Users\MyUser\.azuredatastudio\extensions\microsoft.sql-migration-1.4.2\dist\main.js:2:7448) at ClientRequest.emit (node:events:538:35) at TLSSocket.socketOnEnd (node:_http_client:466:9) at TLSSocket.emit (node:events:538:35) at endReadableNT (node:internal/streams/readable:1345:12) at process.processTicksAndRejections (node:internal/process/task_queues:83:21)

  • Ursache: Dieses Problem tritt auf, wenn Azure Data Studio das MigrationService-Paket nicht von https://github.com/microsoft/sqltoolsservice/releases herunterladen kann. Der Downloadfehler kann auf eine unterbrochene Netzwerkverbindung oder auf nicht aufgelöste Proxyeinstellungen zurückzuführen sein.

  • Empfehlung: Der sicherste Weg zur Lösung dieses Problems besteht darin, das Paket manuell herunterzuladen. Führen Sie die Migrationsschritte unter diesem Link aus: https://github.com/microsoft/azuredatastudio/issues/22558#issuecomment-1496307891