All Products
Search
Document Center

ApsaraDB RDS:Migrasikan data dari database SQL Server yang dikelola sendiri ke instans ApsaraDB RDS untuk SQL Server

Last Updated:Mar 18, 2026

Topik ini menjelaskan cara memigrasikan data dari database SQL Server yang dikelola sendiri ke instans Alibaba Cloud ApsaraDB RDS for SQL Server menggunakan Konsol Data Transmission Service (DTS). Anda dapat mengonfigurasi migrasi skema, migrasi data penuh, dan migrasi data inkremental secara fleksibel. Ketika ketiga jenis migrasi ini dikonfigurasikan bersama, Anda dapat memigrasikan data tanpa gangguan layanan.

Prasyarat

Anda telah membuat instans tujuan ApsaraDB RDS for SQL Server dengan ruang penyimpanan lebih besar daripada database sumber. Jika ruang tidak mencukupi, Anda perlu meningkatkan ruang instans terlebih dahulu.

Catatan penggunaan

Harap perhatikan catatan kunci berikut sebelum migrasi, mengabaikannya dapat menyebabkan kegagalan tugas atau kesalahan:

  • Batas jumlah database: Tugas migrasi tunggal tidak dapat memigrasikan lebih dari 10 database. Jika tidak, risiko stabilitas dan performa mungkin terjadi.

  • Batas jumlah tabel: Saat migrasi inkremental disertakan, jumlah tabel yang akan disinkronkan dari database sumber tidak boleh melebihi 1.000. Jika tidak, penundaan tugas atau ketidakstabilan mungkin terjadi.

  • Pembatasan operasi database sumber: Selama fase migrasi skema dan migrasi penuh, jangan jalankan operasi DDL (seperti memodifikasi struktur database atau tabel). Jika tidak, tugas akan gagal.

  • Persyaratan struktur tabel: Tabel yang akan dimigrasikan harus memiliki kunci utama atau kendala unik, dan bidang harus unik. Jika tidak, data duplikat mungkin muncul di database tujuan.

  • Kunci asing dan pemicu: Jika tugas migrasi mencakup migrasi data inkremental, Anda perlu menonaktifkan pemicu dan kunci asing yang telah diaktifkan di database tujuan. Jika tidak, tugas mungkin gagal atau data hilang.

  • Standar nama database: Jika nama database yang akan dimigrasikan tidak sesuai dengan standar definisi RDS SQL Server, Anda perlu membuat database secara manual di RDS SQL Server terlebih dahulu. Jika tidak, tugas mungkin tidak berjalan dengan benar.

  • Waktu retensi log data: Tugas migrasi inkremental memerlukan log data sumber untuk disimpan selama lebih dari 24 jam. Tugas migrasi penuh + inkremental memerlukan log data disimpan setidaknya selama 7 hari. Jika tidak, tugas mungkin gagal atau inkonsistensi data mungkin terjadi.

Klik untuk memperluas dan melihat semua batasan dan catatan

Batasan database sumber

  • Persyaratan Bandwidth

    Server database sumber harus memiliki bandwidth keluar yang memadai; jika tidak, laju migrasi data akan terpengaruh.

  • Persyaratan Struktur Tabel

    Tabel yang akan dimigrasikan harus memiliki kunci utama atau batasan unik, serta bidang yang bersifat unik. Jika tidak, data duplikat dapat muncul di database tujuan.

  • Batasan jumlah migrasi:

    • Migrasi tingkat tabel (dengan pemetaan nama kolom): Satu tugas mendukung maksimal 1.000 tabel. Jika batas ini terlampaui, Anda perlu membagi tugas atau mengonfigurasi migrasi tingkat database. Jika tidak, kesalahan permintaan akan terjadi.

    • Batas jumlah database: Satu tugas mendukung maksimal 10 database. Jika batas ini terlampaui, Anda perlu membagi tugas. Jika tidak, masalah stabilitas dan kinerja akan terjadi.

  • Persyaratan log migrasi inkremental:

    • Log data harus diaktifkan, mode cadangan disetel ke FULL, dan cadangan relevan telah dilakukan.

    • Durasi penyimpanan log data: Tugas migrasi inkremental memerlukan log data dari database sumber disimpan selama lebih dari 24 jam. Tugas migrasi penuh + inkremental memerlukan log data disimpan setidaknya selama 7 hari. Jika tidak, tugas mungkin gagal atau ketidaksesuaian data dapat terjadi.

      Penting

      Jika masalah terjadi karena Anda menyetel durasi penyimpanan log data lebih rendah daripada waktu yang diperlukan oleh DTS, situasi seperti itu tidak akan dicakup oleh Perjanjian Tingkat Layanan (SLA) DTS.

  • Kondisi Pengaktifan CDC

    CDC harus diaktifkan untuk tabel yang akan dimigrasikan dari database sumber agar memenuhi kondisi berikut. Jika tidak, Pemeriksaan Awal akan gagal:

    • Bidang srvname dalam tampilan sys.sysservers harus konsisten dengan nilai kembali fungsi SERVERPROPERTY.

    • Jika database sumber adalah SQL Server yang dikelola sendiri, pemilik database harus sa.

    • Persyaratan versi database sumber:

      • Edisi Perusahaan: Harus versi 2008 atau lebih baru.

      • Edisi Standar: Harus versi 2016 SP1 atau lebih baru.

      • Versi SQL Server 2017 (termasuk Edisi Standar dan Perusahaan): Peningkatan versi direkomendasikan.

  • Waktu Pembersihan Log

    DTS memperoleh log database sumber melalui fungsi fn_log, yang dapat menimbulkan hambatan kinerja. Hindari membersihkan log database sumber terlalu dini guna mencegah kegagalan tugas.

Batasan lainnya

  • Tipe data tidak didukung

    Migrasi untuk tipe data CURSOR, ROWVERSION, SQL_VARIANT, HIERARCHYID, POLYGON, GEOMETRY, dan GEOGRAPHY tidak didukung.

  • Batasan migrasi inkremental lainnya:

    • Operasi pembangunan ulang indeks tidak didukung. Jika tidak, kegagalan tugas atau kehilangan data mungkin terjadi. Tabel dengan CDC diaktifkan tidak mendukung perubahan terkait kunci utama.

    • Jika jumlah tabel dengan CDC diaktifkan dalam satu tugas melebihi batas maksimum yang didukung oleh DTS, pemeriksaan awal akan gagal.

    • Jika instans mencakup tugas inkremental dan tabel CDC perlu menulis data lapangan tunggal melebihi 64 KB, Anda perlu menggunakan exec sp_configure 'max text repl size', -1; untuk menyesuaikan konfigurasi database sumber sebelumnya. Panjang pemrosesan maksimum default pekerjaan CDC untuk satu lapangan adalah 64 KB.

  • Batasan Database Tujuan

    Jika migrasi inkremental diperlukan, nonaktifkan pemicu dan kunci asing yang diaktifkan di database tujuan. Jika tidak, tugas migrasi akan gagal.

  • Beberapa instans migrasi

    Beberapa instans migrasi yang menggunakan database SQL Server yang sama sebagai sumber memiliki modul pengumpulan data inkremental yang independen.

  • Pemulihan instans:

    • Jika sebuah instans gagal berjalan, personel dukungan teknis DTS akan mencoba memulihkannya dalam waktu 8 jam.

    • Selama proses pemulihan, instans mungkin di-restart atau parameter mungkin disesuaikan, tetapi hanya parameter instans yang akan dimodifikasi, bukan parameter database.

Catatan

  • Catatan untuk fase migrasi skema dan migrasi penuh:

    • Pembatasan operasi DDL: Operasi DDL yang mengubah struktur database atau tabel dilarang selama fase migrasi skema dan migrasi penuh. Jika tidak, tugas migrasi data akan gagal.

    • Pembatasan instans hanya baca: Jika database sumber adalah instans hanya baca, migrasi operasi DDL tidak didukung.

    • Pembatasan DDL dalam mode penguraian log hybrid: Database sumber tidak mendukung eksekusi berkelanjutan dari beberapa operasi penambahan/penghapusan kolom (interval waktu kurang dari 10 menit). Sebagai contoh, secara terus-menerus mengeksekusi SQL berikut akan menyebabkan kesalahan tugas:

      ALTER TABLE test_table DROP COLUMN Flag;
      ALTER TABLE test_table ADD Remark nvarchar(50) not null default('');
  • Migrasi lintas versi: Jika migrasi lintas versi diperlukan, harap konfirmasikan kompatibilitas terlebih dahulu.

    Jika migrasi lintas versi diperlukan, pastikan untuk memverifikasi kompatibilitas terlebih dahulu.

  • Operasi DTS di database sumber:

    • Penguraian log sumber untuk mode sinkronisasi inkremental: DTS membuat pemicu dts_cdc_sync_ddl, tabel detak jantung dts_sync_progress, dan tabel penyimpanan DDL dts_cdc_ddl_history di database sumber.

    • Mode sinkronisasi inkremental hybrid: DTS membuat pemicu dts_cdc_sync_ddl, tabel detak jantung dts_sync_progress, dan tabel penyimpanan DDL dts_cdc_ddl_history di database sumber. Ini juga mengaktifkan CDC tingkat database dan CDC tabel parsial. Disarankan agar volume perubahan data tabel dengan CDC diaktifkan di sumber tidak melebihi 1.000 catatan per detik (RPS).

  • Konsistensi data dan stabilitas migrasi:

    • Konsistensi data selama migrasi data penuh: Jika Anda hanya melakukan migrasi data penuh, jangan menulis data baru ke instans sumber. Jika tidak, itu akan menyebabkan ketidaksesuaian antara data sumber dan tujuan. Disarankan untuk memilih migrasi skema, migrasi data penuh, dan migrasi data inkremental untuk menjaga konsistensi real-time.

    • Persyaratan parameter mode pemrosesan transaksi: Disarankan untuk memastikan bahwa parameter mode pemrosesan transaksi READ_COMMITTED_SNAPSHOT dari database sumber diaktifkan selama tugas migrasi data penuh untuk menghindari dampak kunci bersama pada penulisan data. Jika tidak, itu dapat menyebabkan ketidaksesuaian data, kegagalan instans berjalan, dan situasi abnormal lainnya. Situasi abnormal yang disebabkan oleh hal ini tidak dicakup oleh SLA DTS.

    • Mekanisme pemulihan tugas: DTS akan mencoba memulihkan tugas migrasi yang gagal dalam waktu tujuh hari. Oleh karena itu, sebelum beralih bisnis ke instans tujuan, harap akhiri atau lepaskan tugas, atau cabut izin tulis akses DTS ke akun instans tujuan menggunakan perintah REVOKE untuk mencegah data sumber menimpa data instans tujuan setelah tugas dipulihkan secara otomatis.

  • Catatan kinerja dan sumber daya:

    • Penilaian pra-migrasi: Evaluasi kinerja database sumber dan tujuan sebelum migrasi, dan disarankan untuk melakukan migrasi selama jam-jam sepi bisnis.

    • Penggunaan sumber daya selama migrasi: Selama migrasi penuh, DTS akan menggunakan sumber daya baca dan tulis dari database sumber dan tujuan, yang dapat menyebabkan beban database meningkat.

    • Perubahan ruang penyimpanan setelah migrasi: Setelah migrasi penuh selesai, ruang penyimpanan tabel di database tujuan mungkin lebih besar daripada di database sumber karena fragmentasi yang meningkat akibat operasi INSERT bersamaan.

  • Deskripsi Presisi Kolom FLOAT dan DOUBLE

    Harap konfirmasikan apakah presisi migrasi DTS untuk kolom dengan tipe data FLOAT atau DOUBLE memenuhi kebutuhan bisnis Anda. DTS membaca nilai kedua jenis kolom tersebut melalui ROUND(COLUMN,PRECISION). Jika presisi tidak didefinisikan secara eksplisit, DTS menggunakan presisi migrasi sebesar 38 digit untuk FLOAT dan 308 digit untuk DOUBLE.

  • Standar Nama Database

    Jika nama database yang akan dimigrasikan tidak memenuhi standar definisi RDS SQL Server, Anda perlu membuat database secara manual di RDS SQL Server terlebih dahulu. Jika tidak, tugas migrasi mungkin tidak berjalan dengan benar.

Penagihan

Jenis migrasi

Biaya konfigurasi instans

Biaya lalu lintas internet

Migrasi skema dan migrasi data penuh

Tidak dikenakan biaya.

Ketika parameter Access Method dari database tujuan diatur ke Public IP Address, Anda akan dikenakan biaya untuk lalu lintas internet. Untuk informasi lebih lanjut, lihat Ikhtisar Penagihan.

Migrasi data inkremental

Dikenakan biaya. Untuk informasi lebih lanjut, lihat Ikhtisar Penagihan.

Izin yang diperlukan untuk akun database

Untuk berhasil menyelesaikan tugas migrasi data, pastikan akun database dari database sumber dan tujuan memiliki izin berikut:

Catatan

Database

Migrasi skema

Migrasi penuh

Migrasi Inkremental

Database SQL Server yang dikelola sendiri

Izin SELECT

Izin SELECT

sysadmin

ApsaraDB RDS for SQL Server Instans

Izin baca dan tulis

Persiapan

Jika Anda perlu melakukan migrasi inkremental, sebelum secara resmi mengonfigurasi tugas migrasi data, Anda perlu mengatur mode pemulihan database yang ditentukan dalam database SQL Server yang dikelola sendiri ke mode penuh (FULL) untuk memastikan bahwa log transaksi sepenuhnya tercatat. Anda juga perlu menyimpan data penuh dan data inkremental melalui cadangan logis dan cadangan log masing-masing, memberikan dasar untuk migrasi data selanjutnya.

Penting

Jika Anda perlu memigrasikan beberapa database, Anda perlu mengulangi langkah 1 hingga 3 dalam pekerjaan persiapan. Jika tidak, ketidaksesuaian data dapat terjadi.

  1. Jalankan perintah berikut di database SQL Server yang dikelola sendiri untuk mengubah mode pemulihan database yang akan dimigrasikan ke mode penuh.

    use master;
    GO
    ALTER DATABASE <database name to be migrated> SET RECOVERY FULL WITH ROLLBACK IMMEDIATE;
    GO

    Contoh:

    use master;
    GO
    ALTER DATABASE mytestdata SET RECOVERY FULL WITH ROLLBACK IMMEDIATE;
    GO
  2. Jalankan perintah berikut untuk melakukan cadangan logis pada database yang akan dimigrasikan. Jika Anda sudah melakukan cadangan logis, Anda dapat melewati langkah ini.

    BACKUP DATABASE <database name to be migrated> TO DISK='<specify the storage path and file name of the backup file>';
    GO

    Contoh:

    BACKUP DATABASE mytestdata TO DISK='D:\backup\dbdata.bak';
    GO
  3. Jalankan perintah berikut untuk mencadangkan log dari database yang akan dimigrasikan.

    BACKUP LOG <database name to be migrated> to DISK='<specify the storage path and file name of the backup file>' WITH init;
    GO

    Contoh:

    BACKUP LOG mytestdata TO DISK='D:\backup\dblog.bak' WITH init;
    GO

Prosedur

  1. Kunjungi Konsol Data Transmission Service (DTS).

  2. Di panel navigasi di sebelah kiri, klik Data Migration, dan pilih Wilayah di bagian atas.

  3. Klik Create Task, dan konfigurasikan informasi database sumber dan tujuan.

    Kategori

    Parameter

    Deskripsi

    Tidak tersedia

    Task Name

    Konfigurasikan nama dengan makna bisnis (tidak ada persyaratan unik) agar mudah diidentifikasi nanti; atau gunakan nama tugas yang dibuat oleh sistem.

    Source Database

    Select Existing Connection

    Jika Anda sudah memasukkan informasi database sumber pada halaman Manajemen Koneksi Data DTS, Anda dapat langsung memilih database yang telah dimasukkan di sini, sehingga Anda tidak perlu memasukkan informasi database sumber secara manual nanti.

    Database Type

    Pilih SQL Server.

    Connection Type

    Pilih Public IP Address.

    Catatan

    Saat memilih database yang dikelola sendiri, Anda juga perlu melakukan persiapan yang sesuai.

    Instance Region

    Pilih wilayah tempat database SQL Server yang dikelola sendiri berada.

    Hostname Or IP Address

    Masukkan alamat akses untuk database SQL Server yang dikelola sendiri. Dalam contoh ini, masukkan alamat IP publik.

    Port Number

    Masukkan port layanan untuk database SQL Server yang dikelola sendiri. Secara default adalah 1433.

    Database Account

    Masukkan akun database dari SQL Server yang dikelola sendiri. Untuk persyaratan izin, lihat Izin yang diperlukan untuk akun database.

    Database Password

    Kata sandi yang digunakan untuk mengakses instansiasi database.

    Encryption

    • Jika database sumber belum mengaktifkan enkripsi SSL, pilih Non-encrypted.

    • Jika database sumber telah mengaktifkan enkripsi SSL, pilih SSL-encrypted, dan DTS akan mempercayai sertifikat server secara default.

    Destination Database

    Select Existing Connection

    Jika Anda sudah memasukkan informasi database tujuan pada halaman Manajemen Koneksi Data DTS, Anda dapat langsung memilih database yang telah dimasukkan di sini, sehingga Anda tidak perlu memasukkan informasi database tujuan secara manual nanti.

    Database Type

    Pilih SQL Server.

    Connection Type

    Pilih Alibaba Cloud Instance.

    Instance Region

    Pilih wilayah tempat instans ApsaraDB RDS for SQL Server tujuan berada.

    Instance ID

    Pilih ID instans ApsaraDB RDS for SQL Server tujuan.

    Database Account

    Masukkan akun database dari instans ApsaraDB RDS for SQL Server tujuan. Untuk persyaratan izin, lihat Izin yang diperlukan untuk akun database.

    Database Password

    Kata sandi yang digunakan untuk mengakses instansiasi database.

    Encryption

    • Jika database tujuan belum mengaktifkan enkripsi SSL, pilih Non-encrypted.

    • Jika database tujuan telah mengaktifkan enkripsi SSL, pilih SSL-encrypted, dan DTS akan mempercayai sertifikat server secara default.

  4. Setelah konfigurasi selesai, klik Test Connectivity and Proceed di bagian bawah halaman. Dalam kotak dialog CIDR Blocks of DTS Servers yang muncul, klik Test Connectivity.

    Penting

    Pastikan Anda telah menambahkan rentang alamat IP layanan DTS ke pengaturan keamanan database sumber untuk mengizinkan akses dari server DTS.

  5. Konfigurasikan objek yang akan dimigrasikan.

    1. Di halaman Configure Objects, konfigurasikan objek yang ingin Anda migrasikan.

      Parameter

      Deskripsi

      Migration Types

      • Untuk migrasi data penuh: Kami merekomendasikan Anda memilih Schema Migration dan Full Data Migration.

      • Untuk migrasi tanpa downtime: Kami merekomendasikan Anda memilih Schema Migration, Full Data Migration, dan Incremental Data Migration.

      Catatan

      Method to Migrate Triggers in Source Database

      Pilih metode untuk memigrasikan triggers sesuai kebutuhan. Jika objek yang ingin Anda migrasikan tidak melibatkan triggers, Anda tidak perlu mengonfigurasi parameter ini. Untuk informasi lebih lanjut, lihat Konfigurasikan metode untuk menyinkronkan atau memigrasikan triggers.

      Catatan

      Anda hanya dapat mengonfigurasi parameter ini ketika Anda memilih Migration Types, Schema Migration, dan Incremental Data Migration.

      SQL Server Incremental Synchronization Mode

      • Log-based Parsing for Non-heap Tables and CDC-based Incremental Synchronization for Heap Tables (Hybrid Log-based Parsing)

        Batasan

        • Migrasi inkremental DTS bergantung pada komponen CDC. Pastikan bahwa pekerjaan CDC di database sumber berjalan dengan baik. Jika tidak, tugas akan gagal.

        • Data inkremental CDC disimpan selama tiga hari secara default. Kami merekomendasikan Anda menjalankan perintah exec console.sys.sp_cdc_change_job @job_type = 'cleanup', @retention= <time>; untuk menyesuaikan periode retensi. <time> diukur dalam menit. Jika jumlah operasi SQL inkremental pada satu tabel di database sumber melebihi 10 juta per hari, kami merekomendasikan Anda mengatur nilainya menjadi 1440.

        • Anda dapat mengaktifkan CDC untuk maksimal 1.000 tabel dalam satu tugas migrasi. Jika tidak, latensi atau ketidakstabilan mungkin terjadi.

        • Modul migrasi inkremental mengaktifkan CDC untuk database sumber. Karena keterbatasan kernel database SQL Server, tabel sementara terkunci.

        • DTS membuat trigger dts_cdc_sync_ddl, tabel denyut nadi dts_sync_progress, dan tabel DD dts_cdc_ddl_history di database sumber. DTS juga mengaktifkan CDC tingkat database dan CDC tingkat tabel untuk beberapa tabel.

        • Anda tidak dapat mengeksekusi pernyataan SELECT INTO, TRUNCATE, atau RENAME COLUMN pada tabel yang memiliki CDC aktif di database sumber. Anda juga tidak dapat menghapus secara manual trigger yang dibuat oleh DTS di database sumber.

        Manfaat

        • Mode ini mendukung tabel heap, tabel tanpa kunci primer, tabel terkompresi, dan tabel dengan kolom terhitung di database sumber.

        • Mode ini memberikan stabilitas tautan yang tinggi. Pernyataan DDL lengkap dapat diperoleh, dan berbagai skenario DDL didukung.

      • Incremental Synchronization Based on Logs of Source Database (Heap tables are not supported)

        Batasan

        • Tabel yang akan dimigrasikan harus memiliki indeks terkluster, dan indeks terkluster tersebut harus mencakup kolom kunci primer.

        • Mode ini tidak mendukung tabel heap, tabel tanpa kunci primer, tabel terkompresi, atau tabel dengan kolom terhitung. Anda dapat menjalankan pernyataan SQL berikut untuk memeriksa apakah tabel semacam itu ada di database sumber:

          1. Periksa tabel heap di database sumber:

            SELECT s.name AS schema_name, t.name AS table_name FROM sys.schemas s INNER JOIN sys.tables t ON s.schema_id = t.schema_id AND t.type = 'U' AND s.name NOT IN ('cdc', 'sys') AND t.name NOT IN ('systranschemas') AND t.object_id IN (SELECT object_id FROM sys.indexes WHERE index_id = 0);
          2. Periksa tabel tanpa kunci primer:

            SELECT s.name AS schema_name, t.name AS table_name FROM sys.schemas s INNER JOIN sys.tables t ON s.schema_id = t.schema_id AND t.type = 'U' AND s.name NOT IN ('cdc', 'sys') AND t.name NOT IN ('systranschemas') AND t.object_id NOT IN (SELECT parent_object_id FROM sys.objects WHERE type = 'PK');
          3. Periksa kolom kunci primer yang tidak termasuk dalam kolom indeks terkluster di database sumber:

            SELECT s.name schema_name, t.name table_name FROM sys.schemas s INNER JOIN sys.tables t ON s.schema_id = t.schema_id WHERE t.type = 'U' AND s.name NOT IN('cdc', 'sys') AND t.name NOT IN('systranschemas') AND t.object_id IN ( SELECT pk_colums_counter.object_id AS object_id FROM (select pk_colums.object_id, sum(pk_colums.column_id) column_id_counter from (select sic.object_id object_id, sic.column_id FROM sys.index_columns sic, sys.indexes sis WHERE sic.object_id = sis.object_id AND sic.index_id = sis.index_id AND sis.is_primary_key = 'true') pk_colums group by object_id) pk_colums_counter inner JOIN ( select cluster_colums.object_id, sum(cluster_colums.column_id) column_id_counter from (SELECT sic.object_id object_id, sic.column_id FROM sys.index_columns sic, sys.indexes sis WHERE sic.object_id = sis.object_id AND sic.index_id = sis.index_id AND sis.index_id = 1) cluster_colums group by object_id ) cluster_colums_counter ON pk_colums_counter.object_id = cluster_colums_counter.object_id and pk_colums_counter.column_id_counter != cluster_colums_counter.column_id_counter);
          4. Periksa tabel terkompresi di database sumber:

            SELECT s.name AS schema_name, t.name AS table_name FROM sys.objects t, sys.schemas s, sys.partitions p WHERE s.schema_id = t.schema_id AND t.type = 'U' AND s.name NOT IN ('cdc', 'sys') AND t.name NOT IN ('systranschemas') AND t.object_id = p.object_id AND p.data_compression != 0;
          5. Periksa tabel yang berisi kolom terhitung:

            SELECT s.name AS schema_name, t.name AS table_name FROM sys.schemas s INNER JOIN sys.tables t ON s.schema_id = t.schema_id AND t.type = 'U' AND s.name NOT IN ('cdc', 'sys') AND t.name NOT IN ('systranschemas') AND t.object_id IN (SELECT object_id FROM sys.columns WHERE is_computed = 1);
          6. Periksa tabel yang berisi kolom jarang:

            SELECT s.name AS schema_name, t.name AS table_name FROM sys.schemas s INNER JOIN sys.tables t ON s.schema_id = t.schema_id AND t.type = 'U' AND s.name NOT IN ('cdc', 'sys') AND t.name NOT IN ('systranschemas') AND t.object_id IN (SELECT object_id FROM sys.columns WHERE is_sparse = 1);

        Manfaat

        Mode ini tidak mengganggu database sumber.

      • Polling and querying CDC instances for incremental synchronization

        Batasan

        • Akun database sumber harus memiliki izin untuk mengaktifkan CDC: Peran sysadmin diperlukan untuk CDC tingkat database, dan akun istimewa diperlukan untuk CDC tingkat tabel.

        • CDC tidak dapat diaktifkan untuk tabel dengan indeks kolomstore terkluster.

        • Modul migrasi inkremental mengaktifkan CDC untuk database sumber. Karena keterbatasan kernel database SQL Server, tabel sementara terkunci.

        • Jumlah tabel yang akan dimigrasikan dari database sumber tidak boleh melebihi 1.000. Jika tidak, latensi atau ketidakstabilan mungkin terjadi.

        • Data inkremental CDC disimpan selama tiga hari secara default. Kami merekomendasikan Anda menjalankan perintah exec console.sys.sp_cdc_change_job @job_type = 'cleanup', @retention= <time>; untuk menyesuaikan periode retensi. <time> diukur dalam menit. Jika jumlah operasi SQL inkremental pada satu tabel melebihi 10 juta per hari, kami merekomendasikan Anda mengatur nilainya menjadi 1440.

        • Operasi penambahan dan penghapusan kolom berturut-turut (lebih dari dua operasi DDL dalam satu menit) tidak didukung. Jika tidak, tugas mungkin gagal.

        • Perubahan pada instans CDC di database sumber tidak didukung. Jika tidak, tugas mungkin gagal atau data mungkin hilang.

        Manfaat

        • Mode ini mendukung migrasi data penuh dan migrasi data inkremental ketika database sumber adalah Amazon RDS for SQL Server, Azure SQL Database, Azure SQL Managed Instance, Azure SQL Server on Virtual Machine, atau Google Cloud SQL for SQL Server.

        • Mode ini menggunakan komponen CDC asli SQL Server untuk mendapatkan data inkremental, yang membuat migrasi inkremental lebih stabil dan mengonsumsi lebih sedikit lebar pita jaringan.

      Catatan

      Parameter ini tersedia hanya ketika Migration Types mencakup Incremental Data Migration.

      The maximum number of tables for which CDC is enabled that DTS supports.

      Silakan atur jumlah tabel yang masuk akal untuk mengaktifkan CDC untuk instance migrasi saat ini. Nilai defaultnya adalah 1000.

      Catatan

      Ketika SQL Server Incremental Synchronization Mode diatur ke Incremental Synchronization Based on Logs of Source Database (Heap tables are not supported), item konfigurasi ini tidak akan muncul.

      Processing Mode of Conflicting Tables

      • Precheck and Report Errors: DTS memeriksa apakah tabel dengan nama yang sama ada di database tujuan. Jika tidak ada tabel dengan nama yang sama di database tujuan, pemeriksaan awal berhasil dan tugas migrasi data dimulai. Jika tidak, kesalahan akan dilaporkan selama pemeriksaan awal dan tugas migrasi data tidak dimulai.

        Solusi: Jika Anda tidak dapat menghapus atau mengubah nama tabel dengan nama yang sama di database tujuan, Anda dapat mengubah nama tabel di database tujuan dengan mengonfigurasi pemetaan nama objek.

      • Ignore Errors and Proceed: DTS melewati pemeriksaan awal untuk tabel dengan nama yang sama di database tujuan.

        Peringatan

        Jika Anda memilih Ignore Errors and Proceed, ketidaksesuaian data mungkin terjadi dan bisnis Anda mungkin terpapar risiko. Contohnya:

        • Jika tabel sumber dan tujuan memiliki skema yang sama dan sebuah catatan di tabel tujuan memiliki nilai kunci primer yang sama dengan catatan di tabel sumber:

          • Selama migrasi data penuh, DTS mempertahankan catatan yang ada di tabel tujuan dan tidak memigrasikan catatan dengan nilai kunci primer yang sama dari tabel sumber ke tabel tujuan.

          • Selama migrasi data inkremental, data di tabel tujuan mungkin ditimpa oleh data baru dari tabel sumber, yang mengakibatkan kehilangan data di tabel tujuan.

        • Jika tabel sumber dan tujuan memiliki skema yang berbeda, hanya beberapa kolom yang dapat dimigrasikan atau tugas migrasi data mungkin gagal. Lanjutkan dengan hati-hati.

      Source Objects

      Pilih satu atau lebih objek dari bagian Source Objects. Klik ikon 向右小箭头 untuk menambahkan objek ke bagian Selected Objects.

      Catatan

      Anda dapat memilih kolom, tabel, atau skema sebagai objek yang akan dimigrasikan. Jika Anda memilih tabel atau kolom sebagai objek yang akan dimigrasikan, DTS tidak akan memigrasikan objek lain seperti view, trigger, atau prosedur tersimpan ke database tujuan.

      Selected Objects

      • Untuk mengubah nama objek yang ingin Anda migrasikan ke instance tujuan, klik kanan objek di bagian Selected Objects. Untuk informasi lebih lanjut, lihat Pemetaan nama objek tunggal.

      • Untuk mengubah nama beberapa objek sekaligus, klik Batch Edit di sudut kanan atas bagian Selected Objects. Untuk informasi lebih lanjut, lihat Pemetaan beberapa nama objek sekaligus.

      Catatan
      • Jika Anda menggunakan fitur pemetaan nama objek, objek yang bergantung pada objek yang diubah namanya mungkin gagal dimigrasikan.

      • Untuk mengatur kondisi WHERE untuk memfilter data, klik kanan tabel yang akan dimigrasikan di Selected Objects dan atur kondisi filter di kotak dialog yang muncul.

      • Untuk memilih operasi SQL yang akan dimigrasikan pada tingkat database atau tabel, klik kanan objek yang akan dimigrasikan di Selected Objects dan pilih operasi SQL yang ingin Anda migrasikan di kotak dialog yang muncul.

    2. Klik Next: Advanced Settings untuk mengonfigurasi pengaturan lanjutan.

      Parameter

      Deskripsi

      Dedicated Cluster for Task Scheduling

      Secara default, DTS menjadwalkan tugas migrasi data ke klaster bersama jika Anda tidak menentukan klaster khusus. Jika Anda ingin meningkatkan stabilitas tugas migrasi data, beli klaster khusus. Untuk informasi lebih lanjut, lihat Apa itu klaster khusus DTS.

      Retry Time for Failed Connections

      Rentang waktu coba ulang untuk koneksi gagal. Jika database sumber atau tujuan gagal terhubung setelah tugas migrasi data dimulai, DTS segera mencoba kembali koneksi dalam rentang waktu coba ulang. Nilai valid: 10 hingga 1.440. Unit: menit. Nilai default: 720. Kami merekomendasikan Anda mengatur parameter ini ke nilai lebih besar dari 30. Jika DTS berhasil terhubung kembali ke database sumber dan tujuan dalam rentang waktu coba ulang yang ditentukan, DTS melanjutkan tugas migrasi data. Jika tidak, tugas migrasi data gagal.

      Catatan
      • Jika Anda menentukan rentang waktu coba ulang yang berbeda untuk beberapa tugas migrasi data yang berbagi database sumber atau tujuan yang sama, nilai yang ditentukan terakhir akan berlaku.

      • Saat DTS mencoba kembali koneksi, Anda akan dikenakan biaya untuk instance DTS. Kami merekomendasikan Anda menentukan rentang waktu coba ulang berdasarkan kebutuhan bisnis Anda. Anda juga dapat melepaskan instance DTS secepat mungkin setelah database sumber dan instance tujuan dilepaskan.

      Retry Time for Other Issues

      Rentang waktu coba ulang untuk masalah lain. Misalnya, jika operasi DDL atau DML gagal dilakukan setelah tugas migrasi data dimulai, DTS segera mencoba kembali operasi dalam rentang waktu coba ulang. Nilai valid: 1 hingga 1.440. Unit: menit. Nilai default: 10. Kami merekomendasikan Anda mengatur parameter ini ke nilai lebih besar dari 10. Jika operasi gagal berhasil dilakukan dalam rentang waktu coba ulang yang ditentukan, DTS melanjutkan tugas migrasi data. Jika tidak, tugas migrasi data gagal.

      Penting

      Nilai parameter Retry Time for Other Issues harus lebih kecil dari nilai parameter Retry Time for Failed Connections.

      Enable Throttling for Full Data Migration

      Menentukan apakah akan mengaktifkan pembatasan untuk migrasi data penuh. Selama migrasi data penuh, DTS menggunakan sumber daya baca dan tulis dari database sumber dan tujuan. Hal ini dapat meningkatkan beban server database. Anda dapat mengaktifkan pembatasan untuk migrasi data penuh berdasarkan kebutuhan bisnis Anda. Untuk mengonfigurasi pembatasan, Anda harus mengonfigurasi parameter Queries per second (QPS) to the source database, RPS of Full Data Migration, dan Data migration speed for full migration (MB/s). Ini mengurangi beban server database tujuan.

      Catatan

      Anda hanya dapat mengonfigurasi parameter ini jika Anda memilih Full Data Migration untuk parameter Migration Types.

      Enable Throttling for Incremental Data Migration

      Menentukan apakah akan mengaktifkan pembatasan untuk migrasi data inkremental. Untuk mengonfigurasi pembatasan, Anda harus mengonfigurasi parameter RPS of Incremental Data Migration dan Data migration speed for incremental migration (MB/s). Ini mengurangi beban server database tujuan.

      Catatan

      Anda hanya dapat mengonfigurasi parameter ini jika Anda memilih Incremental Data Migration untuk parameter Migration Types.

      Environment Tag

      Tag lingkungan yang digunakan untuk mengidentifikasi instance DTS. Anda dapat memilih tag lingkungan berdasarkan kebutuhan bisnis Anda. Dalam contoh ini, Anda tidak perlu mengonfigurasi parameter ini.

      Configure ETL

      Menentukan apakah akan mengaktifkan fitur ekstrak, transformasi, dan muat (ETL). Untuk informasi lebih lanjut, lihat Apa itu ETL? Nilai valid:

      Monitoring and Alerting

      Menentukan apakah akan mengonfigurasi peringatan untuk tugas migrasi data. Jika tugas gagal atau latensi migrasi melebihi ambang batas yang ditentukan, kontak peringatan menerima notifikasi. Nilai valid:

      • No: tidak mengonfigurasi peringatan.

      • Yes: mengonfigurasi peringatan. Dalam hal ini, Anda juga harus mengonfigurasi ambang batas peringatan dan pengaturan notifikasi peringatan. Untuk informasi lebih lanjut, lihat bagian Konfigurasikan pemantauan dan peringatan saat Anda membuat tugas DTS dari topik Konfigurasikan pemantauan dan peringatan.

    3. Klik Next Step: Data Verification untuk mengonfigurasi tugas verifikasi data.

      Untuk informasi lebih lanjut tentang cara menggunakan fitur verifikasi data, lihat Konfigurasikan tugas verifikasi data.

  6. Simpan pengaturan tugas dan jalankan pemeriksaan awal.

    • Untuk melihat parameter yang harus ditentukan saat Anda memanggil operasi API terkait untuk mengonfigurasi tugas DTS, gerakkan pointer ke Next: Save Task Settings and Precheck dan klik Preview OpenAPI parameters.

    • Jika Anda tidak perlu melihat atau sudah melihat parameter tersebut, klik Next: Save Task Settings and Precheck di bagian bawah halaman.

    Catatan
    • Sebelum Anda dapat memulai tugas migrasi data, DTS melakukan pemeriksaan awal. Anda hanya dapat memulai tugas migrasi data setelah tugas tersebut lulus pemeriksaan awal.

    • Jika tugas gagal lulus pemeriksaan awal, klik View Details di sebelah setiap item yang gagal. Setelah Anda menganalisis penyebab berdasarkan hasil pemeriksaan, atasi masalah tersebut. Kemudian, jalankan pemeriksaan awal lagi.

    • Jika peringatan dipicu untuk suatu item selama pemeriksaan awal:

      • Jika item peringatan tidak dapat diabaikan, klik View Details di sebelah item yang gagal dan atasi masalah tersebut. Kemudian, jalankan pemeriksaan awal lagi.

      • Jika item peringatan dapat diabaikan, klik Confirm Alert Details. DiDi kotak dialog Lihat Detail, klik Ignore. Di pesan yang muncul, klik OK. Kemudian, klik Precheck Again untuk menjalankan pemeriksaan awal lagi. Jika Anda mengabaikan item peringatan, ketidaksesuaian data mungkin terjadi, dan bisnis Anda mungkin terpapar risiko potensial.

  7. Beli sebuah instans.

    1. Tunggu hingga Success Rate menjadi 100%. Kemudian, klik Next: Purchase Instance.

    2. Di halaman Purchase Instance, konfigurasikan parameter Instance Class untuk instans migrasi data. Tabel berikut menjelaskan parameter-parameter tersebut.

      Bagian

      Parameter

      Deskripsi

      New Instance Class

      Resource Group

      Kelompok sumber daya tempat instans migrasi data berada. Nilai default: default resource group. Untuk informasi lebih lanjut, lihat Apa itu Resource Management?

      Instance Class

      DTS menyediakan kelas instans yang bervariasi dalam kecepatan migrasi. Anda dapat memilih kelas instans berdasarkan skenario bisnis Anda. Untuk informasi lebih lanjut, lihat Kelas instans dari instans migrasi data.

    3. Baca dan setujui Data Transmission Service (Pay-as-you-go) Service Terms dengan memilih kotak centang.

    4. Klik Buy and Start. Dalam pesan yang muncul, klik OK.

      Anda dapat melihat kemajuan tugas di halaman Data Migration.

      Catatan
      • Jika tugas migrasi data tidak dapat digunakan untuk memigrasikan data inkremental, tugas tersebut akan otomatis berhenti. Completed ditampilkan di bagian Status .

      • Jika tugas migrasi data dapat digunakan untuk memigrasikan data inkremental, tugas tersebut tidak akan otomatis berhenti. Tugas migrasi data inkremental tidak pernah berhenti atau selesai. Running ditampilkan di bagian Status.

Lampiran 1: Operasi SQL yang mendukung migrasi inkremental

Operasi DML

INSERT, UPDATE, DELETE

Catatan

Jika operasi UPDATE hanya memperbarui bidang Tingkat Tinggi, DTS tidak akan memigrasikan operasi tersebut.

Operasi DDL

  • CREATE TABLE

    Catatan

    Jika operasi CREATE TABLE membuat tabel partisi atau tabel yang berisi fungsi, DTS tidak akan memigrasikan operasi tersebut.

  • ALTER TABLE

    Operasi ALTER TABLE hanya mencakup ADD COLUMN dan DROP COLUMN.

  • DROP TABLE

  • CREATE INDEX, DROP INDEX

Catatan
  • Pernyataan DDL transaksional tidak dapat dimigrasikan. Sebagai contoh, DTS tidak memigrasikan operasi SQL yang berisi operasi DDL pada beberapa kolom atau operasi SQL yang berisi operasi DDL dan DML sekaligus. Kehilangan data mungkin terjadi setelah operasi SQL semacam itu dimigrasikan.

  • DTS tidak memigrasikan operasi DDL yang berisi tipe data yang ditentukan pengguna.

  • DTS tidak memigrasikan operasi DDL Online.

  • DTS tidak memigrasikan operasi DDL yang dilakukan pada objek dengan nama yang berisi kata kunci yang dicadangkan.

  • DTS tidak memigrasikan operasi DDL yang dilakukan dalam prosedur tersimpan sistem.

  • DTS tidak memigrasikan operasi TRUNCATE TABLE.

Lampiran 2: Objek yang mendukung migrasi struktur

  • DTS mendukung migrasi skema untuk jenis objek berikut: tabel, tampilan, pemicu, sinonim, prosedur tersimpan SQL, fungsi SQL, panduan rencana, tipe yang ditentukan pengguna, aturan, default, dan urutan.

  • DTS tidak memigrasikan skema dari assembly, service broker, indeks teks penuh, katalog teks penuh, skema terdistribusi, fungsi terdistribusi, prosedur tersimpan Common Language Runtime (CLR), fungsi bernilai skalar CLR, fungsi bernilai tabel CLR, tabel internal, sistem, atau fungsi agregat.