Bagikan melalui


Menyiapkan lingkungan Anda untuk link - Azure SQL Managed Instance

Berlaku untuk:Azure SQL Managed Instance

Artikel ini mengajarkan cara menyiapkan lingkungan Anda untuk tautan Instans Terkelola sehingga Anda dapat mereplikasi antara SQL Server dan Azure SQL Managed Instance.

Catatan

Anda dapat mengotomatiskan menyiapkan lingkungan Anda untuk tautan Instans Terkelola dengan menggunakan skrip yang dapat diunduh. Untuk informasi selengkapnya, lihat blog Penyiapan tautan Otomatis.

Prasyarat

Untuk membuat tautan antara SQL Server dan Azure SQL Managed Instance, Anda memerlukan prasyarat berikut:

  • Langganan Azure aktif. Jika Anda tidak memilikinya, buat akun gratis.
  • Versi SQL Server yang didukung dengan pembaruan layanan yang diperlukan.
  • Azure SQL Managed Instance. Memulai jika Anda belum memilikinya.
  • Tentukan server mana yang ingin Anda jadikan primer awal untuk menentukan dari mana Anda harus membuat tautan. Mengonfigurasi tautan dari SQL Managed Instance primer ke sekunder SQL Server hanya didukung dimulai dengan SQL Server 2022 CU10.

Perhatian

Saat Anda membuat instans terkelola SQL untuk digunakan dengan fitur tautan, mempertimbangkan persyaratan memori untuk setiap fitur OLTP Dalam Memori yang digunakan SQL Server. Untuk informasi selengkapnya, lihat Gambaran Umum batas sumber daya Azure SQL Managed Instance.

Izin

Untuk SQL Server, Anda harus memiliki izin sysadmin .

Untuk Azure SQL Managed Instance, Anda harus menjadi anggota Kontributor SQL Managed Instance, atau memiliki izin berikut untuk peran kustom:

Sumber daya Microsoft.Sql/ Izin yang diperlukan
Microsoft.Sql/managedInstances /read, /write
Microsoft.Sql/managedInstances/hybridCertificate /Tindakan
Microsoft.Sql/managedInstances/databases /read, /delete, /write, /completeRestore/action, /readBackups/action, /restoreDetails/read
Microsoft.Sql/managedInstances/distributedAvailabilityGroups /read, /write, /delete, /setRole/action
Microsoft.Sql/managedInstances/endpointCertificates /read
Microsoft.Sql/managedInstances/hybridLink /read, /write, /delete
Microsoft.Sql/managedInstances/serverTrustCertificates /write, /delete, /read

Menyiapkan instans SQL Server

Untuk menyiapkan instans SQL Server, Anda perlu memvalidasi bahwa:

  • Anda menggunakan versi minimum yang didukung.
  • Anda telah mengaktifkan fitur grup ketersediaan.
  • Anda telah menambahkan bendera pelacakan yang tepat saat startup.
  • Database Anda berada dalam model pemulihan penuh dan dicadangkan.

Anda perlu memulai ulang SQL Server agar perubahan ini berlaku.

Menginstal pembaruan layanan

Pastikan versi SQL Server Anda telah menginstal pembaruan layanan yang sesuai, seperti yang tercantum dalam tabel dukungan versi. Jika Anda perlu menginstal pembaruan apa pun, Anda harus memulai ulang instans SQL Server Anda selama pembaruan.

Untuk memeriksa versi SQL Server Anda, jalankan skrip Transact-SQL (T-SQL) di SQL Server:

-- Run on SQL Server
-- Shows the version and CU of the SQL Server
USE master;
GO
SELECT @@VERSION as 'SQL Server version';

Membuat kunci master database di master database

Buat kunci master database di master database, jika belum ada. Sisipkan kata sandi Anda sebagai pengganti <strong_password> skrip berikut, dan simpan di tempat yang rahasia dan aman. Jalankan skrip T-SQL ini di SQL Server:

-- Run on SQL Server
-- Create a master key
USE master;
GO
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<strong_password>';

Untuk memastikan bahwa Anda memiliki kunci master database, gunakan skrip T-SQL berikut di SQL Server:

-- Run on SQL Server
USE master;
GO
SELECT * FROM sys.symmetric_keys WHERE name LIKE '%DatabaseMasterKey%';

Mengaktifkan Grup Ketersediaan

Fitur tautan bergantung pada fitur grup ketersediaan AlwaysOn, yang dinonaktifkan secara default. Untuk informasi selengkapnya, lihat Mengaktifkan fitur grup ketersediaan AlwaysOn.

Untuk mengonfirmasi fitur grup ketersediaan diaktifkan, jalankan skrip T-SQL berikut di SQL Server:

-- Run on SQL Server
-- Is the availability groups feature enabled on this SQL Server
DECLARE @IsHadrEnabled sql_variant = (select SERVERPROPERTY('IsHadrEnabled'))
SELECT
    @IsHadrEnabled as 'Is HADR enabled',
    CASE @IsHadrEnabled
        WHEN 0 THEN 'Availability groups DISABLED.'
        WHEN 1 THEN 'Availability groups ENABLED.'
        ELSE 'Unknown status.'
    END
    as 'HADR status'

Penting

Untuk SQL Server 2016 (13.x), jika Anda perlu mengaktifkan fitur grup ketersediaan, Anda harus menyelesaikan langkah-langkah tambahan yang didokumentasikan dalam menyiapkan prasyarat SQL Server 2016 - tautan Azure SQL Managed Instance. Langkah-langkah tambahan ini tidak diperlukan untuk SQL Server 2019 (15.x) dan versi yang lebih baru yang didukung oleh tautan.

Jika fitur grup ketersediaan tidak diaktifkan, ikuti langkah-langkah berikut untuk mengaktifkannya:

  1. Buka Pengelola Konfigurasi SQL Server.

  2. Pilih Layanan SQL Server dari panel kiri.

  3. Klik kanan layanan SQL Server, lalu pilih Properti.

    Screenshot that shows SQL Server Configuration Manager, with selections for opening properties for the service.

  4. Buka tab Grup Ketersediaan AlwaysOn.

  5. Pilih kotak centang Aktifkan Grup Ketersediaan AlwaysOn, lalu pilih OK.

    Screenshot that shows the properties for Always On availability groups.

    • Jika menggunakan opsi SQL Server 2016 (13.x), dan jika opsi Aktifkan Grup Ketersediaan AlwaysOn dinonaktifkan dengan pesan This computer is not a node in a failover cluster., ikuti langkah tambahan yang dijelaskan dalam Menyiapkan prasyarat SQL Server 2016 - tautan Azure SQL Managed Instance. Setelah Anda menyelesaikan langkah-langkah lain ini, kembali dan coba lagi langkah ini.
  6. Pilih OK dalam dialog.

  7. Mulai ulang layanan SQL Server.

Mengaktifkan bendera pelacakan startup

Untuk mengoptimalkan performa tautan Anda, sebaiknya aktifkan bendera pelacakan berikut saat startup:

  • -T1800: Bendera pelacakan ini mengoptimalkan performa ketika file log untuk replika primer dan sekunder dalam grup ketersediaan dihosting pada disk dengan ukuran sektor yang berbeda, seperti 512 byte dan 4 KB. Jika replika primer dan sekunder memiliki ukuran sektor disk 4 KB, bendera pelacakan ini tidak diperlukan. Untuk informasi lebih lanjut, lihat KB3009974.
  • -T9567: Bendera pelacakan ini mengaktifkan kompresi aliran data untuk grup ketersediaan selama penempatan otomatis. Kompresi meningkatkan beban pada prosesor tetapi secara signifikan dapat mengurangi waktu transfer selama penempatan.

Untuk mengaktifkan bendera pelacakan ini saat startup, gunakan langkah-langkah berikut:

  1. Buka Pengelola Konfigurasi SQL Server.

  2. Pilih Layanan SQL Server dari panel kiri.

  3. Klik kanan layanan SQL Server, lalu pilih Properti.

    Screenshot that shows SQL Server Configuration Manager.

  4. Buka tab Parameter Startup. Di Tentukan parameter startup, masukkan -T1800 dan pilih Tambahkan untuk menambahkan parameter startup. Lalu masukkan -T9567 dan pilih Tambahkan untuk menambahkan bendera pelacakan lainnya. Pilih Terapkan untuk menyimpan perubahan.

    Screenshot that shows startup parameter properties.

  5. Pilih OK untuk menutup jendela Properti.

Untuk informasi selengkapnya, lihat sintaks untuk mengaktifkan bendera pelacakan.

Menghidupkan ulang SQL Server dan memvalidasi konfigurasi

Setelah memastikan bahwa Anda menggunakan versi SQL Server yang didukung, mengaktifkan fitur Grup Ketersediaan AlwaysOn, dan menambahkan bendera pelacakan startup, hidupkan ulang instans SQL Server Anda untuk menerapkan semua perubahan ini:

  1. Buka Pengelola Konfigurasi SQL Server.

  2. Pilih Layanan SQL Server dari panel kiri.

  3. Klik kanan layanan SQL Server, lalu pilih Hidupkan ulang.

    Screenshot that shows the SQL Server restart command call.

Setelah menghidupkan ulang, jalankan skrip T-SQL berikut pada SQL Server untuk memvalidasi konfigurasi instans SQL Server Anda:

-- Run on SQL Server
-- Shows the version and CU of SQL Server
USE master;
GO
SELECT @@VERSION as 'SQL Server version';
GO
-- Shows if the Always On availability groups feature is enabled
SELECT SERVERPROPERTY ('IsHadrEnabled') as 'Is Always On enabled? (1 true, 0 false)';
GO
-- Lists all trace flags enabled on SQL Server
DBCC TRACESTATUS;

Versi SQL Server Anda harus menjadi salah satu versi yang didukung yang diterapkan dengan pembaruan layanan yang sesuai, fitur grup ketersediaan AlwaysOn harus diaktifkan, dan Anda harus memiliki bendera -T1800 pelacakan dan -T9567 diaktifkan. Cuplikan layar berikut adalah contoh hasil yang diharapkan untuk instans SQL Server yang telah dikonfigurasi dengan benar:

Screenshot that shows the expected outcome in S S M S.

Mengonfigurasi konektivitas jaringan

Agar link dapat berfungsi, harus ada konektivitas jaringan antara SQL Server dengan SQL Managed Instance. Opsi jaringan yang Anda pilih bergantung pada apakah instans SQL Server Anda berada di jaringan Azure atau tidak.

SQL Server di Azure Virtual Machines

Menyebarkan SQL Server pada Azure Virtual Machines di jaringan virtual Azure yang sama yang menghosting SQL Managed Instance adalah metode paling sederhana, karena akan tersedia konektivitas jaringan antara kedua instans secara otomatis. Untuk informasi selengkapnya, lihat Mulai Cepat: Mengonfigurasi Komputer Virtual Azure untuk menyambungkan ke Azure SQL Managed Instance.

Jika SQL Server Anda di instans Azure Virtual Machines berada di jaringan virtual yang berbeda dari instans terkelola, Anda perlu membuat koneksi antara kedua jaringan virtual. Jaringan virtual tidak harus dalam langganan yang sama agar skenario ini berfungsi.

Ada dua opsi untuk menyambungkan jaringan virtual:

Peering lebih disukai karena menggunakan jaringan backbone Microsoft, jadi dari perspektif konektivitas, tidak ada perbedaan latensi yang nyata antara komputer virtual dalam jaringan virtual yang di-peering dan dalam jaringan virtual yang sama. Peering jaringan virtual didukung antara jaringan di wilayah yang sama. Peering jaringan virtual global didukung untuk instans yang dihosting di subnet yang dibuat setelah 22 September 2020. Untuk informasi selengkapnya, lihat Tanya jawab umum (FAQ).

SQL Server di luar Azure

Jika instans SQL Server Anda dihosting di luar Azure, buat koneksi VPN antara SQL Server dan SQL Managed Instance dengan salah satu opsi berikut:

Tip

Kami merekomendasikan ExpressRoute untuk performa jaringan terbaik saat Anda mereplikasi data. Provisikan gateway dengan bandwidth yang cukup untuk kasus penggunaan Anda.

Port jaringan antara lingkungan

Terlepas dari mekanisme konektivitas, ada persyaratan yang harus dipenuhi agar lalu lintas jaringan mengalir di antara lingkungan:

Aturan Network Security Group (NSG) pada instans terkelola hosting subnet perlu mengizinkan:

  • Port masuk 5022 dan rentang port 11000-11999 untuk menerima lalu lintas dari IP SQL Server sumber
  • Port keluar 5022 untuk mengirim lalu lintas ke IP SQL Server tujuan

Semua firewall di jaringan hosting SQL Server, dan OS host perlu mengizinkan:

  • Port masuk 5022 dibuka untuk menerima lalu lintas dari rentang IP sumber subnet MI /24 (misalnya 10.0.0.0/24)
  • Port keluar 5022, dan rentang port 11000-11999 dibuka untuk mengirim lalu lintas ke rentang IP tujuan subnet MI (misalnya 10.0.0.0/24)

Diagram showing network requirements to set up the link between SQL Server and managed instance.

Tabel berikut menjelaskan tindakan port untuk setiap lingkungan:

Lingkungan Apa yang harus dilakukan
SQL Server (di dalam Azure) Buka lalu lintas masuk dan keluar di port 5022 untuk firewall jaringan ke seluruh subnet rentang IP dari SQL Managed Instance. Jika perlu, lakukan hal yang sama pada firewall OS (Windows/Linux) host SQL Server. Untuk mengizinkan komunikasi pada port 5022, buat aturan kelompok keamanan jaringan (NSG) di jaringan virtual yang menghosting VM.
SQL Server (di luar Azure) Buka lalu lintas masuk dan keluar di port 5022 untuk firewall jaringan ke seluruh subnet rentang IP dari SQL Managed Instance. Jika perlu, lakukan hal yang sama pada firewall OS (Windows/Linux) host SQL Server.
Instans Terkelola SQL Buat aturan NSG di portal Azure untuk memungkinkan lalu lintas masuk dan keluar dari alamat IP dan jaringan yang menghosting SQL Server pada port 5022 dan rentang port 11000-11999.

Gunakan skrip PowerShell berikut pada OS host Windows dari instans SQL Server, untuk membuka port di Windows Firewall:

New-NetFirewallRule -DisplayName "Allow TCP port 5022 inbound" -Direction inbound -Profile Any -Action Allow -LocalPort 5022 -Protocol TCP
New-NetFirewallRule -DisplayName "Allow TCP port 5022 outbound" -Direction outbound -Profile Any -Action Allow -LocalPort 5022 -Protocol TCP

Diagram berikut menunjukkan contoh lingkungan jaringan lokal, menunjukkan bahwa semua firewall di lingkungan harus memiliki port terbuka, termasuk firewall OS yang menghosting SQL Server, dan firewall dan/atau gateway perusahaan apa pun:

Diagram showing network infrastructure to set up the link between SQL Server and managed instance.

Penting

  • Port harus terbuka di setiap firewall di lingkungan jaringan, termasuk server host, serta firewall atau gateway perusahaan apa pun di jaringan. Di lingkungan perusahaan, Anda mungkin perlu menunjukkan informasi kepada administrator jaringan Anda di bagian ini untuk membantu membuka port tambahan di lapisan jaringan perusahaan.
  • Meskipun Anda dapat memilih untuk menyesuaikan titik akhir di sisi SQL Server, nomor port untuk SQL Managed Instance tidak dapat diubah atau disesuaikan.
  • Rentang alamat IP subnet yang menghosting instans terkelola, dan SQL Server tidak boleh tumpang tindih.

Menambahkan URL ke daftar yang diizinkan

Bergantung pada pengaturan keamanan jaringan Anda, mungkin perlu menambahkan URL untuk FQDN SQL Managed Instance dan beberapa titik akhir Manajemen Sumber Daya yang digunakan oleh Azure ke daftar izin Anda.

Berikut ini mencantumkan sumber daya yang harus ditambahkan ke daftar izin Anda:

  • Nama domain yang sepenuhnya memenuhi syarat (FQDN) dari SQL Managed Instance Anda. Misalnya: managedinstance1.6d710bcf372b.database.windows.net.
  • Microsoft Entra Authority
  • ID Sumber Daya Titik Akhir Microsoft Entra
  • Titik akhir Resource Manager
  • Titik Akhir Layanan

Ikuti langkah-langkah di bagian Konfigurasikan SSMS untuk cloud pemerintah untuk mengakses antarmuka Alat di SQL Server Management Studio (SSMS) dan identifikasi URL tertentu untuk sumber daya dalam cloud yang perlu Anda tambahkan ke daftar yang diizinkan.

Menguji konektivitas jaringan

Konektivitas jaringan dua arah antara SQL Server dan SQL Managed Instance diperlukan agar link dapat berfungsi. Setelah Anda membuka port di sisi SQL Server dan mengonfigurasi aturan NSG di sisi SQL Managed Instance, uji konektivitas dengan menggunakan SQL Server Management Studio (SSMS) atau Transact-SQL.

Untuk menguji konektivitas jaringan antara SQL Server dan SQL Managed Instance di SSMS, ikuti langkah-langkah berikut:

  1. Koneksi ke instans yang akan menjadi replika utama di SSMS.

  2. Di Object Explorer, perluas database, dan klik kanan database yang ingin Anda tautkan dengan sekunder. Pilih tautan>>Tugas Azure SQL Managed Instance Uji Koneksi ion untuk membuka wizard Pemeriksa Jaringan:

    Screenshot of object explorer in S S M S, with test connection selected in the database link right-click menu.

  3. Pilih Berikutnya pada halaman Pengenalanwizard Pemeriksa Jaringan.

  4. Jika semua persyaratan terpenuhi di halaman Prasyarat , pilih Berikutnya. Jika tidak, atasi prasyarat yang tidak terukur, lalu pilih Jalankan Kembali Validasi.

  5. Pada halaman Masuk , pilih Masuk untuk menyambungkan ke instans lain yang akan menjadi replika sekunder. Pilih Selanjutnya.

  6. Periksa detail pada halaman Tentukan Opsi Jaringan dan berikan alamat IP, jika perlu. Pilih Selanjutnya.

  7. Pada halaman Ringkasan , tinjau tindakan yang diambil wizard lalu pilih Selesai untuk menguji koneksi antara dua replika.

  8. Tinjau halaman Hasil untuk memvalidasi konektivitas yang ada di antara dua replika, lalu pilih Tutup untuk menyelesaikan.

Perhatian

Lanjutkan dengan langkah berikutnya hanya jika Anda telah memvalidasi konektivitas jaringan antara lingkungan sumber dan target Anda. Jika tidak, pecahkan masalah konektivitas jaringan sebelum melanjutkan.

Memigrasikan sertifikat database yang dilindungi TDE (opsional)

Jika Anda menautkan database SQL Server yang dilindungi oleh Transparent Data Encryption (TDE) ke instans terkelola, Anda harus memigrasikan sertifikat enkripsi yang sesuai dari instans SQL Server lokal atau Azure VM ke instans terkelola sebelum menggunakan tautan. Untuk langkah-langkah terperinci, lihat Memigrasikan sertifikat database yang dilindungi TDE ke Azure SQL Managed Instance.

Database SQL Managed Instance yang dienkripsi dengan kunci TDE yang dikelola layanan tidak dapat ditautkan ke SQL Server. Anda dapat menautkan database terenkripsi ke SQL Server hanya jika dienkripsi dengan kunci yang dikelola pelanggan dan server tujuan memiliki akses ke kunci yang sama yang digunakan untuk mengenkripsi database. Untuk informasi selengkapnya, lihat Menyiapkan SQL Server TDE dengan Azure Key Vault.

Menginstal SQL Server Management Studio

SQL Server Management Studio (SSMS) adalah cara term mudah untuk menggunakan tautan Instans Terkelola. Unduh SSMS versi 19.0, atau yang lebih baru dan instal ke komputer klien Anda.

Setelah penginstalan selesai, buka SQL Server Management Studio dan buat sambungan ke instans SQL Server Anda yang didukung. Klik kanan database pengguna dan validasi bahwa opsi Link Azure SQL Managed Instance muncul di menu.

Screenshot that shows the Azure SQL Managed Instance link option on the context menu.

Mengonfigurasi SSMS untuk cloud pemerintah

Jika Anda ingin menyebarkan SQL Managed Instance ke cloud pemerintah, Anda perlu memodifikasi pengaturan SQL Server Management Studio (SSMS) anda untuk menggunakan cloud yang benar. Jika Anda tidak menyebarkan SQL Managed Instance ke cloud pemerintah, lewati langkah ini.

Untuk memperbarui pengaturan SSMS Anda, ikuti langkah-langkah berikut:

  1. Buka SQL Server Management Studio.
  2. Dari menu, pilih Alat lalu pilih Opsi.
  3. Perluas Layanan Azure dan pilih Azure Cloud.
  4. Di bawah Pilih Azure Cloud, gunakan daftar dropdown untuk memilih AzureUSGovernment, atau cloud pemerintah lainnya, seperti AzureChinaCloud:

Screenshot of SSMS UI, options page, Azure services, with Azure cloud highlighted.

Jika Anda ingin kembali ke cloud publik, pilih AzureCloud dari daftar dropdown.