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 saat menggunakan tautan Instans Terkelola untuk mereplikasi data antara Azure SQL Managed Instance dan instans SQL Server Anda yang dihosting di mana saja, menyediakan replikasi data mendekati real-time antara replika tertaut.
Melakukan cadangan log secara teratur
Jika SQL Server adalah primer awal Anda, penting untuk mengambil cadangan log pertama di SQL Server setelah penyemaian awal selesai, ketika database tidak lagi dalam status Pemulihan... pada Azure SQL Managed Instance. Kemudian ambil cadangan log transaksi SQL Server secara teratur untuk mempertahankan ukuran file log transaksi yang sehat saat SQL Server berada dalam peran utama.
Fitur tautan mereplikasi data menggunakan teknologi grup ketersediaan terdistribusi berdasarkan grup ketersediaan AlwaysOn. Replikasi data dengan grup ketersediaan terdistribusi didasarkan pada mereplikasi catatan log transaksi. Tidak ada catatan log transaksi yang dapat dipotong dari database pada instans SQL Server utama hingga direplikasi ke database pada replika sekunder. Jika replikasi catatan log transaksi berjalan lambat atau diblokir karena masalah koneksi jaringan, file log akan terus bertambah pada instans utama. Kecepatan bertambahnya log tergantung pada intensitas beban kerja dan kecepatan jaringan. Jika ada pemadaman koneksi jaringan yang berkepanjangan dan beban kerja yang berat pada instans utama, 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 merupakan indikasi 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, pencadangan log penuh dan transaksi otomatis diambil dari SQL Managed Instance apakah itu replika utama atau tidak. Pencadangan diferensial tidak diambil, yang dapat menyebabkan waktu pemulihan yang lebih lama.
Mencocokkan kapasitas performa antar replika
Saat Anda menggunakan fitur tautan, penting untuk mencocokkan kapasitas performa antara SQL Server dan SQL Managed Instance untuk 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 memeriksa performa replikasi dengan ukuran antrean pengulangan pada replika sekunder. Ukuran antrean pengulangan menunjukkan jumlah rekaman log yang menunggu untuk direbus pada replika sekunder. Ukuran antrean pengulangan yang tinggi secara konsisten menunjukkan bahwa replika sekunder tidak dapat mengikuti 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 sertifikat yang digunakan untuk mengamankan titik akhir pencerminan database pada SQL Managed Instance dikelola oleh layanan dan diputar secara otomatis, Anda tidak perlu memutarnya sendiri secara manual.
SQL Server
Dimungkinkan bagi sertifikat yang Anda gunakan untuk mengamankan titik akhir pencerminan database di SQL Server kedaluwarsa, yang 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, Anda dapat membuat sertifikat baru, lalu mengubah titik akhir yang ada untuk mengganti sertifikat saat ini.
Setelah titik akhir dikonfigurasi 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. Memantau tanggal kedaluwarsa untuk sertifikat titik akhir pencerminan database pada SQL Managed Instance tidak diperlukan, selama Anda dapat memvalidasi rantai sertifikat di SQL Server dengan sukses.
Memvalidasi rantai sertifikat di SQL Server
Catatan
Rantai sertifikat harus divalidasi secara berkala untuk tautan yang ada, atau untuk memecahkan masalah dengan tautan yang terdegradasi. Lewati bagian ini jika Anda mengonfigurasi tautan baru atau baru saja menyelesaikan langkah-langkah di bagian Dapatkan kunci publik sertifikat dari SQL Managed Instance dan impor ke SQL Server dan Impor kunci otoritas sertifikat akar tepercaya Azure ke SQL Server.
Masalah dengan rantai sertifikat dapat menurunkan tautan. Untuk mencegah masalah ini, validasi rantai sertifikat di SQL Server secara teratur.
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 telah 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.
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: