Masalah, batasan, dan pemecahan masalah yang diketahui

Artikel ini menyediakan daftar masalah yang diketahui dan langkah-langkah pemecahan masalah yang terkait dengan ekstensi Migrasi Azure SQL untuk Azure Data Studio.

Penting

Versi terbaru Integration Runtime (5.28.8488) mencegah akses ke berbagi file jaringan di host lokal. Langkah keamanan ini akan menyebabkan kegagalan saat melakukan migrasi ke Azure SQL menggunakan DMS. Pastikan Anda menjalankan Integration Runtime pada komputer yang berbeda dari hosting berbagi jaringan.

Kode kesalahan: 2007 - CutoverFailedOrCancelled

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

  • Penyebab: Kesalahan dapat terjadi karena pencadangan ditempatkan dengan tidak benar di kontainer Azure Storage. Jika cadangan ditempatkan di berbagi file jaringan, kesalahan ini juga dapat terjadi karena masalah konektivitas jaringan.

  • Rekomendasi: Pastikan cadangan database di kontainer Azure Storage Anda sudah benar. Jika Anda menggunakan berbagi file jaringan, mungkin ada masalah terkait jaringan dan jeda yang menyebabkan kesalahan ini. Tunggu hingga proses selesai.

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

  • Penyebab: Pemulihan komputer virtual SQL saat ini tidak mendukung pemulihan database dengan file katalog teks lengkap karena Azure SQL Vm tidak mendukungnya saat ini.

  • Rekomendasi: Menghapus file katalog teks lengkap dari database saat membuat pemulihan

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

  • Penyebab: Kesalahan ini terjadi karena keterbatasan yang diketahui di SqlMi. Ini berarti '{providedFileName}' berbeda dari '{lastRestoredFileName}'. SqlMi akan secara otomatis memulihkan semua file cadangan yang valid dalam kontainer berdasarkan urutan LSN. Kasus kegagalan umum dapat berupa: '{providedFileName}' adalah "log1", tetapi file dalam kontainer memiliki file lain, seperti "log2", yang memiliki nomor LSN terbesar daripada "log1". Dalam hal ini, SqlMi akan secara otomatis memulihkan semua file dalam kontainer. Pada akhir menyelesaikan migrasi, SqlMi akan melaporkan pesan kesalahan ini.

  • Rekomendasi: Untuk mode migrasi offline, harap berikan "lastBackupName" dengan LSN terbesar. Untuk skenario migrasi online, peringatan/kesalahan ini dapat diabaikan jika status migrasi berhasil.

Kode kesalahan: 2009 - MigrationRestoreFailed

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

  • Penyebab: Sebelum memigrasikan data, Anda perlu memigrasikan sertifikat instans SQL Server sumber dari database yang dilindungi oleh Enkripsi Data Transparan (TDE) ke Azure SQL Managed Instance atau SQL Server target di Azure Virtual Machine.

  • Rekomendasi: Migrasikan sertifikat TDE ke instans target dan coba lagi prosesnya. Untuk informasi selengkapnya tentang memigrasikan database yang mendukung TDE, lihat Tutorial: Memigrasikan database yang didukung TDE (pratinjau) ke Azure SQL di Azure Data Studio.

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

  • Penyebab: Tidak dapat memulihkan cadangan SQL Server ke versi SQL Server yang lebih lama daripada versi di mana cadangan dibuat.

  • Rekomendasi: Lihat Masalah yang memengaruhi pemulihan database antara versi SQL Server yang berbeda untuk langkah-langkah pemecahan masalah.

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

  • Penyebab: Azure SQL Managed Instance telah mencapai batas sumber dayanya.

  • Rekomendasi: Untuk informasi selengkapnya tentang batas penyimpanan, lihat Gambaran umum batas sumber daya Azure SQL Managed Instance.

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

  • Penyebab: Salah satu gejala yang tercantum dalam kesalahan OS 1450 dan 665 dilaporkan untuk file database selama DBCC CHECKDB atau Pembuatan Rekam Jepret Database dapat menjadi penyebabnya.

  • Rekomendasi: Lihat kesalahan OS 1450 dan 665 dilaporkan untuk file database selama DBCC CHECKDB atau Pembuatan Rekam Jepret Database untuk langkah-langkah pemecahan masalah.

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

  • Penyebab: Kesalahan dapat terjadi karena pencadangan ditempatkan dengan tidak benar di kontainer Azure Storage. Jika cadangan ditempatkan di berbagi file jaringan, kesalahan ini juga dapat terjadi karena masalah konektivitas jaringan.

  • Rekomendasi: Pastikan cadangan database di kontainer Azure Storage Anda sudah benar. Jika Anda menggunakan berbagi file jaringan, mungkin ada masalah terkait jaringan dan jeda yang menyebabkan kesalahan ini. Tunggu hingga proses selesai.

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

  • Penyebab: Anda telah menentukan nama file logis yang tidak ada dalam cadangan database. Potensi penyebab lain dari kesalahan ini adalah nama kontainer akun penyimpanan yang salah.

  • Rekomendasi: Jalankan RESTORE FILELISTONLY untuk memeriksa nama file logis di cadangan Anda. Untuk informasi selengkapnya tentang RESTORE FILELISTONLY, lihat Pernyataan RESTORE - FILELISTONLY (Transact-SQL).

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

  • Penyebab: Firewall Azure Storage tidak dikonfigurasi untuk mengizinkan akses ke target Azure SQL.

  • Rekomendasi: Untuk informasi selengkapnya tentang penyiapan firewall Azure Storage, lihat Mengonfigurasi firewall Azure Storage dan jaringan virtual.

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

  • Penyebab: Cadangan beberapa database berada di folder kontainer yang sama.

  • Rekomendasi: Jika memigrasikan beberapa database ke Azure SQL Managed Instance menggunakan kontainer Azure Blob Storage yang sama, Anda harus menempatkan file cadangan untuk database yang berbeda di folder terpisah di dalam kontainer. Untuk informasi selengkapnya tentang LRS, lihat Memigrasikan database dari SQL Server ke SQL Managed Instance dengan menggunakan Log Replay Service (Pratinjau).

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

  • Penyebab: Database sumber adalah database mandiri. Konfigurasi tertentu diperlukan untuk mengaktifkan pemulihan database mandiri. Untuk informasi selengkapnya tentang database yang terkandung, lihat Pengguna Database Terkandung.

  • Rekomendasi: Jalankan kueri berikut yang tersambung ke SQL Server sumber dalam konteks database tertentu sebelum memulai migrasi. Kemudian, coba migrasi database yang terkandung lagi.

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

    Catatan

    Untuk informasi selengkapnya tentang langkah-langkah pemecahan masalah umum untuk kesalahan Azure SQL Managed Instance, lihat Masalah umum dengan Azure SQL Managed Instance

Kode kesalahan: 2012 - Test Koneksi ionFailed

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

  • Penyebab: Pengaturan jaringan Anda di firewall menyebabkan Runtime Integrasi yang Dihost sendiri tidak dapat tersambung ke back end layanan.

  • Rekomendasi: Ada masalah Sistem Nama Domain (DNS). Hubungi tim jaringan Anda untuk memperbaiki masalah tersebut. Untuk informasi selengkapnya, lihat Memecahkan Masalah Integration Runtime yang Dihost sendiri.

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

  • Penyebab: Integration Runtime yang Dihost sendiri tidak dapat tersambung ke berbagi file jaringan tempat cadangan database ditempatkan.

  • Rekomendasi: Pastikan nama berbagi file jaringan Anda dimasukkan dengan benar.

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

  • Penyebab: Integration Runtime yang Dihost sendiri tidak dapat tersambung ke berbagi file jaringan tempat cadangan database ditempatkan.

  • Rekomendasi: Pastikan nama berbagi file jaringan Anda dimasukkan dengan benar.

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

  • Penyebab: Koneksi ke Integration Runtime yang Dihost sendiri telah gagal.

  • Rekomendasi: Lihat Memecahkan Masalah Integration Runtime yang Dihost sendiri untuk langkah-langkah pemecahan masalah umum untuk kesalahan konektivitas Integration Runtime.

Kode kesalahan: 2014 - IntegrationRuntimeIsNotOnline

  • Pesan: Integration Runtime <IR Name> in resource group <Resource Group Name> Subscription <SubscriptionID> isn't online.

  • Penyebab: Integration Runtime yang dihost sendiri tidak online.

  • Rekomendasi: Pastikan Integration Runtime yang dihost sendiri terdaftar dan online. Untuk melakukan pendaftaran, Anda dapat menggunakan skrip dari Mengotomatiskan penginstalan runtime integrasi yang dihost sendiri menggunakan skrip PowerShell lokal. Selain itu, lihat Memecahkan masalah runtime integrasi yang dihost sendiri untuk langkah-langkah pemecahan masalah umum untuk kesalahan konektivitas Integration Runtime.

Kode kesalahan: 2030 - AzureSQLManagedInstanceNotReady

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

  • Penyebab: Azure SQL Managed Instance tidak dalam status siap.

  • Rekomendasi: Tunggu hingga Azure SQL Managed Instance selesai disebarkan dan siap, lalu coba lagi prosesnya.

Kode kesalahan: 2033 - SqlDataCopyFailed

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

  • Penyebab: Alur ADF untuk pergerakan data gagal.

  • Rekomendasi: Periksa halaman MigrationStatusDetails untuk informasi kesalahan yang lebih rinci.

Kode kesalahan: 2038 - MigrationCompletedDuringCancel

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

  • Penyebab: Permintaan pembatalan diterima, tetapi migrasi berhasil diselesaikan sebelum pembatalan selesai.

  • Rekomendasi: Tidak ada tindakan yang diperlukan. Migrasi berhasil.

Kode kesalahan: 2039 - MigrationRetryNotAllowed

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

  • Penyebab: Permintaan coba lagi diterima saat migrasi tidak dalam status memungkinkan coba lagi.

  • Rekomendasi: Tidak ada tindakan yang diperlukan. Migrasi sedang berlangsung atau selesai.

Kode kesalahan: 2040 - MigrationTimeoutWaitingForRetry

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

  • Penyebab: Migrasi diam dalam keadaan gagal, tetapi dapat diambil selama 8 jam dan dibatalkan secara otomatis.

  • Rekomendasi: Tidak ada tindakan yang diperlukan; migrasi dibatalkan.

Kode kesalahan: 2041 - DataCopyCompletedDuringCancel

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

  • Penyebab: Permintaan pembatalan diterima, dan salinan data berhasil diselesaikan, tetapi skema database target belum dikembalikan ke status aslinya.

  • Rekomendasi: Jika diinginkan, database target dapat dikembalikan ke status aslinya dengan menjalankan kueri pertama dan semua kueri yang dikembalikan, lalu menjalankan kueri kedua dan melakukan hal yang sama.

    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;
    

Kode kesalahan: 2042 - PreCopyStepsCompletedDuringCancel

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

  • Penyebab: Permintaan pembatalan diterima dan langkah-langkah untuk menyiapkan database target untuk salinan berhasil diselesaikan. Skema database target belum dikembalikan ke status aslinya.

  • Rekomendasi: Jika diinginkan, database target dapat dikembalikan ke status aslinya dengan menjalankan kueri berikut dan semua kueri yang dikembalikan.

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

Kode kesalahan: 2043 - CreateContainerFailed

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

  • Penyebab: Permintaan gagal karena masalah yang mendasarinya seperti konektivitas jaringan, kegagalan DNS, validasi sertifikat server, atau waktu habis.

  • Rekomendasi: Untuk langkah-langkah pemecahan masalah selengkapnya, lihat Memecahkan masalah alur Azure Data Factory dan Synapse.

Kode kesalahan: 2049 - FileShareTest Koneksi ionFailed

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

  • Penyebab: Berbagi jaringan tempat cadangan database disimpan berada di komputer yang sama dengan Integration Runtime (SHIR) yang dihost sendiri.

  • Rekomendasi: Versi terbaru Integration Runtime (5.28.8488) mencegah akses ke berbagi file jaringan di host lokal. Pastikan Anda menjalankan Integration Runtime pada komputer yang berbeda dari hosting berbagi jaringan. Jika menghosting Integration Runtime yang dihost sendiri dan berbagi jaringan di komputer yang berbeda tidak dimungkinkan dengan penyiapan migrasi Anda saat ini, Anda dapat menggunakan opsi untuk memilih keluar menggunakan DisableLocalFolderPathValidation.

    Catatan

    Untuk informasi selengkapnya, lihat Menyiapkan IR yang dihost sendiri yang sudah ada melalui PowerShell lokal. Gunakan opsi menonaktifkan dengan kebijaksanaan karena ini kurang aman.

Kode kesalahan: 2056 - SqlInfoValidationFailed

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

  • Penyebab: Kolase database sumber tidak sama dengan kolase database target.

  • Rekomendasi: Pastikan untuk mengubah kolase Azure SQL Database target menjadi sama dengan database SQL Server sumber. Azure SQL Database menggunakan SQL_Latin1_General_CP1_CI_AS kolase secara default, jika database SQL Server sumber Anda menggunakan kolase yang berbeda, Anda mungkin perlu membuat ulang atau memilih database target lain yang kolasenya cocok. Untuk informasi selengkapnya, lihat Dukungan Kolate dan Unicode

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

  • Penyebab: Kolase kolom tabel database sumber tidak sama dengan kolase kolom tabel database target.

  • Rekomendasi:

    1. Pastikan untuk memigrasikan Skema untuk menargetkan Azure SQL Database menggunakan Database Migration Service. Lihat blog.
    2. Ikuti artikel ini untuk mengubah kolake secara manual. Untuk informasi selengkapnya, lihat Dukungan Kolate dan Unicode
  • Pesan: DatabaseSizeMoreThanMax: No tables were found in the target Azure SQL Database. Check if schema migration was completed beforehand.

  • Penyebab: Tabel yang dipilih untuk migrasi tidak ada di Azure SQL Database target.

  • Rekomendasi: Pastikan skema database target dibuat sebelum memulai migrasi. Untuk informasi selengkapnya tentang cara menyebarkan skema database target, lihat Ekstensi Proyek SQL Database

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

  • Penyebab: Database target tidak memiliki cukup ruang.

  • Rekomendasi: Pastikan skema database target dibuat sebelum memulai migrasi. Untuk informasi selengkapnya tentang cara menyebarkan skema database target, lihat Ekstensi Proyek SQL Database.

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

  • Penyebab: Tabel yang dipilih untuk migrasi tidak ada di Azure SQL Database target.

  • Rekomendasi: Periksa apakah tabel yang dipilih ada di Azure SQL Database target. Jika migrasi ini dipanggil dari skrip PowerShell, periksa apakah parameter daftar tabel menyertakan nama tabel yang benar dan diteruskan ke dalam migrasi.

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

  • Penyebab: Azure Database Migration Service tidak mendukung migrasi dari instans SQL Server yang lebih rendah dari 2008.

  • Rekomendasi: Tingkatkan instans SQL Server sumber Anda ke versi SQL Server yang lebih baru. Untuk informasi selengkapnya, lihat Meningkatkan SQL Server.

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

  • Penyebab: Tabel yang dipilih untuk migrasi tidak ada di Azure SQL Database target.

  • Rekomendasi: Periksa apakah tabel yang dipilih ada di Azure SQL Database target. Jika migrasi ini dipanggil dari skrip PowerShell, periksa apakah parameter daftar tabel menyertakan nama tabel yang benar dan diteruskan ke dalam migrasi.

Kode kesalahan: 2060 - SqlSchemaCopyFailed

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

  • Penyebab: Akun yang digunakan pelanggan untuk menyambungkan Azure SQL Database tidak memiliki izin untuk mengakses sys.sql_logins tabel.

  • Rekomendasi: Ada dua cara untuk mengurangi masalah:

    1. Tambahkan peran 'sysadmin' ke akun, yang memberikan izin admin.

    2. Jika pelanggan tidak dapat menggunakan akun sysadmin atau tidak dapat memberikan izin sysadmin ke akun, maka izin minimum pada sumber SQL Server yang diperlukan adalah "db_owner" dan pada target Azure SQL DB membuat pengguna di master dan memberikan ##MS_DatabaseManager##,#MS_Database Koneksi or##, ##MS_DefinitionReader## dan ##MS_LoginManager## peran server tetap kepada pengguna. Contohnya,

      -- 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';
      
  • Pesan: Failed to get service token from ADF service.

  • Penyebab: SHIR pelanggan gagal menghubungkan pabrik data.

  • Rekomendasi: Ini adalah contoh dokumen cara menyelesaikannya: Runtime integrasi Tidak dapat tersambung ke Data Factory

  • Pesan: IR Nodes are offline.

  • Penyebab: Penyebabnya mungkin jaringan terganggu selama migrasi dan dengan demikian simpul IR menjadi offline. Pastikan bahwa komputer tempat SHIR diinstal menyala.

  • Rekomendasi: Pastikan komputer tempat SHIR dipasang.

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

  • Penyebab: Ini adalah kesalahan paling umum yang mungkin ditemui pelanggan. Ini berarti bahwa objek tidak dapat disebarkan ke target karena tidak didukung pada target.

  • Rekomendasi: Pelanggan perlu memeriksa hasil penilaian (Aturan penilaian). Ini adalah daftar masalah penilaian yang mungkin gagal dalam migrasi skema:

    SISIPAN MASSAL

    Klausa KOMPUTASI

    Penyedia kriptografi

    Referensi lintas database

    Alias utama database

    opsi DISABLE_DEF_CNST_CHK

    Petunjuk FASTFIRSTROW

    FILESTREAM

    MS DTC

    OPENROWSET (massal)

    OPENROWSET (penyedia)

    Catatan

    Untuk melihat detail kesalahan, Buka manajer konfigurasi runtime Integrasi Microsoft, dan navigasikan ke log Tampilan Pengelogan >> Diagnostik. Di penampil Peristiwa, navigasikan ke log > Aplikasi dan Layanan Koneksi or - Runtime integrasi, dan filter untuk kesalahan.

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

    Sampel Skrip yang Dihasilkan: 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)

  • Penyebab: Semua referensi fungsi di kolom komputasi harus memiliki pemilik yang sama dengan tabel.

  • Rekomendasi: Lihat Persyaratan Kepemilikan.

Kode kesalahan: Ext_Restore Pengaturan Error

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

  • Penyebab: Target Azure SQL tidak dapat tersambung ke penyimpanan blob.

  • Rekomendasi: Konfirmasikan bahwa pengaturan jaringan target mengizinkan akses ke penyimpanan blob. Misalnya, jika Anda bermigrasi ke SQL Server pada target Azure VM, pastikan bahwa koneksi keluar pada Komputer Virtual tidak diblokir.

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

  • Penyebab: Target Azure SQL tidak dapat tersambung ke penyimpanan blob.

  • Rekomendasi: Konfirmasikan bahwa pengaturan jaringan target mengizinkan akses ke penyimpanan blob. Misalnya, jika bermigrasi ke komputer virtual SQL, pastikan bahwa koneksi keluar pada VM tidak diblokir.

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

  • Penyebab: Cadangan terbaru tidak ditentukan dalam pengaturan cadangan.

  • Rekomendasi: Tentukan nama file cadangan terbaru dalam pengaturan cadangan dan coba lagi operasi.

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

  • Penyebab: Kesalahan dimungkinkan terjadi untuk akun penyimpanan dengan jaringan publik dan konfigurasi titik akhir privat. Anda juga dapat memiliki server DNS lokal yang mengontrol perutean jaringan hibrid dan DHCP. Kecuali Anda mengizinkan alamat IP Azure yang dikonfigurasi di server DNS Anda, target SQL Server di Azure VM Anda tidak memiliki kesempatan untuk menyelesaikan titik akhir blob penyimpanan jarak jauh.

  • Rekomendasi: Untuk men-debug masalah ini, Anda dapat mencoba melakukan ping URL Azure Blob Storage dari SQL Server Anda pada target Azure VM dan mengonfirmasi apakah Anda memiliki masalah konektivitas. Untuk mengatasi masalah ini, Anda harus mengizinkan alamat IP Azure yang dikonfigurasi di server DNS Anda. Untuk informasi selengkapnya, lihat Memecahkan masalah konektivitas Titik Akhir Privat Azure

Kode kesalahan: Tidak ada kesalahan urlopen OR yang diketahui [Errno 11001] getaddrinfo gagal

  • Pesan: No such host is known

  • Penyebab: Saat memigrasikan login menggunakan perintah PowerShell New-AzDataMigrationLoginsMigration, itu gagal dengan pesan sebelumnya.

  • Rekomendasi: Untuk mengatasi masalah ini, tingkatkan cmdlet Microsoft Azure PowerShell - Database Migration Service - Az.DataMigration di atas versi minimum 0.14.5. Versi terbaru Az.Datamigration dapat diunduh dari galeri PowerShell atau perintah berikut dapat digunakan untuk meningkatkan.

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

  • Penyebab: Saat memigrasikan login menggunakan azure CLI Az dataMigration login-migration, dataMigration gagal dengan pesan sebelumnya.

  • Rekomendasi: Untuk mengatasi masalah ini, tingkatkan ekstensi Microsoft Azure CLI - Database Migration Service - az dataMigration ke 1.0.0b1 atau versi yang lebih baru. Jalankan perintah berikut untuk meningkatkan.

 az extension update -n datamigration

Aturan Penamaan Azure Database Migration Service

Jika layanan DMS Anda gagal dengan "Kesalahan: Nama layanan 'x_y_z' tidak valid", maka Anda perlu mengikuti Aturan Penamaan Azure Database Migration Service. Karena Azure Database Migration Service menggunakan Azure Data Factory untuk komputasinya, azure Database Migration Service mengikuti aturan penamaan yang sama persis seperti yang disebutkan di sini.

Batasan Azure SQL Database

Migrasi ke Azure SQL Database dengan menggunakan ekstensi Azure SQL untuk Azure Data Studio memiliki batasan berikut:

Migrasi offline Azure SQL Database menggunakan alur Azure Data Factory (ADF) untuk pergerakan data dan dengan demikian mematuhi batasan ADF. ADF terkait dibuat saat layanan migrasi database juga dibuat. Dengan demikian batas pabrik berlaku per layanan.

  • Komputer tempat SHIR diinstal bertindak sebagai komputasi untuk migrasi. Pastikan komputer ini dapat menangani beban cpu dan memori salinan data. Untuk mempelajari lebih lanjut, tinjau rekomendasi SHIR.
  • 100.000 tabel per batas database.
  • 10.000 migrasi database bersamaan per layanan.
  • Kecepatan migrasi sangat tergantung pada target SKU Azure SQL Database dan host Integration Runtime yang dihost sendiri.
  • Migrasi Azure SQL Database menskalakan dengan buruk dengan nomor tabel karena overhead ADF dalam memulai aktivitas. Jika database memiliki ribuan tabel, proses startup setiap tabel mungkin memakan waktu beberapa detik, bahkan jika terdiri dari satu baris dengan 1 bit data.
  • Nama tabel Azure SQL Database dengan karakter byte ganda saat ini tidak didukung untuk migrasi. Mitigasi adalah mengganti nama tabel sebelum migrasi; mereka dapat diubah kembali ke nama aslinya setelah migrasi berhasil.
  • Tabel dengan kolom blob besar mungkin gagal bermigrasi karena waktu habis.
  • Nama database dengan SQL Server yang dicadangkan saat ini tidak didukung.
  • Nama database yang menyertakan titik koma saat ini tidak didukung.
  • Kolom komputasi tidak dimigrasikan.

Batasan Azure SQL Managed Instance

Migrasi ke Azure SQL Managed Instance dengan menggunakan ekstensi Azure SQL untuk Azure Data Studio memiliki batasan berikut:

  • Jika memigrasikan database tunggal, cadangan database harus ditempatkan dalam struktur file datar di dalam folder database (termasuk direktori akar kontainer), dan folder tidak dapat disarangkan, karena tidak didukung.
  • Jika memigrasi beberapa database menggunakan kontainer Azure Blob Storage yang sama, Anda harus menempatkan file cadangan untuk database yang berbeda di folder terpisah di dalam kontainer.
  • Menimpa database yang ada menggunakan DMS di Azure SQL Managed Instance target tidak didukung.
  • DMS tidak mendukung konfigurasi ketersediaan tinggi dan pemulihan bencana pada target Anda agar sesuai dengan topologi sumber.
  • Objek server berikut ini tidak didukung:
    • Pekerjaan SQL Server Agent
    • Kredensial
    • Paket SSIS
    • Audit server
  • Anda tidak dapat menggunakan runtime integrasi yang dihost sendiri yang ada yang dibuat dari Azure Data Factory untuk migrasi database dengan DMS. Awalnya, runtime integrasi yang dihost sendiri harus dibuat menggunakan ekstensi migrasi Azure SQL di Azure Data Studio dan dapat digunakan kembali untuk migrasi database lebih lanjut.
  • Satu pekerjaan LRS (dibuat oleh DMS) dapat berjalan selama maksimal 30 hari. Ketika periode ini berakhir, pekerjaan secara otomatis dibatalkan sehingga database target Anda dihapus secara otomatis.
  • Jika Anda menerima kesalahan berikut: Memory-optimized filegroup must be empty in order to be restored on General Purpose tier of SQL Database Managed Instance. Masalah ini didesain, Hekaton (juga dikenal sebagai SQL Server In-Memory OLTP) tidak didukung pada tingkat Tujuan Umum Azure SQL Managed Instance. Untuk melanjutkan migrasi, salah satu caranya adalah dengan meningkatkan ke tingkat Business Critical, yang mendukung Hekaton. Cara lain adalah memastikan database sumber tidak menggunakannya sementara Azure SQL Managed Instance adalah Tujuan Umum.

Batasan SQL Server di Azure VM

Migrasi ke SQL Server di Azure VM dengan menggunakan ekstensi Azure SQL untuk Azure Data Studio memiliki batasan berikut:

  • Jika memigrasikan database tunggal, cadangan database harus ditempatkan dalam struktur file datar di dalam folder database (termasuk folder akar kontainer), dan folder tidak dapat ditumpuk, karena tidak didukung.
  • Jika memigrasi beberapa database menggunakan kontainer Azure Blob Storage yang sama, Anda harus menempatkan file cadangan untuk database yang berbeda di folder terpisah di dalam kontainer.
  • Menimpa database yang ada menggunakan DMS di SQL Server target Anda di Azure Virtual Machine tidak didukung.
  • Mengonfigurasi ketersediaan tinggi dan pemulihan bencana pada target Anda agar sesuai dengan topologi sumber tidak didukung oleh DMS.
  • Objek server berikut ini tidak didukung:
    • Pekerjaan SQL Server Agent
    • Kredensial
    • Paket SSIS
    • Audit server
  • Anda tidak dapat menggunakan runtime integrasi yang dihost sendiri yang ada yang dibuat dari Azure Data Factory untuk migrasi database dengan DMS. Awalnya, runtime integrasi yang dihost sendiri harus dibuat menggunakan ekstensi migrasi Azure SQL di Azure Data Studio dan dapat digunakan kembali untuk migrasi database lebih lanjut.
  • VM dengan SQL Server 2008 ke bawah karena versi target tidak didukung saat bermigrasi ke SQL Server di Azure Virtual Machines.
  • Jika Anda menggunakan VM dengan SQL Server 2012 atau SQL Server 2014, Anda perlu menyimpan file cadangan database sumber Anda pada Kontainer Blob Azure Storage alih-alih menggunakan opsi berbagi jaringan. Simpan file cadangan sebagai blob halaman karena blob blok hanya didukung di SQL 2016 dan setelahnya.
  • Anda harus memastikan Ekstensi Agen IaaS SQL di Azure Virtual Machine target dalam mode Penuh alih-alih mode Ringan.
  • Ekstensi Agen IaaS SQL hanya mendukung manajemen Instans Server Default atau Instans Bernama Tunggal.
  • Jumlah database yang dapat Anda migrasikan ke server SQL Azure Virtual Machine tergantung pada spesifikasi perangkat keras dan beban kerja, tetapi tidak ada batas yang diberlakukan. Namun, setiap operasi migrasi (mulai migrasi, cutover) untuk setiap database akan memakan waktu beberapa menit secara berurutan. Misalnya, untuk memigrasikan 100 database, mungkin perlu waktu sekitar 200 (2 x 100) menit untuk membuat antrean migrasi dan sekitar 100 (1 x 100) menit untuk memotong semua 100 database (tidak termasuk waktu pencadangan dan pemulihan). Oleh karena itu, migrasi akan menjadi lebih lambat saat jumlah database meningkat. Microsoft menyarankan penjadwalan jendela migrasi yang lebih lama terlebih dahulu berdasarkan pengujian migrasi yang ketat atau mempartisi sejumlah besar database ke dalam batch saat memigrasikannya ke azure VM server SQL.
  • Selain mengonfigurasi Jaringan/Firewall Akun Azure Storage Anda untuk memungkinkan VM Anda mengakses file cadangan. Anda juga perlu mengonfigurasi Jaringan/Firewall SQL Server Anda di Azure VM untuk mengizinkan koneksi keluar ke akun penyimpanan Anda.
  • Anda perlu menjaga SQL Server target tetap aktif di Komputer Virtual Azure saat Migrasi SQL sedang berlangsung. Selain itu, saat membuat migrasi baru, failover, atau membatalkan migrasi.
  • Eror: Login failed for user 'NT Service\SQLIaaSExtensionQuery. Alasan: Instans SQL Server berada dalam mode pengguna tunggal. Salah satu kemungkinan alasannya adalah target SQL Server di Azure VM berada dalam mode peningkatan. Solusi: Harap tunggu SQL Server target di Azure VM keluar dari mode peningkatan dan mulai migrasi lagi.
  • Eror: Ext_RestoreSettingsError, message: Failed to create restore job.;Cannot create file 'F:\data\XXX.mdf' because it already exists. Solusi: Koneksi ke SQL Server target di Azure VM dan hapus file XXX.mdf. Kemudian, mulai migrasi lagi.

Batasan Azure Data Studio

Gagal memulai Layanan Migrasi Sql: Kesalahan: Kesalahan permintaan:

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

  • Penyebab: Masalah ini terjadi saat Azure Data Studio tidak dapat mengunduh paket MigrationService dari https://github.com/microsoft/sqltoolsservice/releases. Kegagalan pengunduhan dapat disebabkan oleh pekerjaan jaringan yang terputus atau pengaturan proksi yang tidak terselesaikan.

  • Rekomendasi: Cara yang pasti untuk memecahkan masalah ini adalah dengan mengunduh paket secara manual. Ikuti langkah-langkah mitigasi yang diuraikan dalam tautan ini: https://github.com/microsoft/azuredatastudio/issues/22558#issuecomment-1496307891