Známé problémy, omezení a řešení potíží
Tento článek obsahuje seznam známých problémů a kroků pro řešení potíží spojených s rozšířením Azure SQL Migration pro Azure Data Studio.
Důležité
Nejnovější verze prostředí Integration Runtime (5.28.8488) brání přístupu ke sdílené síťové složce na místním hostiteli. Toto bezpečnostní opatření povede k selháním při provádění migrací do Azure SQL pomocí DMS. Ujistěte se, že spouštíte prostředí Integration Runtime na jiném počítači, než je hostování síťové sdílené složky.
Kód chyby: 2007 – CutoverFailedOrCancelled
Zpráva:
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.
Příčina: K chybě může dojít kvůli nesprávnému umístění záloh do kontejneru Azure Storage. Pokud jsou zálohy umístěné ve sdílené síťové složce, může k této chybě dojít také kvůli problémům s připojením k síti.
Doporučení: Ujistěte se, že zálohy databáze v kontejneru Azure Storage jsou správné. Pokud používáte sdílenou složku sítě, můžou se zde vyskytovat problémy související se sítí a prodlevy, které způsobují tuto chybu. Počkejte na dokončení procesu.
Zpráva:
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.
Příčina: Obnovení virtuálního počítače SQL v současné době nepodporuje obnovení databází se soubory fulltextového katalogu, protože virtuální počítač Azure SQL je v tuto chvíli nepodporuje.
Doporučení: Odebrání celých textových souborů katalogu z databáze při vytváření obnovení
Zpráva:
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}'.'
Příčina: K této chybě dochází kvůli známému omezení v sqlMi. Znamená to, že {providedFileName} se liší od {lastRestoredFileName}. SqlMi automaticky obnoví všechny platné záložní soubory v kontejneru na základě sekvence LSN. Typický případ selhání může být: {providedFileName} je log1, ale soubory v kontejneru mají jiné soubory, například log2, které mají největší číslo LSN než log1. V tomto případě sqlMi automaticky obnoví všechny soubory v kontejneru. Na konci migrace sqlMi oznámí tuto chybovou zprávu.
Doporučení: Pro offline režim migrace zadejte "lastBackupName" s největší LSN. U scénáře online migrace je možné toto upozornění nebo chybu ignorovat, pokud je stav migrace úspěšný.
Kód chyby: 2009 – MigrationRestoreFailed
Zpráva:
Migration for Database 'DatabaseName' failed with error cannot find server certificate with thumbprint.
Příčina: Před migrací dat je potřeba migrovat certifikát zdrojové instance SQL Serveru z databáze chráněné transparentní šifrování dat (TDE) do cílové spravované instance Azure SQL nebo SQL Serveru na virtuálním počítači Azure.
Doporučení: Migrujte certifikát transparentního šifrování dat do cílové instance a zkuste proces zopakovat. Další informace o migraci databází s povoleným transparentním šifrováním dat najdete v tématu Kurz: Migrace databází s povoleným transparentním šifrováním dat (Preview) do Azure SQL v nástroji Azure Data Studio.
Zpráva:
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.
Příčina: Nepodařilo se obnovit zálohu SQL Serveru do starší verze SQL Serveru, než je verze, ve které byla záloha vytvořena.
Doporučení: Postup řešení potíží najdete v tématu Problémy, které ovlivňují obnovení databáze mezi různými verzemi SQL Serveru.
Zpráva:
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.
Příčina: Spravovaná instance Azure SQL dosáhla limitů prostředků.
Doporučení: Další informace o limitech úložiště najdete v tématu Přehled limitů prostředků služby Azure SQL Managed Instance.
Zpráva:
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.)
Příčina: Jeden z příznaků uvedených v chybách operačního systému 1450 a 665 jsou hlášeny pro databázové soubory během DBCC CHECKDB nebo vytvoření snímku databáze může být příčinou.
Doporučení: Chyby operačního systému 1450 a 665 se hlásí pro databázové soubory během vytváření snímků databáze DBCC checkDB nebo vytvoření snímku databáze, kde najdete postup při řešení potíží.
Zpráva:
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.
Příčina: K chybě může dojít kvůli nesprávnému umístění záloh do kontejneru Azure Storage. Pokud jsou zálohy umístěné ve sdílené síťové složce, může k této chybě dojít také kvůli problémům s připojením k síti.
Doporučení: Ujistěte se, že zálohy databáze v kontejneru Azure Storage jsou správné. Pokud používáte sdílenou složku sítě, můžou se zde vyskytovat problémy související se sítí a prodlevy, které způsobují tuto chybu. Počkejte na dokončení procesu.
Zpráva:
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.'.
Příčina: Zadali jste název logického souboru, který není v zálohování databáze. Další možnou příčinou této chyby je nesprávný název kontejneru účtu úložiště.
Doporučení: Spuštěním příkazu RESTORE FILELISTONLY zkontrolujte názvy logických souborů v zálohování. Další informace o RESTORE FILELISTONLY naleznete v tématu PŘÍKAZY RESTORE - FILELISTONLY (Transact-SQL).
Zpráva:
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.'
Příčina: Brána firewall služby Azure Storage není nakonfigurovaná tak, aby povolovala přístup k cíli Azure SQL.
Doporučení: Další informace o nastavení brány firewall služby Azure Storage najdete v tématu Konfigurace bran firewall služby Azure Storage a virtuálních sítí.
Zpráva:
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.
Příčina: Zálohy více databází jsou ve stejné složce kontejneru.
Doporučení: Pokud migrujete více databází do služby Azure SQL Managed Instance pomocí stejného kontejneru Azure Blob Storage, je nutné umístit záložní soubory pro různé databáze do samostatných složek uvnitř kontejneru. Další informace o LRS najdete v tématu Migrace databází z SQL Serveru do služby SQL Managed Instance pomocí služby Přehrání protokolu (Preview).
Zpráva:
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.
Příčina: Zdrojová databáze je obsažená databáze. K obnovení obsažené databáze je potřeba konkrétní konfigurace. Další informace o databázích s omezením naleznete v tématu Uživatelé databáze s omezením.
Doporučení: Před zahájením migrace spusťte následující dotaz připojený ke zdrojovému SQL Serveru v kontextu konkrétní databáze. Potom zkuste migraci obsažené databáze zopakovat.
-- Enable "contained database authentication" EXECUTE sp_configure 'contained', 1; RECONFIGURE;
Poznámka:
Další informace o obecných krocích řešení potíží s chybami služby Azure SQL Managed Instance najdete v tématu Známé problémy se službou Azure SQL Managed Instance.
Kód chyby: 2012 – TestConnectionFailed
Zpráva:
Failed to test connections using provided Integration Runtime. Error details: 'Remote name could not be resolved.'
Příčina: Nastavení sítě v bráně firewall způsobuje, že místní prostředí Integration Runtime se nemůže připojit k back-endu služby.
Doporučení: Došlo k problému se systémem DNS (Domain Name System). Obraťte se na síťový tým a požádejte ho, aby tyto problémy řešil. Další informace najdete v tématu Řešení potíží s místním prostředím Integration Runtime.
Zpráva:
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
Příčina: Místní prostředí Integration Runtime se nemůže připojit ke sdílené síťové složce, ve které jsou umístěné zálohy databáze.
Doporučení: Ujistěte se, že je správně zadaný název sdílené složky sítě.
Zpráva:
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.
Příčina: Místní prostředí Integration Runtime se nemůže připojit ke sdílené síťové složce, ve které jsou umístěné zálohy databáze.
Doporučení: Ujistěte se, že je správně zadaný název sdílené složky sítě.
Zpráva:
Failed to test connections using provided Integration Runtime.
Příčina: Připojení k místnímu prostředí Integration Runtime selhalo.
Doporučení: Obecné kroky řešení potíží s chybami připojení prostředí Integration Runtime najdete v tématu Řešení potíží s místním prostředím Integration Runtime .
Kód chyby: 2014 – IntegrationRuntimeIsNotOnline
Zpráva:
Integration Runtime <IR Name> in resource group <Resource Group Name> Subscription <SubscriptionID> isn't online.
Příčina: Místní prostředí Integration Runtime není online.
Doporučení: Ujistěte se, že je místní prostředí Integration Runtime zaregistrované a online. K provedení registrace můžete použít skripty z automatizace instalace místního prostředí Integration Runtime pomocí místních skriptů PowerShellu. Další informace najdete v tématu Řešení potíží s místním prostředím Integration Runtime , kde najdete obecné kroky pro řešení potíží s chybami připojení prostředí Integration Runtime.
Kód chyby: 2030 – AzureSQLManagedInstanceNotReady
Zpráva:
Azure SQL Managed Instance <Instance Name> isn't ready.
Příčina: Spravovaná instance Azure SQL není ve stavu připraveno.
Doporučení: Počkejte, až se dokončí nasazení spravované instance Azure SQL, a pak zkuste proces zopakovat.
Kód chyby: 2033 – SqlDataCopyFailed
Zpráva:
Migration for Database <Database> failed in state <state>.
Příčina: Kanál ADF pro přesun dat selhal.
Doporučení: Podrobnější informace o chybách najdete na stránce MigrationStatusDetails.
Kód chyby: 2038 – MigrationCompletedDuringCancel
Zpráva:
Migration cannot be canceled as Migration was completed during the cancel process. Target server: <Target server> Target database: <Target database>.
Příčina: Byla přijata žádost o zrušení, ale migrace byla úspěšně dokončena před dokončením zrušení.
Doporučení: Nevyžaduje se žádná akce. Migrace byla úspěšná.
Kód chyby: 2039 – MigrationRetryNotAllowed
Zpráva:
Migration isn't in a retriable state. Migration must be in state WaitForRetry. Current state: <State>, Target server: <Target Server>, Target database: <Target database>.
Příčina: Žádost o opakování byla přijata, když migrace nebyla ve stavu umožňujícím opakování.
Doporučení: Nevyžaduje se žádná akce. Migrace probíhá nebo se dokončila.
Kód chyby: 2040 – MigrationTimeoutWaitingForRetry
Zpráva:
Migration retry timeout limit of 8 hours reached. Target server: <Target Server>, Target database: <Target Database>.
Příčina: Migrace byla nečinná v neúspěšném stavu, ale načítá se po dobu 8 hodin a byla automaticky zrušena.
Doporučení: Nevyžaduje se žádná akce. Migrace byla zrušena.
Kód chyby: 2041 – DataCopyCompletedDuringCancel
Zpráva:
Data copy finished successfully before canceling completed. Target schema is in bad state. Target server: <Target Server>, Target database: <Target Database>.
Příčina: Žádost o zrušení byla přijata a kopírování dat bylo úspěšně dokončeno, ale schéma cílové databáze nebylo vráceno do původního stavu.
Doporučení: V případě potřeby je možné cílovou databázi vrátit do původního stavu spuštěním prvního dotazu a všech vrácených dotazů a následným spuštěním druhého dotazu a provedením stejného příkazu.
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;
Kód chyby: 2042 – PreCopyStepsCompletedDuringCancel
Zpráva:
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>.
Příčina: Žádost o zrušení byla přijata a kroky k přípravě cílové databáze na kopírování byly úspěšně dokončeny. Schéma cílové databáze nebylo vráceno do původního stavu.
Doporučení: V případě potřeby je možné cílovou databázi vrátit do původního stavu spuštěním následujícího dotazu a všech vrácených dotazů.
SELECT [ROLLBACK] FROM [dbo].[__migration_status] WHERE STEP IN (3, 4, 6);
Kód chyby: 2043 – CreateContainerFailed
Zpráva:
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>.
Příčina: Požadavek selhal kvůli základnímu problému, jako je síťové připojení, selhání DNS, ověření certifikátu serveru nebo vypršení časového limitu.
Doporučení: Další kroky pro řešení potíží najdete v tématu Řešení potíží s kanály Služby Azure Data Factory a Synapse.
Kód chyby: 2049 – FileShareTestConnectionFailed
Zpráva:
The value of the property '' is invalid: 'Access to <share path> is denied, resolved IP address is <IP address>, network type is OnPremise'.
Příčina: Sdílená síťová složka, ve které jsou uložené zálohy databáze, je ve stejném počítači jako místní prostředí Integration Runtime (SHIR).
Doporučení: Nejnovější verze prostředí Integration Runtime (5.28.8488) brání přístupu k síťové sdílené složce na místním hostiteli. Ujistěte se, že používáte prostředí Integration Runtime na jiném počítači, než je hostování síťové sdílené složky. Pokud u aktuálního nastavení migrace není možné hostovat místní prostředí Integration Runtime a sdílenou síťovou složku na různých počítačích, můžete použít možnost odhlášení.
DisableLocalFolderPathValidation
Poznámka:
Další informace najdete v tématu Nastavení existujícího místního prostředí IR prostřednictvím místního Prostředí PowerShell. Možnost zakázání použijte s uvážením, protože je to méně bezpečné.
Kód chyby: 2055 – SqlInfoCollectionFailed
Zpráva:
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.
Příčina: Přihlášení použité pro cílový server (Azure SQL DB) nemá roli serveru ##MS_ServerStateReader##.
Doporučení: Zadejte roli ##MS_ServerStateReader## pro přihlášení pro Azure SQL Target. Dotaz: ALTER SERVER ROLE ##MS_ServerStateReader## PŘIHLÁŠENÍ ČLENA ADD.
Poznámka: Tento dotaz by se měl spustit v kontextu hlavní databáze.
Kód chyby: 2056 – SqlInfoValidationFailed
Zpráva:
CollationMismatch: Source database collation <CollationOptionSource> is not the same as the target database <CollationOptionTarget>. Source database: <SourceDatabaseName> Target database: <TargetDatabaseName>.
Příčina: Kolace zdrojové databáze není stejná jako kolace cílové databáze.
Doporučení: Nezapomeňte změnit cílovou kolaci Azure SQL Database na stejnou jako zdrojovou databázi SQL Serveru. Azure SQL Database ve výchozím nastavení používá
SQL_Latin1_General_CP1_CI_AS
kolaci pro případ, že vaše zdrojová databáze SQL Serveru používá jinou kolaci, může být potřeba znovu vytvořit nebo vybrat jinou cílovou databázi, jejíž kolace odpovídá. Další informace najdete v tématu Podpora kolace a Unicode.Zpráva:
TableColumnCollationMismatch: Table <Tablename> with column <columnname> has collation <collationoptionsource> on source but has collation <collationoptiontarget> on target table.
Příčina: Kolace sloupce zdrojové tabulky databáze není stejná jako kolace cílové tabulky databáze.
Doporučení:
Nezapomeňte migrovat schéma do cílové služby Azure SQL Database pomocí služby Database Migration Service. Projděte si blog.
Pokud chcete ručně změnit kolaci, postupujte podle tohoto článku .
Další informace najdete v tématu Podpora kolace a Unicode.
Zpráva:
DatabaseSizeMoreThanMax: No tables were found in the target Azure SQL Database. Check if schema migration was completed beforehand.
Příčina: Vybrané tabulky pro migraci v cílové službě Azure SQL Database neexistují.
Doporučení: Před zahájením migrace se ujistěte, že bylo vytvořené schéma cílové databáze. Další informace o nasazení schématu cílové databáze najdete v tématu Rozšíření projektů služby SQL Database.
Zpráva:
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.
Příčina: Cílová databáze nemá dostatek místa.
Doporučení: Před zahájením migrace se ujistěte, že bylo vytvořené schéma cílové databáze. Další informace o nasazení cílového schématu databáze naleznete v tématu Rozšíření projektů služby SQL Database.
Zpráva:
NoTablesFound: Some of the source tables don't exist in the target database. Missing tables: <TableList>
.Příčina: Vybrané tabulky pro migraci v cílové službě Azure SQL Database neexistují.
Doporučení: Zkontrolujte, jestli v cílové službě Azure SQL Database existují vybrané tabulky. Pokud se tato migrace volá ze skriptu PowerShellu, zkontrolujte, jestli parametr seznamu tabulek obsahuje správné názvy tabulek a předá se do migrace.
Zpráva:
SqlVersionOutOfRange: Source instance version is lower than 2008, which is not supported to migrate. Source instance: <InstanceName>
.Příčina: Azure Database Migration Service nepodporuje migraci z instancí SQL Serveru nižší než 2008.
Doporučení: Upgradujte zdrojovou instanci SQL Serveru na novější verzi SQL Serveru. Další informace naleznete v tématu Upgrade SQL Serveru.
Zpráva:
TableMappingMismatch: Some of the source tables don't exist in the target database. Missing tables: <TableList>
.Příčina: Vybrané tabulky pro migraci v cílové službě Azure SQL Database neexistují.
Doporučení: Zkontrolujte, jestli v cílové službě Azure SQL Database existují vybrané tabulky. Pokud se tato migrace volá ze skriptu PowerShellu, zkontrolujte, jestli parametr seznamu tabulek obsahuje správné názvy tabulek a předá se do migrace.
Kód chyby: 2060 – SqlSchemaCopyFailed
Zpráva:
The SELECT permission was denied on the object 'sql_logins', database 'master', schema 'sys'.
Příčina: Zákazníci účtu, který používají k připojení služby Azure SQL Database, nemá oprávnění pro přístup
sys.sql_logins
k tabulce.Doporučení: Problém můžete zmírnit dvěma způsoby:
Přidejte do účtu roli sysadmin, která uděluje oprávnění správce.
Pokud zákazníci nemůžou použít účet správce systému nebo nemůžou udělit oprávnění správce systému k účtu, minimální oprávnění ke zdrojovému SQL Serveru je "db_owner" a v cílové službě Azure SQL DB vytvořte uživatele v hlavním serveru a udělte uživateli pevné role serveru ##MS_DatabaseManager##,##MS_DatabaseConnector##, ##MS_DefinitionReader## a ##MS_LoginManager#. Příklad:
-- 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';
Zpráva:
Failed to get service token from ADF service.
Příčina: SHIR zákazníka se nepodaří připojit datovou továrnu.
Doporučení: Toto je ukázkový dokument, jak ho vyřešit: Prostředí Integration Runtime se nemůže připojit ke službě Data Factory
Zpráva:
IR Nodes are offline.
Příčina: Příčinou může být přerušení sítě během migrace, a proto se uzel IR stane offline. Ujistěte se, že je na počítači, na kterém je nainstalovaný nástroj SHIR.
Doporučení: Ujistěte se, že je na počítači, na kterém je nainstalovaný nástroj SHIR.
Zpráva:
Deployed failure: {0}. Object element: {1}.
Příčina: Toto je nejčastější chyba, se kterými se můžou setkat zákazníci. Znamená to, že objekt nelze nasadit do cíle, protože není v cíli podporován.
Doporučení: Zákazníci musí zkontrolovat výsledky posouzení (pravidla posouzení). Toto je seznam problémů s posouzením, které můžou selhat při migraci schématu:
- BULK INSERT
- Klauzule COMPUTE
- Zprostředkovatel kryptografických služeb
- Odkazy na křížové databáze
- Alias instančního objektu databáze
- možnost DISABLE_DEF_CNST_CHK
- FASTFIRSTROW hint
- FILESTREAM
- MS DTC
- OPENROWSET (hromadná)
- OPENROWSET (zprostředkovatel)
Poznámka:
Pokud chcete zobrazit podrobnosti o chybě, otevřete Správce konfigurace prostředí Microsoft Integration Runtime a přejděte do protokolů protokolování diagnostiky > >. V prohlížeči událostí přejděte do konektorů protokolů > aplikací a služeb – Integration Runtime a vyfiltrujte chyby.
Zpráva:
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}.
Ukázkový vygenerovaný skript:
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)
Příčina: Všechny odkazy na funkce ve vypočítaném sloupci musí mít stejného vlastníka jako tabulka.
Doporučení: Viz požadavky na vlastnictví.
Kód chyby: Ext_RestoreSettingsError
Zpráva:
Unable to read blobs in storage container, exception: The remote server returned an error: (403) Forbidden.; The remote server returned an error: (403) Forbidden
Příčina: Cíl Azure SQL se nemůže připojit k úložišti objektů blob.
Doporučení: Ověřte, že nastavení cílové sítě povoluje přístup k úložišti objektů blob. Pokud například migrujete na SQL Server v cíli virtuálního počítače Azure, ujistěte se, že odchozí připojení na virtuálním počítači nejsou blokovaná.
Zpráva:
Failed to create restore job. Unable to read blobs in storage container, exception: The remote name could not be resolved.
Příčina: Cíl Azure SQL se nemůže připojit k úložišti objektů blob.
Doporučení: Ověřte, že nastavení cílové sítě povoluje přístup k úložišti objektů blob. Pokud například migrujete na virtuální počítač SQL, ujistěte se, že odchozí připojení na virtuálním počítači nejsou blokovaná.
Zpráva:
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>'
.Příčina: Poslední zálohování nebylo zadáno v nastavení zálohování.
Doporučení: V nastavení zálohování zadejte nejnovější název záložního souboru a zkuste operaci zopakovat.
Zpráva:
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.
Příčina: K chybě může dojít u účtů úložiště s konfigurací veřejné sítě i privátního koncového bodu. Je také možné, že máte místní server DNS, který řídí hybridní směrování sítě a PROTOKOL DHCP. Pokud nepovolíte IP adresy Azure nakonfigurované na vašem serveru DNS, váš SQL Server na virtuálním počítači Azure nemá šanci přeložit koncový bod objektu blob vzdáleného úložiště.
Doporučení: Pokud chcete tento problém ladit, můžete zkusit otestovat adresu URL služby Azure Blob Storage z cíle SQL Serveru na virtuálním počítači Azure a ověřit, jestli máte problém s připojením. Pokud chcete tento problém vyřešit, musíte povolit IP adresy Azure nakonfigurované na vašem serveru DNS. Další informace najdete v tématu Řešení potíží s připojením privátního koncového bodu Azure.
Kód chyby: Žádný takový hostitel není známý nebo chyba urlopen [Errno 11001] getaddrinfo selhal.
Zpráva:
No such host is known
Příčina: Při migraci přihlášení pomocí příkazu PowerShellu New-AzDataMigrationLoginsMigration dojde k selhání s předchozí zprávou.
Doporučení: Pokud chcete tento problém vyřešit, upgradujte rutiny Microsoft Azure PowerShellu – Database Migration Service – Az.DataMigration nad minimální verzi 0.14.5.
Nejnovější verzi Az.Datamigration si můžete stáhnout z galerie Prostředí PowerShell nebo můžete k upgradu použít následující příkaz.
Update-Module -Name Az.DataMigration
Zpráva:
urlopen error [Errno 11001] getaddrinfo failed
Příčina: Při migraci přihlášení pomocí Azure CLI Az dataMigration při migraci přihlašovacích údajů selže s předchozí zprávou.
Doporučení: Pokud chcete tento problém vyřešit, upgradujte rozšíření Microsoft Azure CLI – Database Migration Service – az dataMigration na verzi 1.0.0b1 nebo novější. Spuštěním následujícího příkazu upgradujte.
az extension update -n datamigration
Pravidla pojmenování služby Azure Database Migration Service
Pokud vaše služba DMS selhala s chybou Název služby x_y_z není platný, musíte postupovat podle pravidel pojmenování služby Azure Database Migration Service. Vzhledem k tomu, že Služba Azure Database Migration Service používá pro své výpočetní prostředky službu Azure Data Factory, řídí se stejnými pravidly pojmenování, jak je uvedeno v pravidlech pojmenování.
Omezení služby Azure SQL Database
Migrace do Azure SQL Database pomocí rozšíření Azure SQL pro Azure Data Studio má následující omezení:
Offline migrace služby Azure SQL Database využívá kanály služby Azure Data Factory (ADF) pro přesun dat, a proto se řídí omezeními ADF. Odpovídající ADF se vytvoří také při vytvoření služby pro migraci databází. Proto platí omezení továrny pro každou službu.
- Počítač, na kterém je nainstalovaný nástroj SHIR, funguje jako výpočetní prostředky pro migraci. Ujistěte se, že tento počítač dokáže zpracovat zatížení procesoru a paměti kopie dat. Další informace najdete v doporučeních KHIR.
- 100 000 tabulek na limit databáze.
- 10 000 souběžných migrací databází na službu
- Rychlost migrace výrazně závisí na cílové skladové po straně služby Azure SQL Database a na hostiteli místního prostředí Integration Runtime.
- Migrace azure SQL Database se při spouštění aktivit škáluje špatně s čísly tabulek kvůli režii ADF. Pokud databáze obsahuje tisíce tabulek, může spuštění každé tabulky trvat několik sekund, i když se skládají z jednoho řádku s 1 bitem dat.
- Pro migraci se v současné době nepodporují názvy tabulek Azure SQL Database s dvojitými bajtovými znaky. Zmírněním rizik je přejmenování tabulek před migrací; po úspěšné migraci je možné je změnit zpět na původní názvy.
- Tabulky s velkými sloupci objektů blob se nemusí podařit migrovat kvůli vypršení časového limitu.
- Názvy databází s rezervovaným SQL Serverem se v současné době nepodporují.
- Názvy databází, které obsahují středníky, se v současné době nepodporují.
- Počítané sloupce se nemigrují.
Omezení služby Azure SQL Managed Instance
Migrace na službu Azure SQL Managed Instance s využitím rozšíření Azure SQL pro Azure Data Studio má následující omezení:
- V případě migrace jednoúčelové databáze musí být zálohy databáze umístěné ve struktuře plochých souborů ve složce databáze (včetně kořenové složky kontejneru) a složky nesmí být vnořené, protože se to nepodporuje.
- V případě migrace několika databází s využitím stejného kontejneru služby Azure Blob Storage je potřeba umístit záložní soubory různých databází do samostatných složek v kontejneru.
- Přepsání stávajících databází pomocí DMS v cílové službě Azure SQL Managed Instance se nepodporuje.
- DMS nepodporuje konfiguraci vysoké dostupnosti a zotavení po havárii ve vašem cíli tak, aby odpovídala zdrojové topologii.
- Následující objekty serveru nejsou podporovány:
- Úlohy agenta SQL Serveru
- Přihlašovací údaje
- Balíčky služby SSIS
- Audit serveru
- K migraci databází pomocí DMS není možné použít existující místní prostředí Integration Runtime vytvořené službou Azure Data Factory. Aby bylo možné opakovaně používat místní prostředí Integration Runtime k migraci dalších databází, musí se vytvořit pomocí rozšíření Azure SQL Migration v Azure Data Studiu.
- Každá úloha LRS (vytvořená pomocí DMS) může běžet maximálně 30 dnů. Po uplynutí této doby se úloha automaticky zruší a cílová databáze se automaticky odstraní.
- Pokud se zobrazila následující chyba:
Memory-optimized filegroup must be empty in order to be restored on General Purpose tier of SQL Database Managed Instance
. Tento problém je záměrně podporovaný Hekaton (označovaný také jako OLTP v paměti SQL Serveru) na úrovni Pro obecné účely služby Azure SQL Managed Instance. Pokud chcete pokračovat v migraci, je jedním ze způsobů, jak upgradovat na úroveň Pro důležité obchodní informace, která podporuje Hekaton. Dalším způsobem je zajistit, aby zdrojová databáze nepoužíla, zatímco spravovaná instance Azure SQL je pro obecné účely.
Omezení SQL Serveru na virtuálních počítačích Azure
Migrace na SQL Server na virtuálních počítačích Azure pomocí rozšíření Azure SQL pro Azure Data Studio má následující omezení:
- Pokud migrujete jednu databázi, musí být zálohy databáze umístěné ve struktuře plochých souborů ve složce databáze (včetně kořenové složky kontejneru) a složky se nedají vnořit, protože se nepodporují.
- V případě migrace několika databází s využitím stejného kontejneru služby Azure Blob Storage je potřeba umístit záložní soubory různých databází do samostatných složek v kontejneru.
- Přepsání existujících databází pomocí DMS v cílovém SQL Serveru na virtuálním počítači Azure se nepodporuje.
- DMS nepodporuje konfiguraci vysoké dostupnosti a zotavení po havárii v cíli tak, aby odpovídaly topologii zdroje.
- Následující objekty serveru nejsou podporovány:
- Úlohy agenta SQL Serveru
- Přihlašovací údaje
- Balíčky služby SSIS
- Audit serveru
- K migraci databází pomocí DMS není možné použít existující místní prostředí Integration Runtime vytvořené službou Azure Data Factory. Aby bylo možné opakovaně používat místní prostředí Integration Runtime k migraci dalších databází, musí se vytvořit pomocí rozšíření Azure SQL Migration v Azure Data Studiu.
- Virtuální počítač s SQL Serverem 2008 a níže, protože cílové verze se při migraci na SQL Server na virtuálních počítačích Azure nepodporují.
- Pokud používáte virtuální počítač s SQL Serverem 2012 nebo SQL Serverem 2014, musíte ukládat záložní soubory zdrojové databáze do kontejneru objektů blob služby Azure Storage namísto použití možnosti síťové sdílené složky. Uložte záložní soubory jako objekty blob stránky, protože objekty blob bloku se podporují jenom v SQL 2016 a potom.
- Musíte se ujistit, že rozšíření agenta SQL IaaS v cílovém virtuálním počítači Azure je v plném režimu místo zjednodušeného režimu.
- Rozšíření agenta SQL IaaS podporuje pouze správu výchozí instance serveru nebo jedné pojmenované instance.
- Pomocí jedné nebo více migrací můžete migrovat maximálně 100 databází na stejný virtuální počítač Azure SQL Serveru jako cíl. Navíc po dokončení migrace s 100 databázemi počkejte alespoň 30 minut před zahájením nové migrace na stejný virtuální počítač Azure SQL Serveru jako cíl. Každá operace migrace (spuštění migrace, přímá migrace) pro každou databázi bude trvat několik minut sekvenčně. Pokud například chcete migrovat 100 databází, může trvat přibližně 200 (2 x 100) minut, než se vytvoří fronta migrace a přibližně 100 (1 x 100) minut, než se přenesou všechny 100 databáze (kromě časování zálohování a obnovení). Migrace se proto s rostoucím počtem databází ztěžuje. Microsoft doporučuje předem naplánovat delší časové období migrace na základě důkladného testování migrace nebo rozdělení velkého počtu databází do dávek při migraci na virtuální počítač Azure s SQL Serverem.
- Kromě konfigurace sítě nebo brány firewall účtu služby Azure Storage tak, aby virtuální počítač mohl přistupovat k záložním souborům. Musíte také nakonfigurovat sítě nebo bránu firewall SQL Serveru na virtuálním počítači Azure tak, aby umožňovala odchozí připojení k vašemu účtu úložiště.
- V průběhu migrace SQL je potřeba zachovat cílový SQL Server na virtuálním počítači Azure zapnutý . Také při vytváření nové migrace, převzetí služeb při selhání nebo zrušení migrace.
- Chyba:
Login failed for user 'NT Service\SQLIaaSExtensionQuery
. Důvod: Instance SQL Serveru je v režimu jednoho uživatele. Jedním z možných důvodů je cílový SQL Server na virtuálním počítači Azure v režimu upgradu. Řešení: Počkejte na ukončení režimu upgradu na cílovém SQL Serveru na virtuálním počítači Azure a spusťte migraci znovu. - Chyba:
Ext_RestoreSettingsError, message: Failed to create restore job.;Cannot create file 'F:\data\XXX.mdf' because it already exists
. Řešení: Připojte se k cílovému SQL Serveru na virtuálním počítači Azure a odstraňte soubor XXX.mdf. Pak znovu spusťte migraci.
Omezení nástroje Azure Data Studio
Spuštění služby Sql Migration Service se nezdařilo: Chyba: Chyba požadavku
Zpráva:
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)
Příčina: K tomuto problému dochází, když Azure Data Studio nemůže stáhnout balíček MigrationService z https://github.com/microsoft/sqltoolsservice/releases. Příčinou selhání stahování může být odpojená síťová práce nebo nevyřešené nastavení proxy serveru.
Doporučení: Jistý způsob řešení tohoto problému spočívá v ručním stažení balíčku. Postupujte podle kroků pro zmírnění rizik uvedených na tomto odkazu: https://github.com/microsoft/azuredatastudio/issues/22558#issuecomment-1496307891