Bagikan melalui


Praktik terbaik tautan Instans Terkelola - Azure SQL Managed Instance

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 :

Cuplikan layar dengan hasil perintah yang memperlihatkan ukuran file log dan ruang yang digunakan

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:

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.

Untuk menggunakan tautan:

Untuk mempelajari selengkapnya tentang tautan:

Untuk skenario replikasi dan migrasi lainnya, pertimbangkan: