訊息: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.
訊息: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.
原因:SQL VM 還原目前不支援使用全文檢索目錄檔案還原資料庫,因為 Azure SQL Vm 目前不支援它們。
建議:在建立還原時從資料庫中移除全文檢索目錄檔案
訊息: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}'.'
訊息: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.
原因:無法將 SQL Server 備份還原成比建立備份時的版本還舊的 SQL Server 版本。
訊息: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.
訊息: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.)
訊息: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.
訊息: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.'.
訊息: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.'
訊息: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.
訊息: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.
訊息: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
原因:自我裝載整合執行階段無法連線到放置資料庫備份的網路檔案共用。
建議:請確認正確輸入您的網路檔案共用名稱。
訊息: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.
原因:自我裝載整合執行階段無法連線到放置資料庫備份的網路檔案共用。
建議:請確認正確輸入您的網路檔案共用名稱。
訊息:Failed to test connections using provided Integration Runtime.
訊息:Migration for Database <Database> failed in state <state>.
原因:資料移動的 ADF 管線失敗。
建議:查看 MigrationStatusDetails 頁面,獲得更多錯誤詳細資訊。
錯誤碼:2038 - MigrationCompletedDuringCancel
訊息:Migration cannot be canceled as Migration was completed during the cancel process. Target server: <Target server> Target database: <Target database>.
原因:收到取消要求,但在取消之前,移轉已順利完成。
建議:不需要採取任何動作。 移轉已成功。
錯誤碼:2039 - MigrationRetryNotAllowed
訊息:Migration isn't in a retriable state. Migration must be in state WaitForRetry. Current state: <State>, Target server: <Target Server>, Target database: <Target database>.
SELECT [ROLLBACK]
FROM [dbo].[__migration_status]
WHERE STEP IN (3, 4, 6);
SELECT [ROLLBACK]
FROM [dbo].[__migration_status]
WHERE STEP IN (5, 7, 8)
ORDERBY STEP DESC;
錯誤碼:2042 - PreCopyStepsCompletedDuringCancel
訊息: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>.
SELECT [ROLLBACK]
FROM [dbo].[__migration_status]
WHERE STEP IN (3, 4, 6);
錯誤碼:2043 - CreateContainerFailed
訊息: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>.
訊息: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.
建議:為用於 Azure SQL 目標的登入提供 ##MS_ServerStateReader## 角色。
查詢:ALTER SERVER ROLE ##MS_ServerStateReader## ADD MEMBER 登入。
注意:此查詢應在 master DB 的內容中執行
錯誤碼:2056 - SqlInfoValidationFailed
訊息:CollationMismatch: Source database collation <CollationOptionSource> is not the same as the target database <CollationOptionTarget>. Source database: <SourceDatabaseName> Target database: <TargetDatabaseName>.
原因:來源資料庫定序與目標資料庫的定序不同。
建議:務必將目標 Azure SQL Database 定序變更為與來源 SQL Server 資料庫相同的目標。 Azure SQL Database 預設會使用 SQL_Latin1_General_CP1_CI_AS 定序,如果您的來源 SQL Server 資料庫使用不同的定序,您可能需要重新建立或選取其定序相符的不同目標資料庫。 如需詳細資訊,請參定序和 Unicode 支援
訊息:TableColumnCollationMismatch: Table <Tablename> with column <columnname> has collation <collationoptionsource> on source but has collation <collationoptiontarget> on target table.
訊息: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.
訊息: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}.
範例產生的指令碼: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)
訊息:Unable to read blobs in storage container, exception: The remote server returned an error: (403) Forbidden.; The remote server returned an error: (403) Forbidden
原因:Azure SQL 目標無法連線到 Blob 儲存體。
建議:確認目標網路設定允許存取 Blob 儲存體。 例如,如果您要移轉至 Azure VM 目標上的 SQL Server,請確保虛擬機器上的輸出連線不會遭到封鎖。
訊息:Failed to create restore job. Unable to read blobs in storage container, exception: The remote name could not be resolved.
原因:Azure SQL 目標無法連線到 Blob 儲存體。
建議:確認目標網路設定允許存取 Blob 儲存體。 例如,如果移轉至 SQL VM,請確保 VM 上的輸出連線不會遭到封鎖。
訊息: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>'。
原因:未在備份設定中指定最新的備份。
建議:在備份設定中指定最新的備份檔案名稱,然後重試作業。
訊息: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.
原因:具有公用網路和私人端點設定的儲存體帳戶都可能發生該錯誤。 您也可能擁有可控制混合式網路路由和 DHCP 的內部部署 DNS 伺服器。 除非您允許 DNS 伺服器中設定的 Azure IP 位址,否則 Azure VM 目標上的 SQL Server 沒有機會解析遠端儲存體 Blob 端點。
建議:若要對此問題進行偵錯,您可以嘗試從 Azure VM 目標上的 SQL Server Ping 您的 Azure Blob 儲存體 URL,並確認是否有連線問題。 若要解決此問題,您必須允許 DNS 伺服器中設定的 Azure IP 位址。 如需詳細資訊,請參閱針對 Azure 私人端點連線問題進行疑難排解
如果您收到下列錯誤:Memory-optimized filegroup must be empty in order to be restored on General Purpose tier of SQL Database Managed Instance。 此問題為設計使然,Azure SQL 受控執行個體的一般用途層級不支援 Hekaton (也稱為 SQL Server 記憶體內部 OLTP)。 若要繼續移轉,其中一種方式是升級至支援 Hekaton 的業務關鍵層級。 另一種方式是確定在 Azure SQL 受控執行個體為一般用途時,來源資料庫未使用它。
Azure VM 上的 SQL Server 限制
使用適用於 Azure Data Studio 的 Azure SQL 延伸模組來移轉至 Azure VM 上的 SQL Server 時,具有下列限制:
您可以同時使用一或多項移轉將最多 100 個資料庫移轉到與目標相同的 Azure SQL Server 虛擬機器。 此外,一旦具有 100 個資料庫的移轉完成,請等候至少 30 分鐘,再開始將新的移轉至與目標相同的Azure SQL Server 虛擬機器。 此外,每個資料庫的每項移轉作業 (開始移轉、完全移轉) 將按順序需要幾分鐘的時間。 例如,若要移轉 100 個資料庫,建立移轉佇列大約需要 200 (2 x 100) 分鐘的時間,以及完全移轉所有 100 個資料庫大約需要 100 (1 x 100) 分鐘 (排除備份和還原時間)。 因此,隨著資料庫數目增加,移轉會變慢。 Microsoft 建議事先根據嚴格的移轉測試排程較長的移轉時段,或在移轉至 SQL Server Azure VM 時,將大量資料庫分割成批次。
除了設定 Azure 儲存體帳戶的網路/防火牆以允許您的 VM 存取備份檔案。 您也需要設定 Azure VM 上 SQL Server 的網路/防火牆,以允許對儲存體帳戶的輸出連線。
您必須在 SQL 移轉進行時,將 Azure VM 上的目標 SQL Server 保持開啟電源。 此外,在建立新的移轉時,進行容錯移轉或取消移轉。
錯誤:Login failed for user 'NT Service\SQLIaaSExtensionQuery。
原因:SQL Server 執行個體處於單一使用者模式。 其中一個可能的原因是 Azure VM 上的目標 SQL Server 處於升級模式。 解決方案:請等候 Azure VM 上的目標 SQL Server 結束升級模式,然後重新開始移轉。
錯誤:Ext_RestoreSettingsError, message: Failed to create restore job.;Cannot create file 'F:\data\XXX.mdf' because it already exists。 解決方案:連線到 Azure VM 上的目標 SQL Server,並刪除 XXX.mdf 檔案。 然後,再次開始移轉。
Azure Data Studio 限制
無法啟動 SQL 移轉服務︰錯誤︰要求錯誤
訊息: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)