Migrasi database SQL Server ke Babelfish untuk Aurora Postgre SQL - Amazon Aurora

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Migrasi database SQL Server ke Babelfish untuk Aurora Postgre SQL

Anda dapat menggunakan Babelfish for Aurora Postgre SQL untuk memigrasikan database SQL Server ke cluster DB Amazon Aurora Postgre. SQL Sebelum bermigrasi, tinjau Menggunakan Babelfish dengan satu atau beberapa basis data.

Ikhtisar proses migrasi

Ringkasan berikut mencantumkan langkah-langkah yang diperlukan untuk berhasil memigrasikan 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, kami sarankan menggunakan AWS DMS dengan cluster Aurora Postgre SQL DB sebagai titik akhir target.

  1. Buat cluster Aurora Postgre SQL DB baru dengan Babelfish dihidupkan. Untuk mempelajari caranya, lihat Membuat Babelfish untuk cluster Aurora Postgre DB SQL.

    Untuk mengimpor berbagai SQL artefak yang diekspor dari database SQL Server Anda, sambungkan ke cluster Babelfish menggunakan alat SQL Server seperti sqlcmd. Untuk informasi selengkapnya, lihat Menggunakan klien SQL Server untuk terhubung ke klaster DB Anda.

  2. Pada database SQL Server yang ingin Anda migrasi, ekspor bahasa definisi data (DDL). DDLIni adalah SQL kode yang menggambarkan objek database yang berisi data pengguna (seperti tabel, indeks, dan tampilan) dan kode database yang ditulis pengguna (seperti prosedur tersimpan, fungsi yang ditentukan pengguna, dan pemicu).

    Untuk informasi selengkapnya, lihat Menggunakan SQL Server Management Studio (SSMS) untuk bermigrasi ke Babelfish.

  3. 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.

  4. Tinjau AWS DMS menargetkan batasan titik akhir dan perbarui DDL skrip seperlunya. Untuk informasi lebih lanjut, lihat Batasan menggunakan titik akhir SQL target Postgre dengan tabel Babelfish di Menggunakan Babelfish untuk Aurora Postgre sebagai target. SQL

  5. Pada cluster Babelfish DB baru Anda, jalankan SQL database T- yang Anda tentukan untuk membuat hanya skema, tipe data yang ditentukan pengguna, dan tabel dengan DDL batasan kunci utamanya.

  6. Gunakan AWS DMS untuk memigrasikan data Anda dari SQL Server ke tabel Babelfish. Untuk replikasi berkelanjutan menggunakan Pengambilan Data Perubahan SQL Server atau SQL Replikasi, gunakan Aurora Postgre SQL alih-alih Babelfish sebagai titik akhir. Untuk melakukannya, lihat Menggunakan Babelfish untuk Aurora SQL Postgre sebagai target untuk AWS Database Migration Service.

  7. Saat pemuatan data selesai, buat semua SQL objek T yang tersisa yang mendukung aplikasi di cluster Babelfish Anda.

  8. Konfigurasikan ulang aplikasi klien Anda untuk terhubung ke titik akhir Babelfish alih-alih database Server Anda. SQL Untuk informasi selengkapnya, lihat Menghubungkan ke klaster DB Babelfish.

  9. 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 pertanyaan sisi klien SQL Anda. Skema yang dihasilkan dari instance SQL Server Anda hanya mengonversi kode sisi serverSQL. Sebaiknya Anda melakukan tindakan berikut:

  • Tangkap kueri sisi klien dengan menggunakan SQL Server Profiler dengan template yang telah ditentukan _Replay. TSQL Template ini menangkap informasi SQL pernyataan T- yang kemudian dapat Anda putar ulang untuk penyetelan dan pengujian berulang. Anda dapat memulai profiler dalam SQL Server Management Studio dari menu Tools. Pilih SQLServer Profiler untuk membuka profiler dan pilih template 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 XML file dengan kueri sisi klien Anda (File > Save as > Trace XML File for Replay).

    Untuk informasi selengkapnya, lihat SQLServer Profiler di dokumentasi Microsoft. Untuk informasi selengkapnya tentang template TSQL _Replay, lihat Templat SQLServer Profiler.

  • Untuk aplikasi dengan SQL kueri sisi klien yang kompleks, kami sarankan Anda menggunakan Babelfish Compass untuk menganalisis kueri ini untuk kompatibilitas Babelfish. Jika analisis menunjukkan bahwa SQL pernyataan sisi klien berisi SQL fitur yang tidak didukung, tinjau SQL aspek dalam aplikasi klien dan modifikasi sesuai kebutuhan.

  • Anda juga dapat menangkap SQL kueri sebagai peristiwa yang diperpanjang (format.xel). Untuk melakukannya, gunakan SSMS XEvent Profiler. Setelah membuat file.xel, ekstrak SQL pernyataan ke dalam file.xl yang kemudian dapat diproses oleh Compass. Untuk informasi selengkapnya, lihat Menggunakan SSMS XEvent Profler 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 database asli dan alihkan aplikasi klien langsung untuk menggunakan port BabelfishTDS.

catatan

AWS DMS sekarang mendukung replikasi data dari Babelfish. Untuk informasi selengkapnya, silakan lihat AWS DMS sekarang mendukung Babelfish untuk Aurora SQL Postgre sebagai sumber.

Mengevaluasi dan menangani perbedaan antara SQL Server dan Babelfish

Untuk hasil terbaik, kami sarankan Anda mengevaluasi kode kueriDDL/DMLdan klien yang dihasilkan 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 memfaktorkan ulang aplikasi Anda atau menggunakan alternatif untuk fungsionalitas yang belum sepenuhnya didukung di Babelfish.

  • Untuk menilai kode aplikasi SQL Server Anda, gunakan Kompas Babelfish pada yang dihasilkan DDL untuk menentukan berapa banyak SQL kode T yang didukung oleh Babelfish. Identifikasi SQL kode T- 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 alih-alih melalui GitHub AWS Support.

Anda dapat menggunakan Generate Script Wizard dengan SQL Server Management Studio (SSMS) untuk menghasilkan SQL file yang dinilai oleh Babelfish Compass atau AWS Schema Conversion Tool CLI. Kami merekomendasikan langkah-langkah berikut untuk mengefisienkan penilaian.

  1. Pada halaman Choose Objects, pilih Script entire database and all database objects.

    Menggunakan SSMS Generate script wizard untuk memilih objek.
  2. Untuk Set Scripting Options, pilih Save as script file sebagai Single script file.

    Menggunakan SSMS Generate script wizard untuk mengatur opsi scripting.
  3. 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

    Menggunakan SSMS Generate script wizard untuk mengatur opsi skrip lanjutan.
  4. Lakukan langkah-langkah selanjutnya di wizard untuk membuat file.

Alat impor/ekspor untuk bermigrasi dari SQL Server ke Babelfish

Kami menyarankan Anda menggunakan 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.

  • SQLLayanan Integrasi Server (SSIS) untuk semua versi Babelfish. Untuk informasi selengkapnya, lihat Migrasi dari SQL Server ke Aurora SQL SSIS Postgre menggunakan dan Babelfish.

  • Gunakan SSMS Import/Export Wizard untuk Babelfish versi 2.1.0 dan yang lebih baru. Alat ini tersedia melaluiSSMS, tetapi juga tersedia sebagai alat mandiri. Untuk informasi selengkapnya, lihat Selamat Datang di Wisaya Impor dan Ekspor SQL Server di dokumentasi Microsoft.

  • Utilitas Microsoft bulk data copy program (bcp) memungkinkan Anda menyalin data dari instance Microsoft SQL Server ke file data dalam format yang Anda tentukan. Untuk informasi selengkapnya, lihat bcp Utility di dokumentasi Microsoft. Babelfish sekarang mendukung migrasi data menggunakan BCP klien dan utilitas bcp sekarang mendukung -E flag (untuk kolom identitas) dan flag -b (untuk sisipan batching). Opsi bcp tertentu tidak didukung, termasuk -C, -T, -G, -K, -R, -V, dan -h.

Menggunakan SQL Server Management Studio (SSMS) untuk bermigrasi ke Babelfish

Sebaiknya buat file terpisah untuk masing-masing jenis objek tertentu. Anda dapat menggunakan wizard Hasilkan Skrip SSMS untuk setiap kumpulan DDL pernyataan terlebih dahulu, lalu memodifikasi objek sebagai grup untuk memperbaiki masalah apa pun 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 Postgre. SQL

  1. Jalankan pernyataan CREATE SCHEMA.

  2. Jalankan pernyataan CREATE TYPE untuk membuat tipe data yang ditentukan pengguna.

  3. Jalankan pernyataan CREATE TABLE dasar dengan kunci primer atau batasan unik.

Lakukan pemuatan data menggunakan alat impor/ekspor yang disarankan. 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.

  1. Jalankan pernyataan ALTER TABLE untuk batasan check, batasan foreign key, batasan default.

  2. Jalankan pernyataan CREATE TRIGGER.

  3. Jalankan pernyataan CREATE INDEX.

  4. Jalankan pernyataan CREATE VIEW.

  5. Jalankan pernyataan CREATE STORED PROCEDURE.

Untuk membuat skrip untuk setiap jenis objek

Gunakan langkah-langkah berikut untuk membuat pernyataan tabel create dasar menggunakan wizard Generate Scripts diSSMS. Ikuti langkah yang sama untuk membuat skrip untuk tipe objek yang berbeda.

  1. Connect ke instance SQL Server yang ada.

  2. Buka menu konteks (klik kanan) untuk nama basis data.

  3. Pilih Tasks, lalu pilih Generate Scripts....

  4. Pada panel Choose Objects, pilih Select specific database objects. Pilih Tabel, pilih semua tabel. Pilih Next untuk melanjutkan.

    Menggunakan wizard SSMS Generate Scripts untuk memilih objek dan tabel.
  5. 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.

    Menggunakan SSMS Generate script wizard untuk mengatur opsi lanjutan.
  6. Pilih OKE.

  7. Pada halaman Set Scripting Options, pilih Save as script file lalu pilih opsi Single script file. Masukkan nama File name Anda.

    Menggunakan SSMS Generate script wizard untuk mengatur nilai default skrip.
  8. Pilih Next untuk melihat halaman Summary wizard.

  9. 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.