Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk:Azure SQL Managed Instance
Artikel ini menguraikan praktik terbaik untuk menggunakan tautan Instans Terkelola untuk mereplikasi data antara Azure SQL Managed Instance dan instans SQL Server Anda yang dihosting di mana saja. Tautan ini menyediakan duplikasi data hampir real-time antara replika yang ditautkan.
Melakukan cadangan log secara teratur
Jika SQL Server adalah primer utama Anda, ambil cadangan log pertama di SQL Server setelah proses penyemaian awal selesai, ketika database tidak lagi berada dalam status Pemulihan... pada Azure SQL Managed Instance. Kemudian ambil cadangan log transaksi SQL Server secara teratur untuk menjaga ukuran file log transaksi tetap sehat saat SQL Server berada dalam peran utama.
Fitur tautan mereplikasi data dengan menggunakan teknologi grup ketersediaan terdistribusi berdasarkan grup ketersediaan AlwaysOn. Replikasi data grup ketersediaan terdistribusi didasarkan pada replikasi catatan log transaksi. Instans SQL Server utama tidak dapat memotong catatan log transaksi apa pun dari database hingga direplikasi ke database pada replika sekunder. Jika masalah koneksi jaringan menyebabkan replikasi catatan log transaksi lambat atau diblokir, file log terus bertambah pada instans utama. Intensitas beban kerja dan kecepatan jaringan menentukan kecepatan pertumbuhan. Jika pemadaman koneksi jaringan berkepanjangan dan beban kerja pada instans utama berat, file log dapat mengambil semua ruang penyimpanan yang tersedia.
Mengambil cadangan log transaksi reguler memotong log transaksi dan meminimalkan risiko kehabisan ruang pada instans SQL Server utama karena pertumbuhan file log. Tidak ada tindakan tambahan yang diperlukan ketika SQL Managed Instance adalah yang utama karena cadangan log sudah diambil secara otomatis. Dengan mengambil cadangan log secara teratur di SQL Server utama Anda, Anda membuat database Anda lebih tahan terhadap peristiwa pertumbuhan log yang tidak diencana. Pertimbangkan untuk menjadwalkan tugas pencadangan log harian dengan menggunakan pekerjaan SQL Server Agent.
Anda dapat menggunakan skrip Transact-SQL (T-SQL) untuk mencadangkan file log, seperti sampel yang disediakan pada bagian ini. Ganti tempat penampung dalam skrip sampel dengan nama database, nama dan jalur file cadangan, dan deskripsi Anda.
Untuk mencadangkan log transaksi Anda, gunakan skrip Transact-SQL (T-SQL) sampel berikut di SQL Server:
-- Execute on SQL Server
-- Take log backup
BACKUP LOG [<DatabaseName>]
TO DISK = N'<DiskPathandFileName>'
WITH NOFORMAT, NOINIT,
NAME = N'<Description>', SKIP, NOREWIND, NOUNLOAD, COMPRESSION, STATS = 1
Gunakan perintah Transact-SQL (T-SQL) berikut untuk memeriksa ruang log yang digunakan oleh database Anda di SQL Server:
-- Execute on SQL Server
DBCC SQLPERF(LOGSPACE);
Output kueri terlihat seperti contoh berikut untuk database tpccsampel :
Dalam contoh ini, database telah menggunakan 76% dari log yang tersedia, dengan ukuran file log absolut sekitar 27 GB (27.971 MB). Ambang untuk tindakan bervariasi berdasarkan beban kerja Anda. Dalam contoh sebelumnya, ukuran log transaksi dan persentase penggunaan log biasanya menunjukkan bahwa Anda harus mengambil cadangan log transaksi untuk memotong file log dan membebaskan beberapa ruang, atau, Anda harus mengambil cadangan log yang lebih sering. Ini juga bisa menjadi indikasi bahwa pemotongan log transaksi sedang diblokir oleh transaksi terbuka. Untuk selengkapnya tentang pemecahan masalah log transaksi di SQL Server, lihat Memecahkan Masalah Log Transaksi Penuh (Kesalahan SQL Server 9002). Untuk informasi selengkapnya tentang pemecahan masalah log transaksi di Azure SQL Managed Instance, lihat Memecahkan masalah kesalahan log transaksi dengan Azure SQL Managed Instance.
Catatan
Saat berpartisipasi dalam tautan, SQL Managed Instance akan secara otomatis melakukan pencadangan penuh dan log transaksi, terlepas dari apakah itu replika utama atau bukan. Pencadangan diferensial tidak diambil, yang dapat menyebabkan waktu pemulihan yang lebih lama.
Mencocokkan kapasitas performa antar replika
Saat Anda menggunakan fitur tautan, cocokkan kapasitas performa antara SQL Server dan SQL Managed Instance. Pencocokan ini membantu Anda menghindari masalah performa jika replika sekunder tidak dapat mengikuti replikasi dari replika utama, atau setelah failover. Kapasitas performa mencakup inti CPU (atau vCore di Azure), memori, dan throughput I/O.
Anda dapat memantau performa replikasi dengan memeriksa ukuran antrean pengulangan pada replika sekunder. Ukuran antrean redo menunjukkan jumlah rekaman log yang menunggu untuk diproses ulang pada replika sekunder. Ukuran antrean ulang yang konsisten tinggi menunjukkan bahwa replika sekunder tidak dapat mengimbangi replika utama. Anda dapat memeriksa ukuran antrean pengulangan dengan cara berikut:
- Nilai
redo_queue_sizedalam tampilan manajemen dinamis sys.dm_hadr_database_replica_states pada replika utama. - Nilai
InstanceRedoLagReplicationSecondsdalam Get-AzSqlInstanceLink pada replika utama.
Jika ukuran antrean ulang secara konsisten tinggi, pertimbangkan untuk meningkatkan sumber daya pada replika sekunder.
Putar sertifikat
Anda mungkin perlu memutar sertifikat yang digunakan secara manual untuk mengamankan titik akhir pencerminan database di SQL Server. Karena layanan mengelola dan secara otomatis memutar sertifikat yang digunakan untuk mengamankan titik akhir pencerminan database pada SQL Managed Instance, Anda tidak perlu memutarnya secara manual.
SQL Server
Sertifikat yang Anda gunakan untuk mengamankan titik akhir pencerminan database di SQL Server dapat kedaluwarsa. Jika sertifikat kedaluwarsa, sertifikat dapat menyebabkan degradasi tautan. Untuk mencegah masalah ini, putar sertifikat sebelum kedaluwarsa.
Gunakan perintah Transact-SQL (T-SQL) berikut untuk memeriksa tanggal kedaluwarsa sertifikat saat ini:
-- Run on SQL Server
USE MASTER
GO
SELECT * FROM sys.certificates WHERE pvt_key_encryption_type = 'MK'
Jika sertifikat Anda akan kedaluwarsa, atau telah kedaluwarsa, buat sertifikat baru, lalu ubah titik akhir yang ada untuk mengganti sertifikat saat ini.
Setelah mengonfigurasi titik akhir untuk menggunakan sertifikat baru, Anda dapat menghilangkan sertifikat yang kedaluwarsa.
SQL Managed Instance
Sertifikat titik akhir pencerminan database pada SQL Managed Instance secara otomatis diputar secara berkala. Anda tidak perlu memantau tanggal kedaluwarsa untuk sertifikat titik akhir pencerminan database pada SQL Managed Instance, selama Anda dapat memvalidasi rantai sertifikat di SQL Server dengan sukses.
Memvalidasi rantai sertifikat di SQL Server
Catatan
Validasi rantai sertifikat secara berkala untuk tautan yang ada atau untuk memecahkan masalah dengan tautan yang terdegradasi. Jika Anda mengonfigurasi tautan baru atau baru-baru ini menyelesaikan langkah-langkah di bagian Mendapatkan kunci publik sertifikat dari SQL Managed Instance dan mengimpornya ke SQL Server dan Mengimpor kunci otoritas sertifikat akar tepercaya Azure ke SQL Server, lewati bagian ini.
Masalah dengan rantai sertifikat dapat menurunkan tautan. Untuk mencegah masalah ini, validasi rantai sertifikat secara teratur di SQL Server.
Skenario berikut dapat menyebabkan masalah dengan rantai sertifikat di SQL Server:
- Rotasi sertifikat terjadwal pada SQL Managed Instance.
- Perubahan yang tidak disengaja atau tidak diinginkan pada sertifikat di SQL Server, seperti menghapus atau mengubah sertifikat yang digunakan untuk mengamankan endpoint pencerminan basis data.
Pertama, tentukan certificate_id sertifikat titik akhir MI yang diimpor dengan mengganti nilai <ManagedInstanceFQDN> lalu menjalankan kueri berikut di SQL Server:
-- Run on SQL Server
USE master
SELECT name, subject, certificate_id, start_date, expiry_date
FROM sys.certificates
WHERE issuer_name LIKE '%Microsoft Corporation%' AND name = '<ManagedInstanceFQDN>'
GO
Selanjutnya, validasi sertifikat dengan mengganti nilai dari <certificate_id> hasil kueri sebelumnya lalu jalankan kueri berikut di SQL Server:
-- Run on SQL Server
USE master
EXEC sp_validate_certificate_ca_chain <certificate_id>
GO
Respons Commands completed successfully. Completion time: ... menunjukkan sertifikat titik akhir MI berhasil divalidasi.
Penting
Prosedur sp_validate_certificate_ca_chain tersimpan bergantung pada layanan OS host untuk melakukan validasi sertifikat, yang mungkin melibatkan pemeriksaan pencabutan sertifikat online. Jika OS host tidak dikonfigurasi untuk mengakses internet, eksekusi gagal meskipun rantai sertifikat valid.
Jika Anda mengalami kesalahan, mitigasi yang paling andal adalah memulihkan rantai sertifikat dengan terlebih dahulu menghilangkan semua sertifikat yang dibuat di bagian Dapatkan kunci umum sertifikat dari SQL Managed Instance dan mengimpornya ke SQL Server dan Mengimpor kunci otoritas sertifikat akar tepercaya Azure ke SQL Server, lalu mengimpornya kembali.
Menambahkan bendera pelacakan startup
Di SQL Server, ada dua bendera pelacakan (-T1800 dan -T9567) yang, ketika ditambahkan sebagai parameter startup, dapat mengoptimalkan performa replikasi data melalui tautan. Lihat Mengaktifkan bendera pelacakan startup untuk mempelajari lebih lanjut.
Gunakan komit sinkron dengan hati-hati
Mode penerapan default untuk tautan adalah asinkron. Meskipun dimungkinkan untuk mengubah mode komit menjadi sinkron, tidak disarankan dan tidak perlu untuk mencegah potensi kehilangan data.
Selama failover terhubung yang direncanakan, replikasi untuk sementara beralih ke mode komit sinkron hingga failover selesai. Setelah failover, mode penerapan beralih kembali ke asinkron, meskipun secara eksplisit diatur ke mode penerapan sinkron sebelum failover.
Menggunakan mode penerapan sinkron untuk tautan dapat memengaruhi performa replika utama Anda, terutama jika ada latensi jaringan yang tinggi antara replika. Dalam mode penerapan sinkron, transaksi pada replika utama harus menunggu konfirmasi bahwa catatan log transaksi diperkuat pada replika sekunder sebelum transaksi dapat dilakukan pada primer. Waktu tunggu ini meningkat dengan latensi jaringan yang lebih tinggi, yang dapat menyebabkan peningkatan waktu respons transaksi dan pengurangan throughput pada replika utama.
Konten terkait
Untuk menggunakan tautan:
- Menyiapkan lingkungan untuk tautan Instans Terkelola
- 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
- Mengatasi masalah dengan tautan
Untuk mempelajari selengkapnya tentang tautan:
- Gambaran umum tautan Instans Terkelola
- Pemulihan bencana dengan tautan Instans Terkelola
- Praktik terbaik untuk mempertahankan tautan
Untuk skenario replikasi dan migrasi lainnya, pertimbangkan: