Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menggunakan database Microsoft SQL Server sebagai sumber untuk AWS DMS
Memigrasikan data dari satu atau banyak database Microsoft SQL Server menggunakan AWS DMS. Dengan database SQL Server sebagai sumber, Anda dapat memigrasikan data ke database SQL Server lain, atau ke salah satu database lain yang AWS DMS didukung.
Untuk informasi tentang versi SQL Server yang AWS DMS mendukung sebagai sumber, lihatSumber untuk AWS DMS.
Basis data sumber SQL Server dapat dipasang pada setiap komputer dalam jaringan Anda. Akun SQL Server dengan hak istimewa akses yang sesuai untuk basis data sumber untuk jenis tugas yang Anda pilih diperlukan untuk digunakan dengan AWS DMS. Untuk informasi selengkapnya, lihat Izin untuk tugas SQL Server.
AWS DMS mendukung migrasi data dari instance SQL Server bernama. Anda dapat menggunakan notasi berikut dalam nama server ketika Anda membuat titik akhir sumber.
IPAddress\InstanceName
Sebagai contoh, berikut ini adalah nama server titik akhir sumber yang benar. Di sini, bagian pertama dari nama adalah alamat IP server, dan bagian kedua adalah nama instans SQL Server (dalam contoh ini, SQLTest).
10.0.0.25\SQLTest
Juga, dapatkan nomor port yang didengarkan oleh instance SQL Server bernama Anda, dan gunakan untuk mengonfigurasi titik akhir AWS DMS sumber Anda.
catatan
Port 1433 adalah default untuk SQL Server. Tapi port dinamis yang berubah setiap kali SQL Server dimulai, dan nomor port statis tertentu yang digunakan untuk menyambung ke SQL Server melalui firewall juga sering digunakan. Jadi, Anda ingin mengetahui nomor port aktual dari instance SQL Server bernama Anda saat Anda membuat titik akhir AWS DMS sumber.
Anda dapat menggunakan SSL untuk mengenkripsi sambungan antara titik akhir SQL Server dan instans replikasi. Untuk informasi selengkapnya tentang menggunakan titik akhir SSL dengan SQL Server, lihat Menggunakan SSL dengan AWS Database Migration Service.
Anda dapat menggunakan CDC untuk migrasi berkelanjutan dari database SQL Server. Untuk informasi tentang mengonfigurasi database server SQL sumber Anda untuk CDC, lihatMenangkap perubahan data untuk replikasi berkelanjutan dari SQL Server.
Untuk detail tambahan tentang bekerja dengan database sumber SQL Server dan AWS DMS, lihat berikut ini.
Topik
Prasyarat untuk menggunakan replikasi berkelanjutan (CDC) dari sumber SQL Server
Bekerja dengan grup AlwaysOn ketersediaan SQL Server yang dikelola sendiri
Pengaturan titik akhir saat menggunakan SQL Server sebagai sumber untuk AWS DMS
Menangkap perubahan data untuk replikasi berkelanjutan dari SQL Server
Batasan menggunakan SQL Server sebagai sumber untuk AWS DMS
Keterbatasan berikut berlaku saat menggunakan basis data SQL Server sebagai sumber untuk AWS DMS:
-
Properti identitas untuk kolom tidak bermigrasi ke kolom basis data target.
-
Titik akhir SQL Server tidak mendukung penggunaan tabel dengan kolom jarang.
-
Autentikasi Windows tidak didukung.
-
Perubahan bidang terhitung di SQL Server tidak direplikasi.
-
Tabel temporal tidak didukung.
-
Penggantian partisi SQL Server tidak didukung.
-
Saat menggunakan utilitas WRITETEXT dan UPDATETEXT, AWS DMS tidak menangkap peristiwa yang diterapkan pada database sumber.
-
Pola data manipulation language (DML) berikut ini tidak didukung.
SELECT * INTOnew_tableFROMexisting_table -
Ketika menggunakan SQL Server sebagai sumber, enkripsi tingkat kolom tidak didukung.
-
AWS DMS tidak mendukung audit tingkat server pada SQL Server 2008 atau SQL Server 2008 R2 sebagai sumber. Ini karena masalah yang diketahui dengan SQL Server 2008 dan 2008 R2. Misalnya, menjalankan perintah berikut AWS DMS menyebabkan gagal.
USE [master] GO ALTER SERVER AUDIT [my_audit_test-20140710] WITH (STATE=on) GO -
Kolom Geometri dan Geografi tidak didukung dalam mode lob penuh saat menggunakan SQL Server sebagai sumber. Sebaliknya, gunakan modus lob terbatas atau atur pengaturan tugas
InlineLobMaxSizeuntuk menggunakan mode lob inline. -
Saat menggunakan database sumber Microsoft SQL Server dalam tugas replikasi, definisi Penerbit Replikasi SQL Server tidak dihapus jika Anda menghapus tugas. Administrator sistem Microsoft SQL Server harus menghapus definisi tersebut dari Microsoft SQL Server.
-
Migrasi data dari tampilan terikat skema dan non-skema didukung untuk tugas beban penuh saja.
-
Mengganti nama tabel menggunakan sp_rename tidak didukung (misalnya,
sp_rename 'Sales.SalesRegion', 'SalesReg;) -
Mengganti nama kolom menggunakan sp_rename tidak didukung (misalnya,
sp_rename 'Sales.Sales.Region', 'RegID', 'COLUMN';) AWS DMS tidak mendukung pemrosesan perubahan untuk mengatur dan menghapus nilai default kolom (menggunakan
ALTER COLUMN SET DEFAULTklausa denganALTER TABLEpernyataan).-
AWS DMS tidak mendukung pemrosesan perubahan untuk mengatur nullability kolom (menggunakan
ALTER COLUMN [SET|DROP] NOT NULLklausa denganALTER TABLEpernyataan). -
Dengan SQL Server 2012 dan SQL Server 2014, saat menggunakan replikasi DMS dengan Availability Groups, basis data distribusi tidak dapat ditempatkan dalam grup ketersediaan. SQL 2016 mendukung penempatan basis data distribusi ke grup ketersediaan, kecuali untuk distribusi basis data yang digunakan dalam topologi replikasi gabungan, dua arah, atau peer-to-peer.
-
Untuk tabel yang dipartisi, AWS DMS tidak mendukung pengaturan kompresi data yang berbeda untuk setiap partisi.
-
Saat memasukkan nilai ke jenis data spasial SQL Server (GEOGRAPHY dan GEOMETRY), Anda dapat mengabaikan properti spatial reference system identifier (SRID) atau menentukan angka yang berbeda. Saat mereplikasi tabel dengan tipe data spasial, AWS DMS ganti SRID dengan SRID default (0 untuk GEOMETRY dan 4326 untuk GEOGRAPHY).
-
Jika database Anda tidak dikonfigurasi untuk MS-REPLICATION atau MS-CDC, Anda masih dapat menangkap tabel yang tidak memiliki Kunci Utama, tetapi hanya peristiwa INSERT/DELETE DML yang ditangkap. Peristiwa UPDATE dan TRUNCATE TABLE diabaikan.
-
Indeks Columnstore tidak didukung.
-
Memory-optimized tabel (menggunakan In-Memory OLTP) tidak didukung.
-
Ketika mereplikasi tabel dengan kunci primer yang terdiri dari beberapa kolom, memperbarui kolom kunci primer selama beban penuh tidak didukung.
-
Ketahanan tertunda tidak didukung.
-
Peng
readBackupOnly=trueaturan titik akhir (atribut koneksi tambahan) tidak berfungsi pada RDS untuk instans sumber SQL Server karena cara RDS melakukan pencadangan. -
EXCLUSIVE_AUTOMATIC_TRUNCATIONtidak berfungsi pada instans sumber Amazon RDS SQL Server karena pengguna RDS tidak memiliki akses untuk menjalankan prosedur tersimpan SQL Server,.sp_repldone AWS DMS tidak menangkap perintah terpotong.
-
AWS DMS tidak mendukung replikasi dari database dengan pemulihan database yang dipercepat (ADR) diaktifkan.
-
AWS DMS tidak mendukung pernyataan bahasa definisi data (DDL) dan bahasa manipulasi data (DML) dalam satu transaksi.
-
AWS DMS tidak mendukung replikasi paket aplikasi tingkat data (DACPAC).
-
Pernyataan UPDATE yang melibatkan kunci utama atau indeks unik dan memperbarui beberapa baris data, dapat menyebabkan konflik saat Anda menerapkan perubahan ke database target. Ini mungkin terjadi, misalnya, ketika database target menerapkan pembaruan sebagai pernyataan INSERT dan DELETE alih-alih pernyataan UPDATE tunggal. Dengan mode terapan batch yang dioptimalkan, tabel mungkin diabaikan. Dengan mode penerapan transaksional, operasi UPDATE dapat mengakibatkan pelanggaran batasan. Untuk menghindari masalah ini, muat ulang tabel yang relevan. Atau, cari catatan bermasalah di tabel kontrol Terapkan Pengecualian (
dmslogs.awsdms_apply_exceptions) dan edit secara manual di database target. Untuk informasi selengkapnya, lihat Mengubah pengaturan penyetelan pemrosesan. -
AWS DMS tidak mendukung replikasi tabel dan skema, di mana nama menyertakan karakter khusus dari set berikut.
\\ -- \n \" \b \r ' \t ; -
Penyembunyian data tidak didukung. AWS DMS memigrasikan data bertopeng tanpa masking.
-
AWS DMS mereplikasi hingga 32.767 tabel dengan kunci utama dan hingga 1.000 kolom untuk setiap tabel. Ini karena membuat artikel AWS DMS replikasi SQL Server untuk setiap tabel yang direplikasi, dan artikel replikasi SQL Server memiliki batasan ini.
-
Saat menggunakan Change Data Capture (CDC), Anda harus menentukan semua kolom yang membentuk indeks unik sebagai
NOT NULL. Jika persyaratan ini tidak terpenuhi, kesalahan sistem SQL Server 22838 akan dihasilkan. Anda mungkin kehilangan peristiwa jika SQL Server mengarsipkan dari log transaksi aktif ke log cadangan, atau memotongnya dari log transaksi aktif.
Keterbatasan berikut berlaku saat mengakses log transaksi backup:
-
Backup terenkripsi tidak didukung.
-
Backup yang disimpan di URL atau Windows Azure tidak didukung.
-
AWS DMS tidak mendukung pemrosesan langsung cadangan log transaksi di tingkat file dari folder bersama alternatif.
Untuk sumber Cloud SQL Server selain Amazon RDS untuk Microsoft SQL Server, AWS DMS mendukung replikasi berkelanjutan (CDC) hanya dengan log transaksi aktif. Anda tidak dapat menggunakan log cadangan dengan CDC. Anda mungkin kehilangan peristiwa jika SQL server mengarsipkannya dari log transaksi aktif ke log cadangan, atau memotongnya dari log transaksi aktif sebelum DMS dapat membacanya.
Untuk sumber Amazon RDS untuk Microsoft SQL Server, AWS DMS 3.5.2 dan di bawahnya mendukung replikasi berkelanjutan (CDC) hanya dengan log transaksi aktif, karena DMS tidak dapat mengakses log cadangan dengan CDC. Anda mungkin kehilangan peristiwa jika RDS untuk SQL Server mengarsipkannya dari log transaksi aktif ke log cadangan, atau memotongnya dari log transaksi aktif sebelum DMS dapat membacanya. Batasan ini tidak berlaku untuk AWS DMS versi 3.5.3 dan yang lebih tinggi.
-
AWS DMS tidak mendukung CDC untuk Amazon RDS Proxy untuk SQL Server sebagai sumber.
-
Jika sumber SQL Server menjadi tidak tersedia selama tugas beban penuh, AWS DMS mungkin menandai tugas sebagai selesai setelah beberapa upaya koneksi ulang, meskipun migrasi data tetap tidak lengkap. Dalam skenario ini, tabel target hanya berisi catatan yang dimigrasi sebelum koneksi hilang, berpotensi menciptakan inkonsistensi data antara sistem sumber dan target. Untuk memastikan kelengkapan data, Anda harus memulai ulang tugas beban penuh sepenuhnya atau memuat ulang tabel tertentu yang terpengaruh oleh gangguan koneksi.
Izin untuk tugas SQL Server
Izin untuk tugas beban penuh saja
Izin berikut diperlukan untuk melakukan tugas beban penuh saja. Perhatikan bahwa AWS DMS tidak membuat dms_user login. Untuk informasi tentang membuat login untuk SQL Server, lihat Membuat
USE db_name; CREATE USER dms_user FOR LOGIN dms_user; ALTER ROLE [db_datareader] ADD MEMBER dms_user; GRANT VIEW DATABASE STATE to dms_user; GRANT VIEW DEFINITION to dms_user; USE master; GRANT VIEW SERVER STATE TO dms_user;
Izin untuk tugas dengan replikasi yang sedang berlangsung
Self-managed Instans SQL Server dapat dikonfigurasi untuk replikasi berkelanjutan menggunakan DMS dengan atau tanpa menggunakan sysadmin peran. Untuk instance SQL Server, di mana Anda tidak dapat memberikan sysadmin peran, pastikan bahwa pengguna DMS memiliki hak istimewa yang dijelaskan sebagai berikut.
Menyiapkan izin untuk replikasi berkelanjutan dari database SQL Server yang dikelola sendiri
Buat akun SQL Server baru dengan otentikasi kata sandi menggunakan SQL Server Management Studio (SSMS) atau seperti yang dijelaskan sebelumnya diIzin untuk tugas beban penuh saja, misalnya,
self_managed_user.Jalankan
GRANTperintah berikut:GRANT VIEW SERVER STATE TOself_managed_user; USE msdb; GRANT SELECT ON msdb.dbo.backupset TOself_managed_user; GRANT SELECT ON msdb.dbo.backupmediafamily TOself_managed_user; GRANT SELECT ON msdb.dbo.backupfile TOself_managed_user; USE db_name; CREATE USERself_managed_userFOR LOGINself_managed_user; ALTER ROLE [db_owner] ADD MEMBERself_managed_user; GRANT VIEW DEFINITION toself_managed_user;Selain izin sebelumnya, pengguna memerlukan salah satu dari yang berikut:
Pengguna harus menjadi anggota dari peran server
sysadmintetapKonfigurasi dan izin seperti yang dijelaskan dalam Menyiapkan replikasi yang sedang berlangsung di SQL Server di lingkungan grup ketersediaan: Tanpa peran sysadmin atauMenyiapkan replikasi yang sedang berlangsung pada SQL Server mandiri: Tanpa peran sysadmin, tergantung pada konfigurasi sumber Anda.
Menyiapkan izin untuk replikasi berkelanjutan dari database cloud SQL Server
Instans server SQL yang dihosting di cloud adalah instance yang berjalan di Amazon RDS untuk Microsoft SQL Server, Instans Terkelola Azure SQL, atau instans SQL Server cloud terkelola lainnya yang didukung oleh DMS.
Buat akun SQL Server baru dengan otentikasi kata sandi menggunakan SQL Server Management Studio (SSMS) atau seperti yang dijelaskan sebelumnya diIzin untuk tugas beban penuh saja, misalnya,rds_user.
Jalankan perintah memberikan hak istimewa berikut.
GRANT VIEW SERVER STATE TO rds_user;
Untuk Amazon RDS untuk sumber Microsoft SQL Server, DMS versi 3.5.3 dan yang lebih tinggi mendukung pembacaan dari cadangan log transaksi. Untuk memastikan bahwa DMS dapat mengakses cadangan log, selain hal di atas, berikan hak istimewa master pengguna, atau hak istimewa berikut pada sumber RDS SQL Server:
USE msdb; GRANT EXEC ON msdb.dbo.rds_dms_tlog_download TO rds_user; GRANT EXEC ON msdb.dbo.rds_dms_tlog_read TO rds_user; GRANT EXEC ON msdb.dbo.rds_dms_tlog_list_current_lsn TO rds_user; GRANT EXEC ON msdb.dbo.rds_task_status TO rds_user; USE db_name; CREATE USER rds_user FOR LOGIN rds_user; ALTER ROLE [db_owner] ADD MEMBER rds_user; GRANT VIEW DEFINITION to rds_user;
Untuk Instans Terkelola SQL Amazon Azure berikan hak istimewa berikut:
GRANT SELECT ON msdb.dbo.backupset TO rds_user; GRANT SELECT ON msdb.dbo.backupmediafamily TO rds_user; GRANT SELECT ON msdb.dbo.backupfile TO rds_user;
Prasyarat untuk menggunakan replikasi berkelanjutan (CDC) dari sumber SQL Server
Anda dapat menggunakan replikasi yang sedang berlangsung (perubahan pengambilan data, atau CDC) untuk database SQL Server yang dikelola sendiri di lokasi atau di Amazon EC2, atau database cloud seperti Amazon RDS atau instans terkelola Microsoft Azure SQL.
Persyaratan berikut berlaku secara khusus saat menggunakan replikasi yang sedang berlangsung dengan database SQL Server sebagai sumber untuk AWS DMS:
-
SQL Server harus dikonfigurasi untuk backup penuh, dan Anda harus menjalankan backup sebelum mulai mereplikasi data.
-
Model pemulihan harus diatur menjadi Bulk logged atau Full.
-
Backup SQL Server untuk beberapa disk tidak didukung. Jika cadangan didefinisikan untuk menulis cadangan database ke beberapa file melalui disk yang berbeda, tidak AWS DMS dapat membaca data dan AWS DMS tugas gagal.
-
Untuk sumber SQL Server yang dikelola sendiri, definisi SQL Server Replication Publisher untuk sumber yang digunakan dalam tugas DMS CDC tidak dihapus ketika Anda menghapus tugas. Administrator sistem SQL Server harus menghapus definisi ini dari SQL Server untuk sumber yang dikelola sendiri.
-
Selama CDC, AWS DMS perlu mencari cadangan log transaksi SQL Server untuk membaca perubahan. AWS DMS tidak mendukung pencadangan log transaksi SQL Server yang dibuat menggunakan perangkat lunak cadangan pihak ketiga yang tidak dalam format asli. Untuk mendukung backup log transaksi yang ada dalam format asli dan dibuat menggunakan perangkat lunak backup pihak ketiga, tambahkan atribut sambungan
use3rdPartyBackupDevice=Yke titik akhir sumber. -
Untuk sumber SQL Server yang dikelola sendiri, perhatikan bahwa SQL Server tidak menangkap perubahan pada tabel yang baru dibuat sampai mereka telah diterbitkan. Ketika tabel ditambahkan ke sumber SQL Server, AWS DMS mengelola pembuatan publikasi. Namun, proses ini mungkin memakan waktu beberapa menit. Operasi yang dibuat untuk tabel yang baru dibuat selama penundaan ini tidak ditangkap atau direplikasi ke target.
-
AWS DMS perubahan pengambilan data memerlukan pencatatan transaksi penuh untuk diaktifkan di SQL Server. Untuk mengaktifkan logging transaksi penuh di SQL Server, aktifkan MS-REPLICATION atau UBAH DATA CAPTURE (CDC).
-
Entri tlog SQL Server tidak akan ditandai untuk digunakan kembali sampai pekerjaan penangkapan MS CDC memproses perubahan tersebut.
-
Operasi CDC tidak didukung pada tabel yang memorinya dioptimalkan. Batasan ini berlaku untuk SQL Server 2014 (ketika fitur pertama kali diperkenalkan) dan yang lebih tinggi.
AWS DMS perubahan pengambilan data memerlukan database distribusi secara default di Amazon EC2 atau On-Prem SQL server sebagai sumber. Jadi, pastikan bahwa Anda telah mengaktifkan distributor saat mengonfigurasi replikasi MS untuk tabel dengan kunci utama.
Metode kompresi yang didukung untuk SQL Server
Perhatikan hal berikut tentang dukungan untuk metode kompresi SQL Server di AWS DMS:
AWS DMS mendukung Row/Page kompresi dalam SQL Server versi 2008 dan yang lebih baru.
AWS DMS tidak mendukung format penyimpanan Vardecimal.
AWS DMS tidak mendukung kolom jarang dan kompresi struktur kolumnar.
Bekerja dengan grup AlwaysOn ketersediaan SQL Server yang dikelola sendiri
Grup ketersediaan SQL Server Always On menyediakan ketersediaan tinggi dan pemulihan bencana sebagai alternatif tingkat perusahaan untuk mirroring database.
Di AWS DMS, Anda dapat memigrasikan perubahan dari replika grup ketersediaan primer atau sekunder tunggal.
Bekerja dengan replika grup ketersediaan utama
Untuk menggunakan grup ketersediaan utama sebagai sumber di AWS DMS, lakukan hal berikut:
Aktifkan opsi distribusi untuk semua instans SQL Server di replika ketersediaan Anda. Untuk informasi selengkapnya, lihat Menyiapkan replikasi yang sedang berlangsung pada SQL Server yang dikelola sendiri.
Di AWS DMS konsol, buka pengaturan database sumber SQL Server. Untuk Nama Server, tentukan nama Domain Name Service (DNS) atau alamat IP yang dikonfigurasi untuk pendengar grup ketersediaan Anda.
Ketika Anda memulai AWS DMS tugas untuk pertama kalinya, mungkin perlu waktu lebih lama dari biasanya untuk memulai. Kelambatan ini terjadi karena pembuatan artikel tabel sedang diduplikasi oleh server grup ketersediaan.
Bekerja dengan replika grup ketersediaan sekunder
Untuk menggunakan grup ketersediaan sekunder sebagai sumber di AWS DMS, lakukan hal berikut:
-
Gunakan kredentif yang sama untuk menghubungkan ke replika individual seperti yang digunakan oleh pengguna titik akhir AWS DMS sumber.
-
Pastikan instance AWS DMS replikasi Anda dapat menyelesaikan nama DNS untuk semua replika yang ada, dan sambungkan ke mereka. Anda dapat menggunakan kueri SQL berikut untuk mendapatkan nama DNS untuk semua replika Anda.
select ar.replica_server_name, ar.endpoint_url from sys.availability_replicas ar JOIN sys.availability_databases_cluster adc ON adc.group_id = ar.group_id AND adc.database_name = '<source_database_name>'; Saat Anda membuat titik akhir sumber, tentukan nama DNS dari pendengar grup ketersediaan untuk nama Server titik akhir atau untuk alamat Server rahasia titik akhir. Untuk informasi selengkapnya tentang pendengar grup ketersediaan, lihat Apa itu pendengar grup ketersediaan?
dalam dokumentasi SQL Server. Anda dapat menggunakan server DNS publik atau server DNS lokal untuk menyelesaikan pendengar grup ketersediaan, replika utama, dan replika sekunder. Untuk menggunakan server DNS lokal, konfigurasikan Amazon Route 53 Resolver. Untuk informasi selengkapnya, lihat Menggunakan server nama on-premise Anda sendiri.
Tambahkan atribut koneksi tambahan berikut ke titik akhir sumber Anda.
Atribut koneksi tambahan Nilai Catatan applicationIntentReadOnlyTanpa pengaturan ODBC ini, tugas replikasi dialihkan ke replika grup ketersediaan utama. Untuk informasi selengkapnya, lihat Dukungan Klien Asli SQL Server untuk Ketersediaan Tinggi, Pemulihan Bencana dalam dokumentasi SQL Server. multiSubnetFailoveryesUntuk informasi selengkapnya, lihat Dukungan Klien Asli SQL Server untuk Ketersediaan Tinggi, Pemulihan Bencana dalam dokumentasi SQL Server. alwaysOnSharedSynchedBackupIsEnabledfalseUntuk informasi selengkapnya, lihat Pengaturan titik akhir saat menggunakan SQL Server sebagai sumber untuk AWS DMS. activateSafeguardfalseUntuk informasi lebih lanjut, lihat Batasan berikut ini. setUpMsCdcForTablesfalseUntuk informasi lebih lanjut, lihat Batasan berikut ini. Aktifkan opsi distribusi pada semua replika dalam grup ketersediaan Anda. Tambahkan semua node ke daftar distributor. Untuk informasi selengkapnya, lihat Mengatur distribusi.
Jalankan kueri berikut pada replika baca-tulis utama untuk mengaktifkan publikasi database Anda. Anda menjalankan query ini hanya sekali untuk database Anda.
sp_replicationdboption @dbname = N'<source DB name>', @optname = N'publish', @value = N'true';
Batasan
Berikut ini adalah batasan untuk bekerja dengan replika grup ketersediaan sekunder:
AWS DMS tidak mendukung Safeguard saat menggunakan replika grup ketersediaan baca-saja sebagai sumber. Untuk informasi selengkapnya, lihat Pengaturan titik akhir saat menggunakan SQL Server sebagai sumber untuk AWS DMS.
AWS DMS tidak mendukung atribut koneksi
setUpMsCdcForTablestambahan saat menggunakan replika grup ketersediaan baca-saja sebagai sumber. Untuk informasi selengkapnya, lihat Pengaturan titik akhir saat menggunakan SQL Server sebagai sumber untuk AWS DMS.-
AWS DMS dapat menggunakan replika grup ketersediaan sekunder yang dikelola sendiri sebagai basis data sumber untuk replikasi berkelanjutan (penangkapan data perubahan, atau CDC) mulai dari versi 3.4.7. Replika Multi-AZ baca Cloud SQL Server tidak didukung. Jika Anda menggunakan versi sebelumnya AWS DMS, pastikan Anda menggunakan replika grup ketersediaan utama sebagai basis data sumber untuk CDC.
Failover ke node lain
Jika Anda menetapkan atribut koneksi ApplicationIntent tambahan untuk titik akhirReadOnly, AWS DMS tugas Anda terhubung ke simpul read-only dengan prioritas routing read-only tertinggi. Kemudian gagal beralih ke node read-only lainnya di grup ketersediaan Anda ketika node read-only prioritas tertinggi tidak tersedia. Jika Anda tidak menyetelApplicationIntent, AWS DMS tugas Anda hanya terhubung ke node utama (read/write) di grup ketersediaan Anda.
Pengaturan titik akhir saat menggunakan SQL Server sebagai sumber untuk AWS DMS
Anda dapat menggunakan pengaturan titik akhir untuk mengonfigurasi database sumber SQL Server Anda mirip dengan menggunakan atribut koneksi tambahan. Anda menentukan pengaturan saat membuat titik akhir sumber menggunakan AWS DMS konsol, atau dengan menggunakan create-endpoint perintah di AWS CLI, dengan sintaks --microsoft-sql-server-settings '{" JSON.EndpointSetting":
"value", ...}'
Tabel berikut menunjukkan pengaturan titik akhir yang dapat Anda gunakan dengan SQL Server sebagai sumber.
| Nama | Deskripsi |
|---|---|
|
|
Atribut ini mengaktifkan atau menonaktifkan Safeguard. Untuk informasi tentang Safeguard, lihat Nilai default: Nilai valid: { Contoh: |
AlwaysOnSharedSynchedBackupIsEnabled |
Atribut ini menyesuaikan perilaku AWS DMS saat bermigrasi dari database sumber SQL Server yang dihosting sebagai bagian dari cluster grup ketersediaan Always On. AWS DMS memiliki dukungan yang ditingkatkan untuk database sumber SQL Server yang dikonfigurasi untuk berjalan di cluster Always On. Dalam kasus ini, AWS DMS mencoba untuk melacak jika backup transaksi terjadi dari node di klaster Always On selain node di mana instans basis data sumber menjadi host. Saat tugas migrasi AWS DMS dimulai, mencoba untuk terhubung ke setiap node di cluster, tetapi gagal jika tidak dapat terhubung ke salah satu node. Jika Anda AWS DMS perlu melakukan polling pada semua node di cluster Always On untuk pencadangan transaksi, setel atribut ini ke Nilai default: Nilai yang valid: Contoh: |
|
Pengaturan atribut driver ODBC ini menyebabkan SQL Server merutekan tugas replikasi Anda ke simpul read-only prioritas tertinggi. Tanpa pengaturan ini, SQL Server merutekan tugas replikasi Anda ke simpul baca-tulis utama. |
|
|
Gunakan atribut koneksi tambahan (ECA) ini untuk mengatur batas waktu koneksi titik akhir untuk instance SQL Server, dalam detik. Nilai bawaannya adalah 10 detik. Contoh ECA: |
|
|
Gunakan pengaturan titik akhir ini saat Anda menyiapkan replikasi berkelanjutan pada server SQL mandiri tanpa pengguna sysadmin. Parameter ini didukung pada AWS DMS versi 3.4.7 dan lebih tinggi. Untuk informasi tentang menyiapkan replikasi yang sedang berlangsung pada server SQL mandiri, lihatMenangkap perubahan data untuk replikasi berkelanjutan dari SQL Server. Nilai default: Nilai valid: Contoh: |
|
Gunakan atribut koneksi tambahan (ECA) ini untuk mengatur batas waktu pernyataan klien untuk instance SQL Server, dalam detik. Nilai default adalah 60 detik. Contoh: |
|
Ketika diset Nilai default: Nilai yang valid: Contoh: |
|
|
Memaksa pencarian LOB pada LOB sebaris. Nilai default: Nilai valid: Contoh: |
|
Atribut driver ODBC ini membantu DMS untuk terhubung ke primer baru jika terjadi failover Grup Ketersediaan. Atribut ini dirancang untuk situasi ketika koneksi rusak atau alamat IP pendengar salah. Dalam situasi ini, coba AWS DMS sambungkan ke semua alamat IP yang terkait dengan pendengar Grup Ketersediaan. |
|
Penggunaan atribut ini membutuhkan hak istimewa sysadmin. Ketika atribut ini diatur menjadi Nilai yang benar: Contoh: catatanParameter ini tidak berfungsi pada instans sumber Amazon RDS SQL Server karena cara RDS melakukan pencadangan. |
|
|
Untuk kinerja optimal, coba AWS DMS tangkap semua perubahan yang belum dibaca dari log transaksi aktif (TLOG). Namun, terkadang karena pemotongan, TLOG aktif mungkin tidak berisi semua perubahan yang belum dibaca. Ketika ini terjadi, AWS DMS mengakses cadangan log untuk menangkap perubahan yang hilang. Untuk meminimalkan kebutuhan untuk mengakses cadangan log, AWS DMS mencegah pemotongan menggunakan salah satu metode berikut:
Nilai default: Nilai valid: { Contoh: |
|
Atribut ini diaktifkan MS-CDC untuk database sumber dan untuk tabel dalam pemetaan tugas yang belum MS-Replication diaktifkan. Menyetel nilai ini untuk Nilai valid: { Contoh: |
|
|
Menunjukkan mode yang digunakan untuk mengambil data CDC. Nilai default: Nilai valid: Contoh: |
|
Ketika atribut ini diatur menjadi |
Jenis sumber data untuk SQL Server
Migrasi data yang menggunakan SQL Server sebagai sumber untuk AWS DMS mendukung sebagian besar tipe data SQL Server. Tabel berikut menunjukkan tipe data sumber SQL Server yang didukung saat menggunakan AWS DMS dan pemetaan default dari AWS DMS tipe data.
Untuk informasi tentang cara melihat jenis data yang dipetakan dalam target, lihat bagian titik akhir target yang Anda gunakan.
Untuk informasi tambahan tentang AWS DMS tipe data, lihatTipe data untuk AWS Database Migration Service.
|
Jenis data SQL Server |
AWS DMS tipe data |
|---|---|
|
BIGINT |
INT8 |
|
BIT |
BOOLEAN |
|
DECIMAL |
NUMERIC |
|
INT |
INT4 |
|
MONEY |
NUMERIC |
|
NUMERIC (p,s) |
NUMERIC |
|
SMALLINT |
INT2 |
|
SMALLMONEY |
NUMERIC |
|
TINYINT |
UINT1 |
|
REAL |
REAL4 |
|
FLOAT |
REAL8 |
|
DATETIME |
DATETIME |
|
DATETIME2 (SQL Server 2008 dan lebih tinggi) |
DATETIME |
|
SMALLDATETIME |
DATETIME |
|
DATE |
DATE |
|
TIME |
TIME |
|
DATETIMEOFFSET |
WSTRING |
|
CHAR |
STRING |
|
VARCHAR |
STRING |
|
VARCHAR (max) |
CLOB TEXT Untuk menggunakan tipe data ini dengan AWS DMS, Anda harus mengaktifkan penggunaan tipe data CLOB untuk tugas tertentu. Untuk tabel SQL Server, AWS DMS memperbarui kolom LOB di target bahkan untuk pernyataan UPDATE yang tidak mengubah nilai kolom LOB di SQL Server. Selama CDC, AWS DMS mendukung tipe data CLOB hanya dalam tabel yang menyertakan kunci utama. |
|
NCHAR |
WSTRING |
|
NVARCHAR (panjang) |
WSTRING |
|
NVARCHAR (maks) |
NCLOB NTEXT Untuk menggunakan tipe data ini dengan AWS DMS, Anda harus mengaktifkan penggunaan SupportLobs untuk tugas tertentu. Untuk informasi selengkapnya tentang mengaktifkan dukungan Lob, lihatMenyetel dukungan LOB untuk database sumber di AWS DMS tugas. Untuk tabel SQL Server, AWS DMS memperbarui kolom LOB di target bahkan untuk pernyataan UPDATE yang tidak mengubah nilai kolom LOB di SQL Server. Selama CDC, AWS DMS mendukung tipe data CLOB hanya dalam tabel yang menyertakan kunci utama. |
|
BINARY |
BYTES |
|
VARBINARY |
BYTES |
|
VARBINARY (max) |
BLOB CITRA Untuk tabel SQL Server, AWS DMS memperbarui kolom LOB di target bahkan untuk pernyataan UPDATE yang tidak mengubah nilai kolom LOB di SQL Server. Untuk menggunakan tipe data ini dengan AWS DMS, Anda harus mengaktifkan penggunaan tipe data BLOB untuk tugas tertentu. AWS DMS mendukung tipe data BLOB hanya dalam tabel yang menyertakan kunci primer. |
|
TIMESTAMP |
BYTES |
|
UNIQUEIDENTIFIER |
STRING |
|
HIERARCHYID |
Gunakan HIERARCHYID saat mereplikasi ke titik akhir target SQL Server. Gunakan WSTRING (250) ketika mereplikasi ke semua titik akhir target lainnya. |
|
XML |
NCLOB Untuk tabel SQL Server, AWS DMS memperbarui kolom LOB di target bahkan untuk pernyataan UPDATE yang tidak mengubah nilai kolom LOB di SQL Server. Untuk menggunakan tipe data ini dengan AWS DMS, Anda harus mengaktifkan penggunaan tipe data NCLOB untuk tugas tertentu. Selama CDC, AWS DMS mendukung tipe data NCLOB hanya dalam tabel yang menyertakan kunci utama. |
|
GEOMETRY |
Gunakan GEOMETRY ketika mereplikasi ke titik akhir target yang mendukung jenis data ini. Gunakan CLOB ketika mereplikasi ke titik akhir target yang tidak mendukung jenis data ini. |
|
GEOGRAPHY |
Gunakan GEOGRAPHY ketika mereplikasi ke titik akhir target yang mendukung jenis data ini. Gunakan CLOB ketika mereplikasi ke titik akhir target yang tidak mendukung jenis data ini. |
AWS DMS tidak mendukung tabel yang menyertakan bidang dengan tipe data berikut.
-
CURSOR
-
SQL_VARIANT
-
TABLE
catatan
User-defined tipe data didukung sesuai dengan tipe dasarnya. Misalnya, jenis data yang ditetapkan pengguna berdasarkan DATETIME diperlakukan sebagai jenis data DATETIME.