Problemi noti, limitazioni e risoluzione dei problemi

Questo articolo fornisce un elenco dei problemi noti e dei passaggi di risoluzione dei problemi associati all'estensione Migrazione SQL di Azure per Azure Data Studio.

Importante

La versione più recente di Integration Runtime (5.28.8488) impedisce l'accesso a una condivisione file di rete in un host locale. Questa misura di sicurezza causerà errori durante l'esecuzione delle migrazioni ad Azure SQL tramite Servizio Migrazione del database. Assicurarsi di eseguire Integration Runtime in un computer diverso dall'hosting della condivisione di rete.

Codice errore: 2007 - CutoverFailedOrCancelled

  • Messaggio: 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.

  • Causa: l'errore può verificarsi a causa dei backup inseriti in modo non corretto nel contenitore Archiviazione di Azure. Se i backup vengono inseriti nella condivisione file di rete, questo errore potrebbe verificarsi anche a causa di problemi di connettività di rete.

  • Raccomandazione: assicurarsi che i backup del database nel contenitore di Archiviazione di Azure siano corretti. Se si usa la condivisione file di rete, possono verificarsi problemi e ritardi correlati alla rete che causano questo errore. Attendi che il processo venga completato.

  • Messaggio: 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.

  • Causa: il ripristino di macchine virtuali SQL attualmente non supporta il ripristino dei database con file di catalogo full-text perché al momento la macchina virtuale SQL di Azure non li supporta.

  • Raccomandazione: Rimuovere i file di catalogo full-text dal database durante la creazione del ripristino

  • Messaggio: 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}'.'

  • Causa: questo errore si verifica a causa di una limitazione nota in SqlMi. Significa che '{providedFileName}' è diverso da '{lastRestoredFileName}'. SqlMi ripristinerà automaticamente tutti i file di backup validi nel contenitore in base alla sequenza LSN. Un caso di errore tipico può essere: '{providedFileName}' è "log1", ma i file nel contenitore hanno altri file, ad esempio "log2", con numero LSN maggiore di "log1". In questo caso, SqlMi ripristinerà automaticamente tutti i file nel contenitore. Al termine del completamento della migrazione, SqlMi segnala questo messaggio di errore.

  • Raccomandazione: per la modalità di migrazione offline, specificare "lastBackupName" con il numero LSN più grande. Per lo scenario di migrazione online, questo avviso o errore può essere ignorato se lo stato della migrazione è riuscito.

Codice errore: 2009 - MigrationRestoreFailed

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

  • Causa: prima di eseguire la migrazione dei dati, è necessario eseguire la migrazione del certificato dell'istanza di SQL Server di origine da un database protetto da Transparent Data Encryption (TDE) alla destinazione Istanza gestita di SQL di Azure o SQL Server nella macchina virtuale di Azure.

  • Raccomandazione: eseguire la migrazione del certificato TDE all'istanza di destinazione e ripetere il processo. Per altre informazioni sulla migrazione di database abilitati per TDE, vedere Esercitazione: Eseguire la migrazione di database abilitati per TDE (anteprima) ad Azure SQL in Azure Data Studio.

  • Messaggio: 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.

  • Causa: impossibile ripristinare un backup di SQL Server in una versione precedente di SQL Server rispetto alla versione in cui è stato creato il backup.

  • Raccomandazione: vedere Problemi che influiscono sul ripristino del database tra diverse versioni di SQL Server per la procedura di risoluzione dei problemi.

  • Messaggio: 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.

  • Causa: il Istanza gestita di SQL di Azure ha raggiunto i limiti delle risorse.

  • Raccomandazione: per altre informazioni sui limiti di archiviazione, vedere Panoramica dei limiti delle risorse Istanza gestita di SQL di Azure.

  • Messaggio: 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.)

  • Causa: uno dei sintomi elencati negli errori del sistema operativo 1450 e 665 viene segnalato per i file di database durante la creazione di database DBCC CHECKDB o database snapshot può essere la causa.

  • Raccomandazione: vedere Gli errori del sistema operativo 1450 e 665 vengono segnalati per i file di database durante la procedura di risoluzione dei problemi di DBCC CHECKDB o snapshot del database.

  • Messaggio: 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.

  • Causa: l'errore può verificarsi a causa dei backup inseriti in modo non corretto nel contenitore Archiviazione di Azure. Se i backup vengono inseriti nella condivisione file di rete, questo errore potrebbe verificarsi anche a causa di problemi di connettività di rete.

  • Raccomandazione: assicurarsi che i backup del database nel contenitore di Archiviazione di Azure siano corretti. Se si usa la condivisione file di rete, possono verificarsi problemi di rete e ritardi che causano questo errore. Attendere il completamento del processo.

  • Messaggio: 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.'.

  • Causa: è stato specificato un nome di file logico non incluso nel backup del database. Un'altra possibile causa di questo errore è un nome di contenitore dell'account di archiviazione non corretto.

  • Raccomandazione: eseguire RESTORE FILELISTONLY per controllare i nomi di file logici nel backup. Per altre informazioni su RESTORE FILELISTONLY, vedere Istruzioni RESTORE - FILELISTONLY (Transact-SQL).

  • Messaggio: 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.'

  • Causa: Archiviazione di Azure firewall non è configurato per consentire l'accesso alla destinazione SQL di Azure.

  • Raccomandazione: per altre informazioni sulla configurazione del firewall Archiviazione di Azure, vedere Configurare Archiviazione di Azure firewall e reti virtuali.

  • Messaggio: 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.

  • Causa: i backup di più database si trovano nella stessa cartella contenitore.

  • Raccomandazione: se si esegue la migrazione di più database a Istanza gestita di SQL di Azure usando lo stesso contenitore Archiviazione BLOB di Azure, è necessario inserire i file di backup per database diversi in cartelle separate all'interno del contenitore. Per altre informazioni sull'archiviazione con ridondanza locale, vedere Eseguire la migrazione di database da SQL Server a Istanza gestita di SQL usando il servizio Di riproduzione log (anteprima).

  • Messaggio: 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.

  • Causa: il database di origine è un database indipendente. È necessaria una configurazione specifica per abilitare il ripristino di un database indipendente. Per altre informazioni sui database indipendenti, vedere Utenti di database indipendenti.

  • Raccomandazione: eseguire la query seguente connessa all'istanza di SQL Server di origine nel contesto del database specifico prima di avviare la migrazione. Quindi, tentare di nuovo la migrazione del database indipendente.

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

    Nota

    Per altre informazioni sui passaggi generali per la risoluzione dei problemi relativi agli errori di Istanza gestita di SQL di Azure, vedere Problemi noti relativi a Istanza gestita di SQL di Azure

Codice errore: 2012 - Test Connessione ionFailed

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

  • Causa: le impostazioni di rete nel firewall causano l'impossibilità di connettersi al back-end del servizio dal runtime di integrazione self-hosted.

  • Raccomandazione: si è verificato un problema dns (Domain Name System). Per risolvere il problema, contattare il team addetto alla rete. Per altre informazioni, vedere Risolvere i problemi relativi al runtime di integrazione self-hosted.

  • Messaggio: 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

  • Causa: il runtime di integrazione self-hosted non è in grado di connettersi alla condivisione file di rete in cui vengono inseriti i backup del database.

  • Raccomandazione: assicurarsi che il nome della condivisione file di rete sia immesso correttamente.

  • Messaggio: 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.

  • Causa: il runtime di integrazione self-hosted non è in grado di connettersi alla condivisione file di rete in cui vengono inseriti i backup del database.

  • Raccomandazione: assicurarsi che il nome della condivisione file di rete sia immesso correttamente.

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

  • Causa: Connessione ion al runtime di integrazione self-hosted non è riuscito.

  • Raccomandazione: vedere Risolvere i problemi relativi al runtime di integrazione self-hosted per i passaggi generali per la risoluzione dei problemi relativi agli errori di connettività del runtime di integrazione.

Codice errore: 2014 - IntegrationRuntimeIsNotOnline

Codice errore: 2030 - AzureSQLManagedInstanceNotReady

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

  • Causa: Istanza gestita di SQL di Azure non in stato pronto.

  • Raccomandazione: attendere che il Istanza gestita di SQL di Azure abbia terminato la distribuzione e sia pronto, quindi riprovare il processo.

Codice errore: 2033 - SqlDataCopyFailed

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

  • Causa: pipeline di Azure Data Factory per lo spostamento dei dati non riuscita.

  • Raccomandazione: per informazioni più dettagliate sull'errore, vedere la pagina MigrationStatusDetails.

Codice errore: 2038 - MigrationCompletedDuringCancel

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

  • Causa: è stata ricevuta una richiesta di annullamento, ma la migrazione è stata completata correttamente prima del completamento dell'annullamento.

  • Raccomandazione: nessuna azione necessaria. Migrazione riuscita.

Codice errore: 2039 - MigrationRetryNotAllowed

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

  • Causa: è stata ricevuta una richiesta di ripetizione dei tentativi quando la migrazione non era in uno stato che consente di riprovare.

  • Raccomandazione: nessuna azione necessaria. La migrazione è in corso o completata.

Codice errore: 2040 - MigrationTimeoutWaitingForRetry

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

  • Causa: la migrazione è inattiva in uno stato di inattività, ma lo stato recuperabile per 8 ore è stato annullato automaticamente.

  • Raccomandazione: non è necessaria alcuna azione. La migrazione è stata annullata.

Codice errore: 2041 - DataCopyCompletedDuringCancel

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

  • Causa: la richiesta di annullamento è stata ricevuta e la copia dei dati è stata completata correttamente, ma lo schema del database di destinazione non è stato restituito allo stato originale.

  • Raccomandazione: se lo si desidera, il database di destinazione può essere restituito allo stato originale eseguendo la prima query e tutte le query restituite, quindi eseguendo la seconda query ed eseguendo la stessa operazione.

    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;
    

Codice errore: 2042 - PreCopyStepsCompletedDuringCancel

  • Messaggio: 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>.

  • Causa: la richiesta di annullamento è stata ricevuta e i passaggi per preparare il database di destinazione per la copia sono stati completati correttamente. Lo schema del database di destinazione non è stato restituito allo stato originale.

  • Raccomandazione: se lo si desidera, il database di destinazione può essere restituito allo stato originale eseguendo la query seguente e tutte le query restituite.

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

Codice errore: 2043 - CreateContainerFailed

  • Messaggio: 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>.

  • Causa: la richiesta non è riuscita a causa di un problema sottostante, ad esempio la connettività di rete, un errore DNS, la convalida di un certificato server o un timeout.

  • Raccomandazione: per altre procedure di risoluzione dei problemi, vedere Risolvere i problemi relativi alle pipeline di Azure Data Factory e Synapse.

Codice errore: 2049 - FileShareTest Connessione ionFailed

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

  • Causa: la condivisione di rete in cui vengono archiviati i backup del database si trova nello stesso computer del runtime di integrazione self-hosted.

  • Raccomandazione: la versione più recente di Integration Runtime (5.28.8488) impedisce l'accesso a una condivisione file di rete in un host locale. Assicurarsi di eseguire Integration Runtime in un computer diverso dall'hosting della condivisione di rete. Se l'hosting del runtime di integrazione self-hosted e della condivisione di rete in computer diversi non è possibile con la configurazione di migrazione corrente, è possibile usare l'opzione per rifiutare esplicitamente l'uso di DisableLocalFolderPathValidation.

    Nota

    Per altre informazioni, vedere Configurare un runtime di integrazione self-hosted esistente tramite PowerShell locale. Usare l'opzione di disabilitazione con discrezione perché questa opzione è meno sicura.

Codice errore: 2056 - SqlInfoValidationFailed

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

  • Causa: le regole di confronto del database di origine non corrispondono alle regole di confronto del database di destinazione.

  • Raccomandazione: assicurarsi di modificare le regole di confronto database SQL di Azure di destinazione allo stesso modo del database SQL Server di origine. database SQL di Azure usa le SQL_Latin1_General_CP1_CI_AS regole di confronto per impostazione predefinita, nel caso in cui il database DI SQL Server di origine usi regole di confronto diverse, potrebbe essere necessario ricreare o selezionare un database di destinazione diverso le cui corrispondenze con le regole di confronto. Per altre informazioni, vedere Regole di confronto e supporto Unicode

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

  • Causa: le regole di confronto della colonna della tabella di database di origine non corrispondono alle regole di confronto della colonna della tabella di database di destinazione.

  • Raccomandazione:

    1. Assicurarsi di eseguire la migrazione dello schema al database SQL di Azure di destinazione usando Servizio Migrazione del database. Fare riferimento al blog.
    2. Seguire questo articolo per modificare manualmente le regole di confronto. Per altre informazioni, vedere Regole di confronto e supporto Unicode
  • Messaggio: DatabaseSizeMoreThanMax: No tables were found in the target Azure SQL Database. Check if schema migration was completed beforehand.

  • Causa: le tabelle selezionate per la migrazione non esistono nel database SQL di Azure di destinazione.

  • Raccomandazione: assicurarsi che lo schema del database di destinazione sia stato creato prima di avviare la migrazione. Per altre informazioni su come distribuire lo schema del database di destinazione, vedere estensione progetti database SQL

  • Messaggio: 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.

  • Causa: il database di destinazione non dispone di spazio sufficiente.

  • Raccomandazione: assicurarsi che lo schema del database di destinazione sia stato creato prima di avviare la migrazione. Per altre informazioni su come distribuire lo schema del database di destinazione, vedere estensione database SQL Projects.

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

  • Causa: le tabelle selezionate per la migrazione non esistono nel database SQL di Azure di destinazione.

  • Raccomandazione: controllare se le tabelle selezionate sono presenti nel database SQL di Azure di destinazione. Se questa migrazione viene chiamata da uno script di PowerShell, verificare se il parametro dell'elenco di tabelle include i nomi di tabella corretti e viene passato alla migrazione.

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

  • Causa: Servizio Migrazione del database di Azure non supporta la migrazione da istanze di SQL Server inferiori al 2008.

  • Raccomandazione: aggiornare l'istanza di SQL Server di origine a una versione più recente di SQL Server. Per altre informazioni, vedere Aggiornare SQL Server.

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

  • Causa: le tabelle selezionate per la migrazione non esistono nel database SQL di Azure di destinazione.

  • Raccomandazione: controllare se le tabelle selezionate sono presenti nel database SQL di Azure di destinazione. Se questa migrazione viene chiamata da uno script di PowerShell, verificare se il parametro dell'elenco di tabelle include i nomi di tabella corretti e viene passato alla migrazione.

Codice errore: 2060 - SqlSchemaCopyFailed

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

  • Causa: l'account usato dai clienti per connettersi database SQL di Azure non dispone dell'autorizzazione per accedere sys.sql_logins alla tabella.

  • Raccomandazione: esistono due modi per attenuare il problema:

    1. Aggiungere il ruolo "sysadmin" all'account, che concede l'autorizzazione di amministratore.

    2. Se i clienti non possono usare l'account sysadmin o non possono concedere l'autorizzazione sysadmin all'account, l'autorizzazione minima necessaria per SQL Server di origine è "db_owner" e nel database SQL di Azure di destinazione creare un utente nel database master e concedere ##MS_DatabaseManager#,##MS_Database Connessione or##, ##MS_DefinitionReader## e ##MS_LoginManager## ruoli predefiniti del server all'utente. ad esempio:

      -- Run the script in the master
      -- Please run the script on 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 from login testuser;
      EXEC sp_addRoleMember 'dbmanager', 'testuser';
      EXEC sp_addRoleMember 'loginmanager', 'testuser';
      
  • Messaggio: Failed to get service token from ADF service.

  • Causa: il servizio SHIR del cliente non riesce a connettersi alla data factory.

  • Raccomandazione: questo è un documento di esempio su come risolverlo: Integration Runtime Non è in grado di connettersi a Data Factory

  • Messaggio: IR Nodes are offline.

  • Causa: la causa potrebbe essere che la rete viene interrotta durante la migrazione e quindi il nodo del runtime di integrazione diventa offline. Assicurarsi che il computer in cui è installato SHIR sia attivo.

  • Raccomandazione: assicurarsi che il computer in cui è installato SHIR sia attivo.

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

  • Causa: questo è l'errore più comune che i clienti potrebbero riscontrare. Significa che l'oggetto non può essere distribuito nella destinazione perché non è supportato nella destinazione.

  • Raccomandazione: i clienti devono controllare i risultati della valutazione (regole di valutazione). Questo è l'elenco dei problemi di valutazione che potrebbero non riuscire nella migrazione dello schema:

    BULK INSERT

    Clausola COMPUTE

    Provider di crittografia

    Riferimenti tra database

    Alias dell'entità di database

    opzione DISABLE_DEF_CNST_CHK

    Hint FASTFIRSTROW

    FILESTREAM

    MS DTC

    OPENROW edizione Standard T (bulk)

    OPENROW edizione Standard T (provider)

    Nota

    Per visualizzare i dettagli degli errori, aprire Gestione configurazione di Microsoft Integration Runtime e passare a Log di visualizzazione registrazione > diagnostica>. Nel Visualizzatore eventi passare a Registri > applicazioni e servizi Connessione ors - Runtime di integrazione e filtrare gli errori.

  • Messaggio: 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}.

    Script generato di esempio: 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)

  • Causa: tutti i riferimenti di funzione nella colonna calcolata devono avere lo stesso proprietario della tabella.

  • Raccomandazione: vedere Requisiti di proprietà.

Codice errore: Ext_Restore Impostazioni Error

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

  • Causa: la destinazione SQL di Azure non è in grado di connettersi all'archivio BLOB.

  • Raccomandazione: verificare che le impostazioni di rete di destinazione consentano l'accesso all'archiviazione BLOB. Ad esempio, se si esegue la migrazione a un'istanza di SQL Server nella destinazione della macchina virtuale di Azure, assicurarsi che le connessioni in uscita nella macchina virtuale non vengano bloccate.

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

  • Causa: la destinazione SQL di Azure non è in grado di connettersi all'archivio BLOB.

  • Raccomandazione: verificare che le impostazioni di rete di destinazione consentano l'accesso all'archiviazione BLOB. Ad esempio, se si esegue la migrazione alla macchina virtuale SQL, assicurarsi che le connessioni in uscita nella macchina virtuale non vengano bloccate.

  • Messaggio: 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>'.

  • Causa: il backup più recente non è stato specificato nelle impostazioni di backup.

  • Raccomandazione: specificare il nome del file di backup più recente nelle impostazioni di backup e ripetere l'operazione.

  • Messaggio: 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.

  • Causa: è possibile che si verifichi l'errore per entrambi gli account di archiviazione con la rete pubblica e la configurazione dell'endpoint privato. È anche possibile avere un server DNS locale che controlla un routing di rete ibrido e DHCP. A meno che non si consentano gli indirizzi IP di Azure configurati nel server DNS, sql Server nella destinazione della macchina virtuale di Azure non ha la possibilità di risolvere l'endpoint BLOB di archiviazione remota.

  • Raccomandazione: per eseguire il debug di questo problema, è possibile provare a effettuare il ping dell'URL Archiviazione BLOB di Azure dall'istanza di SQL Server nella destinazione della macchina virtuale di Azure e verificare se si è verificato un problema di connettività. Per risolvere questo problema, è necessario consentire gli indirizzi IP di Azure configurati nel server DNS. Per altre informazioni, vedere Risolvere i problemi di connettività dell'endpoint privato di Azure

regole di denominazione Servizio Migrazione del database di Azure

Se il servizio Servizio Migrazione del database non è riuscito con "Errore: il nome del servizio 'x_y_z' non è valido", è necessario seguire le regole di denominazione Servizio Migrazione del database di Azure. Come Servizio Migrazione del database di Azure usa Azure Data factory per il calcolo, segue le stesse regole di denominazione indicate qui.

limitazioni database SQL di Azure

La migrazione a database SQL di Azure usando l'estensione SQL di Azure per Azure Data Studio presenta le limitazioni seguenti:

database SQL di Azure migrazione offline usa pipeline di Azure Data Factory (ADF) per lo spostamento dei dati e pertanto rispetta le limitazioni di Azure Data Factory. Quando viene creato anche un servizio di migrazione del database, viene creato un ADF corrispondente. Di conseguenza, i limiti di factory si applicano per servizio.

  • Il computer in cui è installato shir funge da calcolo per la migrazione. Assicurarsi che questo computer possa gestire il carico di cpu e memoria della copia dei dati. Per altre informazioni, vedere Consigli di SHIR.
  • 100.000 tabelle per limite di database.
  • 10.000 migrazioni simultanee di database per servizio.
  • La velocità di migrazione dipende in larga parte dall'SKU del database SQL di Azure di destinazione e dall'host del runtime di integrazione self-hosted.
  • database SQL di Azure la migrazione si ridimensiona in modo non appropriato con i numeri di tabella a causa del sovraccarico di Azure Data Factory nelle attività iniziali. Se un database ha migliaia di tabelle, il processo di avvio di ogni tabella potrebbe richiedere un paio di secondi, anche se sono composti da una riga con 1 bit di dati.
  • database SQL di Azure nomi di tabella con caratteri a byte doppio non sono attualmente supportati per la migrazione. La mitigazione consiste nel rinominare le tabelle prima della migrazione; possono essere nuovamente modificati con i nomi originali dopo la corretta migrazione.
  • Le tabelle con colonne BLOB di grandi dimensioni potrebbero non riuscire nella migrazione a causa del timeout.
  • I nomi di database con riserva di SQL Server non sono attualmente supportati.
  • I nomi di database che includono punti e virgola non sono attualmente supportati.
  • Le colonne calcolate non vengono migrate.

Limitazioni dell'Istanza gestita di SQL di Azure

La migrazione a Istanza gestita di SQL di Azure usando l'estensione Azure SQL per Azure Data Studio presenta le limitazioni seguenti:

  • Se si esegue la migrazione di un database singolo, i backup del database devono essere inseriti in una struttura di file flat all'interno di una cartella di database (inclusa la cartella radice del contenitore) e le cartelle non possono essere annidate, perché l'annidamento non è supportato.
  • Se si esegue la migrazione di più database usando lo stesso contenitore Archivio BLOB di Azure, è necessario inserire i file di backup per database diversi in cartelle separate all'interno del contenitore.
  • La sovrascrittura dei database esistenti tramite Servizio Migrazione del database nell'Istanza gestita di SQL di Azure di destinazione non è supportata.
  • Il Servizio Migrazione del database non supporta la configurazione della disponibilità elevata e del ripristino di emergenza nella destinazione in modo che corrisponda alla topologia di origine.
  • Gli oggetti server seguenti non sono supportati:
    • SQL Server Agent - processi
    • Credenziali
    • Pacchetti SSIS
    • Controllo server
  • Non è possibile usare un runtime di integrazione self-hosted esistente creato da Azure Data Factory per le migrazioni di database con Servizio Migrazione del database. Inizialmente, il runtime di integrazione self-hosted deve essere creato usando l'estensione di migrazione Azure SQL in Azure Data Studio e può essere riutilizzato per altre migrazioni di database.
  • Un singolo processo di archiviazione con ridondanza locale (creato dal Servizio Migrazione del database) può essere eseguito per un massimo di 30 giorni. Alla scadenza di questo periodo, il processo viene annullato automaticamente, in modo che il database di destinazione venga eliminato automaticamente.
  • Se è stato visualizzato l'errore seguente: Memory-optimized filegroup must be empty in order to be restored on General Purpose tier of SQL Database Managed Instance. Questo problema è per impostazione predefinita, Hekaton (noto anche come OLTP in memoria di SQL Server) non è supportato nel livello Utilizzo generico di Istanza gestita di SQL di Azure. Per continuare la migrazione, un modo consiste nell'eseguire l'aggiornamento al livello Business Critical, che supporta Hekaton. Un altro modo consiste nel assicurarsi che il database di origine non lo usi mentre il Istanza gestita di SQL di Azure è utilizzo generico.

Limitazioni di SQL Server nelle macchine virtuali di Azure

La migrazione a SQL Server in macchine virtuali di Azure tramite l'estensione SQL di Azure per Azure Data Studio presenta le limitazioni seguenti:

  • Se si esegue la migrazione di un database singolo, i backup del database devono essere inseriti in una struttura di file flat all'interno di una cartella di database (inclusa la cartella radice del contenitore) e le cartelle non possono essere annidate, perché non sono supportate.
  • Se si esegue la migrazione di più database usando lo stesso contenitore Archivio BLOB di Azure, è necessario inserire i file di backup per database diversi in cartelle separate all'interno del contenitore.
  • La sovrascrittura di database esistenti tramite Servizio Migrazione del database nella macchina virtuale di destinazione in SQL Server di azure non è supportata.
  • La configurazione della disponibilità elevata e del ripristino di emergenza nella destinazione in modo che corrisponda alla topologia di origine non è supportata dal Servizio Migrazione del database.
  • Gli oggetti server seguenti non sono supportati:
    • SQL Server Agent - processi
    • Credenziali
    • Pacchetti SSIS
    • Controllo server
  • Non è possibile usare un runtime di integrazione self-hosted esistente creato da Azure Data Factory per le migrazioni di database con Servizio Migrazione del database. Inizialmente, il runtime di integrazione self-hosted deve essere creato usando l'estensione di migrazione Azure SQL in Azure Data Studio e può essere riutilizzato per altre migrazioni di database.
  • Le macchine virtuali con SQL Server 2008 e versioni successive come versioni di destinazione non sono supportate durante la migrazione a SQL Server in Azure Macchine virtuali.
  • Se si usa una macchina virtuale con SQL Server 2012 o SQL Server 2014, è necessario archiviare i file di backup del database di origine in un contenitore BLOB Archiviazione di Azure anziché usare l'opzione condivisione di rete. Archiviare i file di backup come BLOB di pagine perché i BLOB in blocchi sono supportati solo in SQL 2016 e versioni successive.
  • È necessario assicurarsi che l'estensione SQL IaaS Agent nella macchina virtuale di Azure di destinazione sia in modalità completa anziché in modalità Lightweight.
  • L'estensione SQL IaaS Agent supporta solo la gestione dell'istanza del server predefinita o di un'istanza denominata singola.
  • Il numero di database di cui è possibile eseguire la migrazione a una macchina virtuale di Sql Server di Azure dipende dalla specifica hardware e dal carico di lavoro, ma non esiste alcun limite applicato. Tuttavia, ogni operazione di migrazione (avvio della migrazione, cutover) per ogni database richiederà alcuni minuti in sequenza. Ad esempio, per eseguire la migrazione di 100 database, potrebbero essere necessari circa 200 (2 x 100) minuti per creare la coda di migrazione e circa 100 (1 x 100) minuti per tagliare tutti i 100 database (esclusi i tempi di backup e ripristino). Pertanto, la migrazione diventerà più lenta man mano che aumenta il numero di database. Microsoft consiglia di pianificare in anticipo una finestra di migrazione più lunga in base a test rigorosi di migrazione o partizionamento di un numero elevato di database in batch durante la migrazione a una macchina virtuale di Azure di SQL Server.
  • Oltre a configurare rete/firewall dell'account Archiviazione di Azure per consentire alla macchina virtuale di accedere ai file di backup. È anche necessario configurare rete/firewall di SQL Server nella macchina virtuale di Azure per consentire la connessione in uscita all'account di archiviazione.
  • È necessario mantenere l'alimentazione di SQL Server di destinazione nella macchina virtuale di Azure mentre è in corso la migrazione SQL. Inoltre, quando si crea una nuova migrazione, si esegue il failover o si annulla la migrazione.
  • Errore: Login failed for user 'NT Service\SQLIaaSExtensionQuery. Motivo: l'istanza di SQL Server è in modalità utente singolo. Un possibile motivo è che SQL Server di destinazione nella macchina virtuale di Azure sia in modalità di aggiornamento. Soluzione: attendere che SQL Server di destinazione nella macchina virtuale di Azure esci dalla modalità di aggiornamento e avvii di nuovo la migrazione.
  • Errore: Ext_RestoreSettingsError, message: Failed to create restore job.;Cannot create file 'F:\data\XXX.mdf' because it already exists. Soluzione: Connessione all'istanza di SQL Server di destinazione nella macchina virtuale di Azure ed eliminare il file XXX.mdf. Avviare quindi di nuovo la migrazione.

Limitazioni di Azure Data Studio

Impossibile avviare Sql Migration Service: Errore: Errore: Errore della richiesta:

  • Messaggio: 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)

  • Causa: questo problema si verifica quando Azure Data Studio non è in grado di scaricare il pacchetto MigrationService da https://github.com/microsoft/sqltoolsservice/releases. L'errore di download può essere dovuto al lavoro di rete disconnesso o alle impostazioni proxy non risolte.

  • Raccomandazione: il modo sicuro per risolvere questo problema consiste nel scaricare manualmente il pacchetto. Seguire i passaggi di mitigazione descritti in questo collegamento: https://github.com/microsoft/azuredatastudio/issues/22558#issuecomment-1496307891