Memigrasikan database SQL Server dari AWS EC2 ke Compute Engine


Tutorial ini memandu Anda melalui berbagai pendekatan yang dapat digunakan untuk memigrasikan database Microsoft SQL Server di Amazon Elastic Compute Cloud (AWS EC2) ke Compute Engine.

Halaman ini membahas pendekatan berikut:

Setiap metode migrasi memiliki kelebihan dan kekurangan yang berbeda. Strategi migrasi yang paling sesuai bergantung pada situasi dan prioritas spesifik Anda. Sebaiknya pilih metode migrasi yang paling sesuai untuk Anda berdasarkan pertimbangan berikut:

  • Ketersediaan: Pertimbangkan apakah pendekatan migrasi didukung oleh semua versi dan lisensi database SQL Server Anda.

  • Ukuran database: Ukuran database dapat secara signifikan memengaruhi opsi migrasi yang memungkinkan karena database yang lebih besar mungkin memerlukan strategi yang berbeda dari database yang lebih kecil. Pertimbangkan durasi transfer data, potensi periode nonaktif, dan persyaratan resource saat memilih pendekatan migrasi.

  • Toleransi periode nonaktif: Tingkat periode nonaktif yang dapat diterima selama migrasi adalah faktor penting. Beberapa metode memungkinkan periode nonaktif minimal hingga hampir nol, sementara metode lainnya memerlukan periode nonaktif yang lebih lama. Pertimbangkan pendekatan migrasi yang menawarkan periode nonaktif yang dapat diterima oleh Anda.

  • Kompleksitas: Kompleksitas skema database, dependensi aplikasi, dan lingkungan secara keseluruhan dapat memengaruhi pendekatan migrasi. Pastikan metode migrasi yang Anda pilih mendukung migrasi objek non-database seperti tugas agen SQL, server tertaut, izin, dan objek pengguna.

  • Biaya: Aspek finansial migrasi juga dapat menjadi pertimbangan. Metode migrasi yang berbeda memiliki biaya yang bervariasi yang terkait dengan transfer data, resource komputasi, dan layanan lainnya. Pertimbangkan metode migrasi yang paling sesuai untuk Anda.

  • Keamanan dan kepatuhan data: Pastikan metode migrasi yang dipilih mematuhi persyaratan kepatuhan dan keamanan data Anda. Pertimbangkan enkripsi data, kontrol akses, dan persyaratan khusus industri yang berlaku untuk data Anda.

Tujuan

Tutorial ini menunjukkan cara menyelesaikan tugas-tugas berikut untuk memigrasikan database SQL Server dari AWS EC2 ke Compute Engine:

Biaya

Tutorial ini menggunakan komponen Google Cloudyang dapat ditagih, termasuk:

Gunakan kalkulator harga untuk membuat perkiraan biaya berdasarkan penggunaan yang Anda proyeksikan.

Sebelum memulai

Selesaikan tugas berikut sebelum Anda memulai:

  1. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  2. Make sure that billing is enabled for your Google Cloud project.

  3. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

Menyiapkan project dan jaringan

Untuk menyiapkan Google Cloud project dan Virtual Private Cloud (VPC) Anda untuk deployment SQL Server untuk migrasi, lakukan hal berikut:

  1. Di Google Cloud konsol, klik Aktifkan Cloud Shell Mengaktifkan Cloud Shell. untuk membuka Cloud Shell.

    Buka Google Cloud konsol

  2. Tetapkan project ID default Anda:

    gcloud config set project PROJECT_ID
    

    Ganti PROJECT_ID dengan ID Google Cloud project Anda.

  3. Tetapkan region default Anda:

    gcloud config set compute/region REGION
    

    Ganti REGION dengan ID region tempat Anda ingin men-deploy.

  4. Tetapkan zona default Anda:

    gcloud config set compute/zone ZONE
    

    Ganti ZONE dengan ID zona tempat Anda ingin men-deploy. Pastikan zona tersebut valid di region yang Anda tentukan di langkah sebelumnya.

Membuat instance SQL Server di Compute Engine

Sebelum memigrasikan database SQL Server ke Compute Engine, Anda harus membuat virtual machine (VM) di Compute Engine untuk menghostingnya.

Gunakan perintah berikut untuk membuat instance SQL Server di Compute Engine:

2022 Standard

gcloud compute instances create sql-server-std-migrate-vm \
--project=PROJECT_ID \
--zone ZONE \
--machine-type n4-standard-8 \
--subnet SUBNET_NAME \
--create-disk=auto-delete=yes,boot=yes,device-name=node-1,image=projects/windows-sql-cloud/global/images/sql-2022-standard-windows-2022-dc-v20250213,mode=rw,size=50,type=projects/PROJECT_ID/zones/ZONE/diskTypes/pd-balanced \
--scopes=https://www.googleapis.com/auth/compute,https://www.googleapis.com/auth/servicecontrol,https://www.googleapis.com/auth/service.management.readonly,https://www.googleapis.com/auth/logging.write,https://www.googleapis.com/auth/monitoring.write,https://www.googleapis.com/auth/trace.append,https://www.googleapis.com/auth/devstorage.read_write

Ganti kode berikut:

  • PROJECT_ID: dengan ID project Google Cloud Anda.
  • ZONE: dengan ID zona.
  • SUBNET_NAME: dengan nama subnet VPC Anda.

Enterprise 2022

gcloud compute instances create sql-server-ent-migrate-vm \
--project=PROJECT_ID \
--zone ZONE \
--machine-type n4-standard-8 \
--subnet SUBNET_NAME \
--create-disk=auto-delete=yes,boot=yes,device-name=node-1,image=projects/windows-sql-cloud/global/images/sql-2022-enterprise-windows-2022-dc-v20250213,mode=rw,size=50,type=projects/PROJECT_ID/zones/ZONE/diskTypes/pd-balanced \
--scopes=https://www.googleapis.com/auth/compute,https://www.googleapis.com/auth/servicecontrol,https://www.googleapis.com/auth/service.management.readonly,https://www.googleapis.com/auth/logging.write,https://www.googleapis.com/auth/monitoring.write,https://www.googleapis.com/auth/trace.append,https://www.googleapis.com/auth/devstorage.read_write

Ganti kode berikut:

  • PROJECT_ID: dengan ID project Google Cloud Anda.
  • ZONE: dengan ID zona.
  • SUBNET_NAME: dengan nama subnet VPC Anda.

Untuk mengetahui informasi selengkapnya tentang cara membuat instance SQL Server di Compute Engine, lihat Membuat instance SQL Server.

Mengonfigurasi dan terhubung ke VM SQL Server

Untuk mengonfigurasi VM SQL Server dan terhubung ke VM tersebut, gunakan langkah-langkah berikut:

  1. Tetapkan sandi Windows awal untuk akun Anda:

    1. Di konsol Google Cloud , buka halaman VM Instances.

      Buka instance VM

    2. Klik nama VM server SQL.

    3. Klik tombol Set Windows password.

    4. Masukkan sandi dan klik Set setelah diminta untuk menetapkan sandi Windows baru.

    5. Simpan nama pengguna dan sandi.

  2. Hubungkan ke VM SQL Server:

    1. Gunakan alamat IP publik VM SQL Server dari halaman VM Instances dan kredensial yang disimpan dari langkah sebelumnya untuk terhubung ke VM SQL Server menggunakan Microsoft Remote Desktop (RDP).

    2. Jalankan SQL Server Management Studio (SSMS) sebagai administrator.

    3. Pastikan kotak centang Percayai sertifikat server dipilih, lalu klik Hubungkan.

VM SQL Server Anda kini siap digunakan untuk migrasi database. Untuk membuat login pengguna baru guna terhubung dan mengelola VM SQL Server, lihat Membuat login.

Pencadangan dan pemulihan database lengkap

Pencadangan dan pemulihan database penuh adalah metode migrasi database yang paling umum dan mudah. Dengan pendekatan ini, pencadangan penuh database SQL Server diambil dari lingkungan sumber, lalu dipulihkan di lingkungan Google Cloud tujuan. Meskipun metode ini relatif mudah, metode ini dapat memakan waktu lama untuk database besar karena waktu yang diperlukan untuk membuat dan memulihkan cadangan.

Bagian ini membahas cara menggunakan SSMS untuk mengekspor database SQL Server menggunakan database contoh AdventureWorks2022.

Membuat cadangan database lengkap

Untuk membuat cadangan database lengkap, gunakan langkah-langkah berikut:

  1. Login ke VM AWS EC2 Anda menggunakan Microsoft RDP.

  2. Hubungkan ke SQL Server menggunakan SSMS.

  3. Luaskan folder database di Object Explorer.

  4. Klik kanan nama database, klik Tasks dari menu.

  5. Klik Cadangkan untuk membuka wizard pencadangan database.

    1. Pastikan nama database yang akan dicadangkan dan jenis pencadangan ditetapkan ke Penuh.

    2. Klik Tambahkan di bagian tujuan untuk pencadangan penuh.

    3. Klik ikon elipsis (...) untuk memilih folder dan nama file cadangan.

    4. Klik OK untuk menetapkan nama file dan OK lagi untuk menetapkan tujuan.

      Opsi Pencadangan Database.

    5. Klik OK untuk memulai pencadangan database dan tunggu hingga pencadangan selesai.

      Setelah proses pencadangan selesai, file cadangan akan dibuat. Sekarang Anda dapat menggunakan file cadangan ini untuk memigrasikan konten database ke VM Compute Engine.

    6. Klik OK untuk keluar dari wizard pencadangan database.

Mentransfer file cadangan ke VM Compute Engine

Untuk memigrasikan konten database SQL Server, Anda harus mentransfer file cadangan yang dibuat pada langkah sebelumnya ke VM Compute Engine yang Anda buat. Untuk mengetahui informasi tentang berbagai opsi transfer, lihat Mentransfer file ke VM Windows.

Memulihkan database SQL Server dari file cadangan

Untuk memulihkan database dari file cadangan, gunakan langkah-langkah berikut:

  1. Login ke VM Compute Engine menggunakan RDP.

  2. Hubungkan ke SQL Server menggunakan SSMS.

  3. Di Object Explorer, klik kanan folder Database, lalu klik Pulihkan Database.

  4. Untuk Sumber, klik Perangkat dan ikon elipsis (...) untuk membuka halaman Pilih perangkat cadangan.

  5. Pastikan jenis media cadangan disetel ke File, lalu klik Tambahkan untuk memilih file cadangan.

    Pulihkan Database Pilih Perangkat.

  6. Klik OK untuk menetapkan file cadangan sebagai perangkat pemulihan.

  7. Klik OK untuk memulihkan database.

    Setelah proses selesai, database Anda akan dimigrasikan ke SQL Server tujuan di Compute Engine.

  8. Untuk memverifikasi apakah proses telah berhasil diselesaikan, Anda dapat meluaskan folder databases di Object Explorer dan memverifikasi apakah Anda dapat melihat database yang dimigrasikan.

    Verifikasi Database yang Dipulihkan.

Bermigrasi menggunakan file BACPAC

File paket cadangan (BACPAC) adalah representasi logis dari database SQL Server. File ini dapat diekspor dari lingkungan AWS sumber, lalu diimpor ke lingkungan Google Cloud tujuan. Metode ini biasanya lebih cepat daripada pencadangan dan pemulihan penuh untuk database yang lebih kecil, tetapi mungkin tidak cocok untuk database yang sangat besar atau database dengan dependensi yang kompleks.

Bagian berikut membahas cara memigrasikan database SQL Server menggunakan file BACPAC.

Membuat ekspor BACPAC

Untuk membuat ekspor BACPAC, gunakan langkah-langkah berikut:

  1. Login ke VM AWS EC2 menggunakan Microsoft RDP.

  2. Hubungkan ke SQL Server menggunakan SSMS.

  3. Luaskan folder databases di Object Explorer.

  4. Klik kanan nama database, lalu klik Tasks.

  5. Klik Ekspor Aplikasi Lapisan Data untuk membuka wizard ekspor.

    1. Klik Berikutnya.

    2. Klik Browse di opsi Save to local disk, lalu pilih file BACPAC.

    3. Klik tab Advanced, lalu pilih skema yang ingin diekspor.

    4. Klik Berikutnya untuk melanjutkan ke ringkasan.

    5. Klik Selesai untuk mengekspor file BACPAC dan tunggu hingga ekspor selesai.

    6. Klik Tutup untuk keluar dari wizard.

  6. Transfer file BACPAC yang dibuat pada langkah sebelumnya ke VM tujuan Anda di Compute Engine. Untuk mengetahui informasi tentang opsi transfer, lihat Mentransfer file ke VM Windows.

Memulihkan database SQL Server dari file BACPAC

Untuk memulihkan database dari file BACPAC, ikuti langkah-langkah berikut:

  1. Login ke VM Compute Engine menggunakan RDP.

  2. Hubungkan ke SQL Server menggunakan SSMS.

  3. Di Object Explorer, klik kanan folder Database, lalu klik Impor Aplikasi Lapisan Data.

  4. Klik Berikutnya.

  5. Klik Browse dan pilih file BACPAC yang ingin Anda pulihkan, lalu klik Next.

  6. Verifikasi Nama database baru, lalu klik Berikutnya.

  7. Klik Finish dan tunggu hingga impor selesai.

  8. Klik Tutup untuk keluar dari wizard.

  9. Untuk memverifikasi apakah proses telah berhasil diselesaikan, Anda dapat meluaskan folder databases di Object Explorer dan memverifikasi apakah Anda dapat melihat database yang dimigrasikan.

Bermigrasi menggunakan grup ketersediaan Always-on

AOAG adalah fitur ketersediaan tinggi dan pemulihan dari bencana (disaster recovery) SQL Server. Anda dapat menggunakan AOAG untuk memigrasikan cluster AOAG yang ada, SQL Server mandiri, dan cluster failover Windows Server (WSFC). Dengan metode ini, replika database dibuat di lingkungan Google Cloud tujuan dan data disinkronkan antara sumber dan target. Setelah sinkronisasi selesai, replika di lingkungan Google Cloud tujuan dapat dijadikan utama. Metode ini meminimalkan periode nonaktif, tetapi memerlukan konfigurasi dan penyiapan tambahan. Untuk migrasi yang sederhana dengan toleransi downtime yang signifikan, metode lain mungkin lebih sederhana dan lebih hemat biaya.

Sebelum memulai

Pastikan hal-hal berikut sebelum Anda memulai migrasi:

Menyiapkan SQL Server untuk menjadi bagian dari AOAG

Agar dapat menambahkan Server SQL ke AOAG, Anda harus mengaktifkan fitur AOAG di semua instance SQL Server yang ingin ditambahkan ke grup.

Untuk mengaktifkan fitur AOAG di semua VM SQL Server yang ingin Anda tambahkan ke AOAG, gunakan langkah-langkah berikut:

  1. Aktifkan AOAG di SQL Server Anda.

    1. Login ke VM SQL Server menggunakan RDP.

    2. Buka PowerShell dalam mode administrator.

    3. Jalankan perintah berikut untuk mengaktifkan AOAG di SQL Server Anda.

      Enable-SqlAlwaysOn -ServerInstance $env:COMPUTERNAME -Force
      

    4. Jalankan perintah berikut untuk membuka port firewall untuk replikasi data.

      netsh advfirewall firewall add rule name="Allow SQL Server replication" dir=in action=allow protocol=TCP localport=5022
      
    5. Ulangi langkah 1 untuk semua VM SQL Server yang ingin Anda tambahkan ke AOAG.

  2. Buat pengguna baru untuk SQL Server di AD Anda.

    $Credential = Get-Credential -UserName sql_server -Message 'Enter password'
    New-ADUser `
    -Name "sql_server" `
    -Description "SQL Admin account." `
    -AccountPassword $Credential.Password `
    -Enabled $true -PasswordNeverExpires $true
    
  3. Lakukan langkah-langkah berikut pada semua instance SQL Server yang merupakan bagian dari AOAG:

    1. Buka SQL Server Configuration Manager.
    2. Di panel navigasi, pilih SQL Server Services.
    3. Di daftar layanan, klik kanan SQL Server (MSSQLSERVER) lalu pilih Properties.
    4. Di bagian Log on as, ubah akun sebagai berikut:
      • Nama akun: DOMAIN\sql_server dengan DOMAIN adalah nama NetBIOS domain AD Anda.
      • Sandi: Masukkan sandi yang Anda pilih di langkah 2 sebelumnya di bagian ini.
    5. Klik OK.

    6. Saat diminta untuk memulai ulang SQL Server, pilih Yes.

SQL Server Anda sekarang berjalan dengan akun pengguna domain.

Menyiapkan endpoint pencerminan untuk database SQL Server Anda

Untuk membuat endpoint AOAG, gunakan langkah-langkah berikut:

  1. Jika database SQL Server sumber dienkripsi dengan Transparent data encryption (TDE), lakukan langkah ini untuk mencadangkan, mentransfer, dan menginstal sertifikat dan kunci ke SQL Server tujuan.

  2. Login ke database sumber di AWS menggunakan SSMS.

  3. Jalankan perintah T-SQL berikut untuk membuat endpoint grup ketersediaan.

    USE [master]
    GO
    CREATE LOGIN [NET_DOMAIN\sql_server] FROM WINDOWS
    GO
    
    USE [DATABASE_NAME]
    GO
    CREATE USER [NET_DOMAIN\sql_server] FOR LOGIN [NET_DOMAIN\sql_server]
    GO
    
    USE [master]
    GO
    CREATE ENDPOINT migration_endpoint
        STATE=STARTED
        AS TCP (LISTENER_PORT=5022)
        FOR DATABASE_MIRRORING (ROLE=ALL);
    GO
    
    GRANT CONNECT ON ENDPOINT::[migration_endpoint] TO [NET_DOMAIN\sql_server]
    GO
    

    Ganti NET_DOMAIN dengan nama NetBIOS domain AD Anda, dan DATABASE_NAME dengan nama database yang akan dimigrasikan.

  4. Hubungkan ke SQL Server tujuan di Google Cloud menggunakan SSMS dan jalankan perintah T-SQL berikut untuk membuat endpoint pencerminan database.

    CREATE LOGIN [NET_DOMAIN\sql_server] FROM WINDOWS
    GO
    
    CREATE ENDPOINT migration_endpoint
        STATE=STARTED
        AS TCP (LISTENER_PORT=5022)
        FOR DATABASE_MIRRORING (ROLE=ALL);
    GO
    
    GRANT CONNECT ON ENDPOINT::[migration_endpoint] TO [NET_DOMAIN\sql_server]
    GO
    

    Ganti NET_DOMAIN dengan nama NetBIOS domain AD Anda.

  5. Verifikasi endpoint dengan membuka Server Objects > Endpoints > Database Mirroring di Object Explorer di SSMS.

    Tampilan Endpoint SMSS.

Membuat AOAG

Untuk membuat AOAG, gunakan langkah-langkah berikut:

  1. Login ke database sumber di AWS menggunakan SSMS.

  2. Jalankan perintah T-SQL berikut untuk menetapkan mode pemulihan database ke penuh dan membuat cadangan lengkap.

    USE [master]
    GO
    
    ALTER DATABASE [DATABASE_NAME]
    SET RECOVERY FULL;
    BACKUP DATABASE [DATABASE_NAME]
    TO DISK = N'C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\Backup\DATABASE_NAME.bak';
    

    Ganti DATABASE_NAME dengan nama database yang akan dimigrasikan.

  3. Jalankan perintah T-SQL berikut untuk membuat AOAG.

    USE [master]
    GO
    
    CREATE AVAILABILITY GROUP [migration-ag]
    WITH (
        AUTOMATED_BACKUP_PREFERENCE = SECONDARY,
        DB_FAILOVER = OFF,
        DTC_SUPPORT = NONE,
        REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT = 0
    )
    FOR DATABASE [DATABASE_NAME]
    REPLICA ON
    N'SOURCE_SERVERNAME' WITH (
        ENDPOINT_URL = 'TCP://SOURCE_HOSTNAME:5022',
        AVAILABILITY_MODE = ASYNCHRONOUS_COMMIT,
        FAILOVER_MODE = MANUAL,
        BACKUP_PRIORITY = 50,
        SEEDING_MODE = AUTOMATIC,
        SECONDARY_ROLE(ALLOW_CONNECTIONS = READ_ONLY)
    ),
    N'DEST_SERVERNAME' WITH (
        ENDPOINT_URL = 'TCP://DEST_HOSTNAME:5022',
        AVAILABILITY_MODE = ASYNCHRONOUS_COMMIT,
        FAILOVER_MODE = MANUAL,
        BACKUP_PRIORITY = 50,
        SEEDING_MODE = AUTOMATIC,
        SECONDARY_ROLE(ALLOW_CONNECTIONS = READ_ONLY)
    );
    GO
    

    Ganti kode berikut:

    • DATABASE_NAME: dengan nama database yang akan dimigrasikan.
    • SOURCE_SERVERNAME: dengan nama server database sumber.
    • DEST_SERVERNAME: dengan nama server database tujuan.
    • SOURCE_HOSTNAME: dengan Nama Domain yang Sepenuhnya Memenuhi Syarat (FQDN) sumber.
    • DEST_HOSTNAME: dengan FQDN target.
  4. Jalankan perintah T-SQL berikut di database tujuan untuk menambahkannya ke AOAG.

    USE [master]
    GO
    
    ALTER AVAILABILITY GROUP [migration-ag] JOIN WITH (CLUSTER_TYPE = EXTERNAL);
    ALTER AVAILABILITY GROUP [migration-ag] GRANT CREATE ANY DATABASE;
    GO
    
  5. Verifikasi AOAG dan status database yang baru dibuat di Object Explorer atau dengan menjalankan perintah T-SQL berikut.

    SELECT * FROM sys.dm_hadr_availability_group_states
    GO
    

    Verifikasi Database Replika.

AOAG SQL Server kini dikonfigurasi dan terus disinkronkan antara AWS dan Google Cloud. Sebagai langkah berikutnya, Anda harus mengonfigurasi WSFC dan pemroses untuk ketersediaan tinggi dan pemulihan dari bencana. Untuk informasi selengkapnya, lihat Windows Server Failover Clustering dengan SQL Server dan Apa yang dimaksud dengan pemroses grup ketersediaan.

Bermigrasi menggunakan grup ketersediaan terdistribusi

Grup ketersediaan terdistribusi adalah jenis grup ketersediaan khusus yang mencakup dua grup ketersediaan terpisah. Layanan ini dirancang untuk memberikan kemampuan ketersediaan tinggi dan pemulihan dari bencana di seluruh lokasi geografis yang tersebar. Arsitektur ini memungkinkan replikasi data dan failover yang lancar antara grup ketersediaan utama dan sekunder, yang ideal untuk migrasi data. Untuk informasi yang lebih mendetail, lihat Grup ketersediaan terdistribusi.

Bagian berikut membahas cara memigrasikan database SQL Server menggunakan grup ketersediaan terdistribusi.

Sebelum memulai

Pastikan Anda memiliki WSFC dengan SQL Server menggunakan grup ketersediaan dengan pemroses Virtual Network Name (VNN), yang berjalan di AWS.

Menyiapkan lingkungan tujuan

Untuk menyiapkan lingkungan tujuan, gunakan langkah-langkah berikut:

  1. Untuk mengonfigurasi WSFC dengan SQL Server menggunakan grup ketersediaan menggunakan load balancer internal di Google Cloud, lihat Mengonfigurasi grup ketersediaan Always-on SQL Server dengan commit sinkron menggunakan load balancer internal.

  2. Di Object Explorer, pastikan bookshelf-ag telah dibuat dan mereplikasi database bookshelf. Setelah diverifikasi, gunakan langkah berikutnya untuk menghapus grup ketersediaan dan database dari kedua node di cluster failover Anda.

    Memverifikasi Status Awal Cluster Target.

  3. Hubungkan ke node-1 di SSMS dan simpan alamat IP pemroses bookshelf.

    SELECT * FROM sys.availability_group_listeners
    
  4. Jalankan perintah T-SQL berikut untuk menghapus grup ketersediaan bookshelf-ag dan database bookshelf.

    USE master
    GO
    
    DROP AVAILABILITY GROUP [bookshelf-ag]
    GO
    ALTER DATABASE [bookshelf] SET SINGLE_USER WITH ROLLBACK IMMEDIATE
    GO
    DROP DATABASE [bookshelf]
    GO
    
  5. Jalankan T-SQL berikut di node-2 di SSMS untuk menghapus database yang direplikasi.

    USE master
    GO
    
    DROP DATABASE [bookshelf]
    GO
    

Membuat grup ketersediaan terdistribusi

Untuk membuat grup ketersediaan baru yang akan digunakan untuk grup ketersediaan terdistribusi, gunakan langkah-langkah berikut:

  1. Jalankan perintah T-SQL berikut di node-1.

    USE master
    GO
    
    CREATE AVAILABILITY GROUP [gcp-dest-ag]
    FOR
    REPLICA ON
        N'NODE-1' WITH
        (
            ENDPOINT_URL = N'TCP://NODE-1:5022',
            FAILOVER_MODE = MANUAL,
            AVAILABILITY_MODE = SYNCHRONOUS_COMMIT,
            BACKUP_PRIORITY = 50,
            SECONDARY_ROLE(ALLOW_CONNECTIONS = NO),
            SEEDING_MODE = AUTOMATIC
        ),
        N'NODE-2' WITH
        (
            ENDPOINT_URL = N'TCP://NODE-2:5022',
            FAILOVER_MODE = MANUAL,
            AVAILABILITY_MODE = SYNCHRONOUS_COMMIT,
            BACKUP_PRIORITY = 50,
            SECONDARY_ROLE(ALLOW_CONNECTIONS = NO),
            SEEDING_MODE = AUTOMATIC
        );
    GO
    
  2. Buat pemroses.

    USE master;
    GO
    
    ALTER AVAILABILITY GROUP [gcp-dest-ag]
    ADD LISTENER N'gcp-dest-lsnr' (
    WITH IP (
    (N'LISTENER_IP', N'255.255.255.0')
    ),
    PORT = 1433);
    GO
    

    Ganti LISTENER_IP dengan alamat IP pemroses.

  3. Hubungkan ke node-2 menggunakan SSMS dan jalankan perintah T-SQL berikut untuk menambahkannya ke grup ketersediaan gcp-dest-ag.

    USE master
    GO
    
    ALTER AVAILABILITY GROUP [gcp-dest-ag] JOIN;
    ALTER AVAILABILITY GROUP [gcp-dest-ag] GRANT CREATE ANY DATABASE;
    
  4. Hubungkan ke replika utama SQL Server sumber di AWS menggunakan SSMS dan jalankan perintah T-SQL berikut untuk membuat grup ketersediaan terdistribusi.

    USE [master]
    GO
    
    CREATE AVAILABILITY GROUP [distributed-ag]
    WITH (DISTRIBUTED)
    AVAILABILITY GROUP ON
    'AWS_AG' WITH
    (
        LISTENER_URL = 'tcp://AWS_LISTENER:5022',
        AVAILABILITY_MODE = ASYNCHRONOUS_COMMIT,
        FAILOVER_MODE = MANUAL,
        SEEDING_MODE = AUTOMATIC
    ),
    'gcp-dest-ag' WITH
    (
        LISTENER_URL = 'tcp://gcp-dest-lsnr:5022',
        AVAILABILITY_MODE = ASYNCHRONOUS_COMMIT,
        FAILOVER_MODE = MANUAL,
        SEEDING_MODE = AUTOMATIC
    )
    GO
    

    Ganti AWS_AG dengan nama grup ketersediaan di AWS dan AWS_LISTENER dengan pemroses grup ketersediaan AWS.

  5. Jalankan perintah T-SQL berikut di SSMS pada node-1 untuk menambahkannya ke grup ketersediaan terdistribusi.

    USE [master]
    GO
    
    ALTER AVAILABILITY GROUP [distributed-ag]
    JOIN
    AVAILABILITY GROUP ON
    'AWS_AG' WITH
    (
        LISTENER_URL = 'tcp://AWS_LISTENER:5022',
        AVAILABILITY_MODE = ASYNCHRONOUS_COMMIT,
        FAILOVER_MODE = MANUAL,
        SEEDING_MODE = AUTOMATIC
    ),
    'gcp-dest-ag' WITH
    (
        LISTENER_URL = 'tcp://gcp-dest-lsnr:5022',
        AVAILABILITY_MODE = ASYNCHRONOUS_COMMIT,
        FAILOVER_MODE = MANUAL,
        SEEDING_MODE = AUTOMATIC
    )
    GO
    

    Ganti AWS_AG dengan nama grup ketersediaan di AWS dan AWS_LISTENER dengan pemroses grup ketersediaan AWS.

  6. Jalankan perintah T-SQL berikut di `node-1' untuk memverifikasi bahwa semua grup ketersediaan berfungsi dengan baik dan direplikasi di seluruh grup ketersediaan terdistribusi ke cluster SQL Server baru di Google Cloud

    SELECT * FROM sys.dm_hadr_availability_group_states
    GO
    

Pembersihan

Setelah menyelesaikan tutorial, Anda dapat membersihkan resource yang dibuat agar resource tersebut berhenti menggunakan kuota dan dikenai biaya. Bagian berikut menjelaskan cara menghapus atau menonaktifkan resource ini.

Menghapus project

Cara termudah untuk menghilangkan penagihan adalah dengan menghapus project yang Anda buat untuk tutorial.

Untuk menghapus project:

  1. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.