Menyiapkan lingkungan Anda untuk link - Azure SQL Managed Instance
Berlaku untuk: Azure SQL Managed Instance
Artikel ini mengajarkan Anda cara menyiapkan lingkungan Anda untuk tautan Instans Terkelola sehingga Anda dapat mereplikasi antara SQL Server yang diinstal ke Windows atau Linux 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 SQL Server sekunder hanya didukung dimulai dengan SQL Server 2022 CU10 dan oleh instans yang dikonfigurasi dengan kebijakan pembaruan SQL Server 2022.
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 | /perbuatan |
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.
Catatan
Untuk SQL Server di Linux, lihat Mengaktifkan 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:
Buka Pengelola Konfigurasi SQL Server.
Pilih Layanan SQL Server dari panel kiri.
Klik kanan layanan SQL Server, lalu pilih Properti.
Buka tab Grup Ketersediaan AlwaysOn.
Pilih kotak centang Aktifkan Grup Ketersediaan AlwaysOn, lalu pilih OK.
- 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.
- Jika menggunakan opsi SQL Server 2016 (13.x), dan jika opsi Aktifkan Grup Ketersediaan AlwaysOn dinonaktifkan dengan pesan
Pilih OK dalam dialog.
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.
Catatan
Untuk SQL Server di Linux, lihat Mengaktifkan bendera pelacakan.
Untuk mengaktifkan bendera pelacakan ini saat startup, gunakan langkah-langkah berikut:
Buka Pengelola Konfigurasi SQL Server.
Pilih Layanan SQL Server dari panel kiri.
Klik kanan layanan SQL Server, lalu pilih Properti.
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.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:
Buka Pengelola Konfigurasi SQL Server.
Pilih Layanan SQL Server dari panel kiri.
Klik kanan layanan SQL Server, lalu pilih Hidupkan ulang.
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:
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:
- Perekanan jaringan virtual Azure
- Gateway VPN VNet-ke-VNet (portal Microsoft Azure, PowerShell, Azure CLI)
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)
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:
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.
Uji jaringan dengan membuat pekerjaan Agen SQL sementara di SQL Server dan SQL Managed Instance untuk memeriksa koneksi antara kedua instans. Saat Anda menggunakan Network Checker di SSMS, pekerjaan secara otomatis dibuat untuk Anda, dan dihapus setelah pengujian selesai. Anda perlu menghapus pekerjaan SQL Agent secara manual jika Anda menguji jaringan Anda dengan menggunakan T-SQL.
Catatan
Menjalankan skrip PowerShell oleh SQL Server Agent di SQL Server di Linux saat ini tidak didukung, sehingga saat ini tidak mungkin dijalankan Test-NetConnection
dari pekerjaan SQL Server Agent di SQL Server di Linux.
Untuk menggunakan SQL Agent untuk menguji konektivitas jaringan, Anda memerlukan persyaratan berikut:
- Pengguna yang melakukan pengujian harus memiliki izin untuk membuat pekerjaan (baik sebagai sysadmin atau milik peran SQLAgentOperator untuk
msdb
) untuk SQL Server dan SQL Managed Instance. - Layanan SQL Server Agent harus berjalan di SQL Server. Karena Agen aktif secara default pada SQL Managed Instance, tidak ada tindakan tambahan yang diperlukan.
Untuk menguji konektivitas jaringan antara SQL Server dan SQL Managed Instance di SSMS, ikuti langkah-langkah berikut:
Sambungkan ke instans yang akan menjadi replika utama di SSMS.
Di Object Explorer, perluas database, dan klik kanan database yang ingin Anda tautkan dengan sekunder. Pilih Tautan>>Tugas Azure SQL Managed Instance Uji Koneksi untuk membuka wizard Pemeriksa Jaringan:
Pilih Berikutnya pada halaman Pengenalan wizard Pemeriksa Jaringan.
Jika semua persyaratan terpenuhi di halaman Prasyarat , pilih Berikutnya. Jika tidak, atasi prasyarat yang tidak terukur, lalu pilih Jalankan Kembali Validasi.
Pada halaman Masuk , pilih Masuk untuk menyambungkan ke instans lain yang akan menjadi replika sekunder. Pilih Selanjutnya.
Periksa detail pada halaman Tentukan Opsi Jaringan dan berikan alamat IP, jika perlu. Pilih Selanjutnya.
Pada halaman Ringkasan , tinjau tindakan yang diambil wizard lalu pilih Selesai untuk menguji koneksi antara dua replika.
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.
Catatan
Azure Key Vault didukung oleh SQL Server di Linux yang dimulai dengan SQL Server 2022 CU 14.
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.
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:
- Buka SQL Server Management Studio.
- Dari menu, pilih Alat lalu pilih Opsi.
- Perluas Layanan Azure dan pilih Azure Cloud.
- Di bawah Pilih Azure Cloud, gunakan daftar dropdown untuk memilih AzureUSGovernment, atau cloud pemerintah lainnya, seperti AzureChinaCloud:
Jika Anda ingin kembali ke cloud publik, pilih AzureCloud dari daftar dropdown.
Konten terkait
Untuk menggunakan tautan:
- Mengonfigurasi tautan antara SQL Server dan SQL Managed instance dengan SSMS
- Mengonfigurasi tautan antara SQL Server dan SQL Managed instance dengan skrip
- Gagal melalui tautan
- Bermigrasi dengan tautan
- Praktik terbaik untuk mempertahankan tautan
Untuk mempelajari selengkapnya tentang tautan:
Untuk skenario replikasi dan migrasi lainnya, pertimbangkan: