Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Memigrasi basis data SQL Server ke Babelfish for Aurora PostgreSQL
Anda dapat menggunakan Babelfish for Aurora PostgreSQL untuk memigrasi dari basis data SQL Server ke klaster DB Amazon Aurora PostgreSQL. Sebelum bermigrasi, tinjau Menggunakan Babelfish dengan satu atau beberapa basis data.
Topik
Ikhtisar proses migrasi
Ringkasan berikut mencantumkan langkah-langkah yang diperlukan untuk menyukseskan proses migrasi aplikasi SQL Server Anda dan membuatnya bekerja dengan Babelfish. Untuk informasi tentang alat yang dapat Anda gunakan untuk proses ekspor dan impor dan untuk detail selengkapnya, lihat Alat impor/ekspor untuk bermigrasi dari SQL Server ke Babelfish. Untuk memuat data, sebaiknya gunakan AWS DMS cluster DB PostgreSQL Aurora sebagai titik akhir target.
-
Buat klaster DB Aurora PostgreSQL baru dengan kondisi Babelfish diaktifkan. Untuk mempelajari caranya, lihat Membuat klaster DB Babelfish for Aurora PostgreSQL.
Untuk mengimpor berbagai artefak SQL yang diekspor dari basis data SQL Server Anda, sambungkan ke klaster Babelfish menggunakan alat SQL Server seperti sqlcmd
. Untuk informasi selengkapnya, lihat Menggunakan klien SQL Server untuk terhubung ke klaster DB Anda. -
Pada basis data SQL Server yang ingin Anda migrasikan, ekspor bahasa definisi data (DDL). DDL adalah kode SQL yang menggambarkan objek basis data yang berisi data pengguna (seperti tabel, indeks, dan tampilan) dan kode basis data yang ditulis pengguna (seperti prosedur tersimpan, fungsi yang ditentukan pengguna, dan pemicu).
Untuk informasi selengkapnya, lihat Menggunakan SQL Server Management Studio (SSMS) untuk memigrasi ke Babelfish.
-
Jalankan alat penilaian untuk mengevaluasi ruang lingkup perubahan apa pun yang mungkin perlu Anda buat sehingga Babelfish dapat secara efektif mendukung aplikasi yang berjalan di SQL Server. Untuk informasi selengkapnya, lihat Mengevaluasi dan menangani perbedaan antara SQL Server dan Babelfish.
-
Tinjau batasan titik akhir AWS DMS target dan perbarui skrip DDL seperlunya. Untuk informasi selengkapnya, lihat Batasan menggunakan titik akhir target PostgreSQL dengan tabel Babelfish di Menggunakan Babelfish untuk Aurora PostgreSQL sebagai target.
-
Pada klaster DB Babelfish baru Anda, jalankan DDL dalam basis data T-SQL yang Anda tentukan untuk membuat hanya skema, tipe data yang ditentukan pengguna, dan tabel dengan batasan kunci primernya.
-
Gunakan AWS DMS untuk memigrasikan data Anda dari SQL Server ke tabel Babelfish. Untuk replikasi berkelanjutan menggunakan SQL Server Change Data Capture atau SQL Replication, gunakan Aurora PostgreSQL alih-alih Babelfish sebagai titik akhir. Untuk melakukannya, lihat Menggunakan Babelfish for Aurora PostgreSQL sebagai target untuk AWS Database Migration Service.
-
Saat pemuatan data selesai, buat semua objek T-SQL yang tersisa yang mendukung aplikasi di klaster Babelfish Anda.
-
Konfigurasikan ulang aplikasi klien Anda untuk terhubung ke titik akhir Babelfish alih-alih basis data SQL Server Anda. Untuk informasi selengkapnya, lihat Menghubungkan ke klaster DB Babelfish.
-
Ubah aplikasi Anda sesuai kebutuhan dan uji ulang. Untuk informasi selengkapnya, lihat Perbedaan antara Babelfish for Aurora PostgreSQL dan SQL Server.
Anda masih perlu menilai kueri SQL sisi klien Anda. Skema yang dihasilkan dari instans SQL Server Anda hanya mengonversi kode SQL sisi server. Sebaiknya Anda melakukan tindakan berikut:
-
Tangkap kueri sisi klien dengan menggunakan SQL Server Profiler dengan templat yang telah ditentukan TSQL_Replay. Templat ini menangkap informasi pernyataan T-SQL yang kemudian dapat Anda putar ulang untuk penyesuaian dan pengujian berulang. Anda dapat memulai profiler dalam SQL Server Management Studio dari menu Alat. Pilih SQL Server Profiler untuk membuka profiler dan memilih templat TSQL_Replay.
Untuk penggunaan pada migrasi Babelfish Anda, mulai jejak dan kemudian jalankan aplikasi Anda menggunakan pengujian fungsional Anda. Profiler menangkap pernyataan T-SQL. Saat Anda selesai menguji, hentikan jejaknya. Simpan hasilnya ke file XML dengan kueri sisi klien Anda (File > Save as > Trace XML File for Replay).
Untuk informasi selengkapnya, lihat SQL Server Profiler
di dokumentasi Microsoft. Untuk informasi selengkapnya tentang templat TSQL_Replay, lihat Templat SQL Server Profiler . -
Untuk aplikasi dengan kueri SQL sisi klien yang kompleks, kami menyarankan Anda menggunakan Babelfish Compass untuk menganalisis kueri ini untuk kompatibilitas Babelfish. Jika analisis menunjukkan bahwa pernyataan SQL sisi klien berisi fitur SQL yang tidak didukung, tinjau aspek SQL dalam aplikasi klien dan modifikasi sesuai kebutuhan.
-
Anda juga dapat menangkap kueri SQL sebagai peristiwa yang diperpanjang (format .xel). Untuk melakukannya, gunakan SSMS XEvent Profiler. Setelah membuat file .xel, ekstrak pernyataan SQL ke dalam file .xml yang kemudian dapat diproses oleh Compass. Untuk informasi selengkapnya, lihat Menggunakan XEvent Profler SSMS di dokumentasi
Microsoft.
Ketika Anda puas dengan semua pengujian, analisis, dan modifikasi apa pun yang diperlukan untuk aplikasi yang dimigrasi, Anda dapat mulai menggunakan basis data Babelfish untuk produksi. Untuk melakukannya, hentikan basis data asli dan alihkan aplikasi klien langsung untuk menggunakan port TDS Babelfish.
catatan
AWS DMS sekarang mendukung replikasi data dari Babelfish. Untuk informasi lebih lanjut, lihat AWS DMS sekarang mendukung Babelfish untuk Aurora PostgreSQL
Mengevaluasi dan menangani perbedaan antara SQL Server dan Babelfish
Untuk hasil terbaik, kami sarankan Anda mengevaluasi kode kueri yang dihasilkan DDL/DML dan klien sebelum benar-benar memigrasikan aplikasi database SQL Server Anda ke Babelfish. Bergantung pada versi Babelfish dan fitur spesifik SQL Server yang diterapkan aplikasi Anda, Anda mungkin perlu memfaktor ulang aplikasi Anda atau menggunakan alternatif untuk fungsionalitas yang belum sepenuhnya didukung di Babelfish.
-
Untuk menilai kode aplikasi SQL Server Anda, gunakan Babelfish Compass pada DDL yang dihasilkan untuk menentukan berapa banyak kode T-SQL yang didukung oleh Babelfish. Identifikasi kode T-SQL yang mungkin memerlukan modifikasi sebelum berjalan di Babelfish. Untuk informasi lebih lanjut tentang alat ini, lihat Alat Kompas Babelfish
di. GitHub catatan
Babelfish Compass adalah alat sumber terbuka. Laporkan masalah apa pun dengan Babelfish Compass melalui GitHub alih-alih melalui Support. AWS
Anda dapat menggunakan Wizard Generate Script dengan SQL Server Management Studio (SSMS) untuk menghasilkan file SQL yang dinilai oleh Babelfish Compass atau CLI AWS Schema Conversion Tool . Kami merekomendasikan langkah-langkah berikut untuk mengefisienkan penilaian.
-
Pada halaman Choose Objects, pilih Script entire database and all database objects.
-
Untuk Set Scripting Options, pilih Save as script file sebagai Single script file.
-
Pilih Advanced untuk mengubah opsi pembuatan skrip default untuk mengidentifikasi fitur yang biasanya disetel ke false untuk penilaian lengkap:
-
Script Change Tracking ke True
-
Script Full-Text Indexes ke True
-
Script Triggers ke True
-
Script Logins ke True
-
Script Owner ke True
-
Script Object-Level Permissions ke True
-
Script Collations ke True
-
-
Lakukan langkah-langkah selanjutnya di wizard untuk membuat file.
Alat impor/ekspor untuk bermigrasi dari SQL Server ke Babelfish
Sebaiknya gunakan AWS DMS sebagai alat utama untuk bermigrasi dari SQL Server ke Babelfish. Namun, Babelfish mendukung beberapa cara lain untuk memigrasikan data menggunakan alat SQL Server yang mencakup yang berikut ini.
-
SQL Server Integration Services (SSIS) untuk semua versi Babelfish. Untuk informasi selengkapnya, lihat Migrasi dari SQL Server ke Aurora PostgreSQL menggunakan SSIS dan Babelfish
. -
Gunakan Import/Export Wizard SSMS untuk Babelfish versi 2.1.0 dan yang lebih baru. Alat ini tersedia melalui SSMS, tetapi juga tersedia sebagai alat mandiri. Untuk informasi selengkapnya, lihat Welcome to SQL Server Import and Export Wizard
di dokumentasi Microsoft. -
Utilitas program salinan data massal (bcp) Microsoft memungkinkan Anda menyalin data dari instans Microsoft SQL Server ke file data dalam format yang Anda tentukan. Untuk informasi selengkapnya, lihat bcp Utility
di dokumentasi Microsoft. Dukungan untuk migrasi data dengan menggunakan klien BCP dan utilitas bcp kini mendukung bendera -E
(untuk kolom identitas) dan bendera -b (untuk sisipan batch). Opsi bcp tertentu tidak didukung, termasuk-C
,-T
,-G
,-K
,-R
,-V
, dan-h
.
Menggunakan SQL Server Management Studio (SSMS) untuk memigrasi ke Babelfish
Sebaiknya buat file terpisah untuk masing-masing jenis objek tertentu. Anda dapat menggunakan wizard Generate Scripts di SSMS untuk setiap set pernyataan DDL terlebih dahulu, dan kemudian memodifikasi objek sebagai grup untuk memperbaiki masalah yang ditemukan selama penilaian.
Lakukan langkah-langkah ini untuk memigrasikan data menggunakan AWS DMS atau metode migrasi data lainnya. Jalankan jenis skrip create ini terlebih dahulu untuk pendekatan yang lebih baik dan lebih cepat untuk memuat data pada tabel Babelfish di Aurora PostgreSQL.
-
Jalankan pernyataan
CREATE SCHEMA
. -
Jalankan pernyataan
CREATE TYPE
untuk membuat tipe data yang ditentukan pengguna. -
Jalankan pernyataan
CREATE TABLE
dasar dengan kunci primer atau batasan unik.
Lakukan pemuatan data menggunakan import/export alat yang direkomendasikan. Jalankan skrip yang dimodifikasi untuk langkah-langkah berikut untuk menambahkan objek basis data yang tersisa. Anda memerlukan pernyataan create table untuk menjalankan skrip ini untuk batasan, pemicu, dan indeks. Setelah skrip dibuat, hapus pernyataan create table.
-
Jalankan pernyataan
ALTER TABLE
untuk batasan check, batasan foreign key, batasan default. -
Jalankan pernyataan
CREATE TRIGGER
. -
Jalankan pernyataan
CREATE INDEX
. -
Jalankan pernyataan
CREATE VIEW
. -
Jalankan pernyataan
CREATE STORED PROCEDURE
.
Untuk membuat skrip untuk setiap jenis objek
Gunakan langkah-langkah berikut untuk membuat pernyataan create table dasar menggunakan wizard Generate Scripts di SSMS. Ikuti langkah yang sama untuk membuat skrip untuk tipe objek yang berbeda.
-
Hubungkan ke instans SQL Server yang ada.
-
Buka menu konteks (klik kanan) untuk nama basis data.
-
Pilih Tasks, lalu pilih Generate Scripts....
-
Pada panel Choose Objects, pilih Select specific database objects. Pilih Tabel, pilih semua tabel. Pilih Next untuk melanjutkan.
-
Pada halaman Set Scripting Options, pilih Advanced untuk membuka pengaturan Options. Untuk membuat pernyataan create table dasar, ubah nilai default berikut:
-
Script Defaults ke False.
-
Script Extended Properties ke False. Babelfish tidak mendukung properti yang diperluas.
-
Script Check Constraints ke False. Script Foreign Keys ke False.
-
-
Pilih OK.
-
Pada halaman Set Scripting Options, pilih Save as script file lalu pilih opsi Single script file. Masukkan nama File name Anda.
-
Pilih Next untuk melihat halaman Summary wizard.
-
Pilih Next untuk memulai pembuatan skrip.
Anda dapat terus menghasilkan skrip untuk jenis objek lain di wizard. Alih-alih memilih Finish setelah file disimpan, pilih tombol Previous tiga kali untuk kembali ke halaman Choose Objects. Kemudian ulangi langkah-langkah di wizard untuk membuat skrip untuk jenis objek lainnya.