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 Database
Microsoft bertanggung jawab untuk mengelola integritas data di Azure SQL Database. Meskipun ada teknik tradisional bagi DBA untuk memantau integritas data dan memulihkan dari kerusakan database di SQL Server, tim teknik Microsoft SQL mengembangkan teknik baru yang menangani beberapa kelas kerusakan secara otomatis dan tanpa kehilangan data. Layanan ini menggunakan teknik ini untuk menghindari kehilangan data dan waktu henti jika dapat menghindarinya.
Artikel ini menguraikan beberapa teknik tersebut, cara kerjanya, dan bagaimana pengaruhnya terhadap pelanggan yang berkaitan dengan langkah-langkah apa yang harus mereka ambil untuk melindungi data mereka di Azure SQL Database.
Cara Microsoft mengelola integritas data
Melindungi integritas data di Azure SQL Database melibatkan kombinasi teknik dan metode yang berkembang:
Pemantauan peringatan kesalahan integritas data yang ekstensif. SQL Database Engine memancarkan pemberitahuan untuk semua kesalahan dan pengecualian yang tidak ditangani yang menunjukkan masalah integritas data. Tim teknik menangani dan menyelidiki peringatan ini.
Deteksi penulisan yang hilang pada sistem I/O. Mesin basis data memiliki fungsionalitas tambahan untuk mendeteksi apa yang selama ini menjadi penyebab paling umum dari masalah korupsi fisik yang teramati: "penulisan yang hilang" pada sistem I/O. Fungsionalitas ini melacak penulisan halaman dan LSN (Nomor Urutan Log) terkait. Pembacaan berikutnya atas halaman data dari disk dibandingkan dengan LSN yang diharapkan untuk halaman tersebut. Jika ada ketidakcocokan LSN antara yang tersimpan di disk dan yang diharapkan, halaman tersebut sudah usang, sehingga tim rekayasa segera diberi peringatan.
Perbaikan halaman otomatis. Beberapa tingkat layanan menyediakan replika database untuk tujuan kelangsungan bisnis. Layanan ini kemudian memanfaatkan perbaikan halaman otomatis, yang mirip dengan teknologi yang digunakan dalam grup ketersediaan. Jika replika tidak dapat membaca halaman karena masalah integritas data, layanan mengambil salinan baru halaman dari replika lain, menggantikan halaman yang tidak dapat dibaca tanpa kehilangan data atau waktu henti pelanggan.
Integritas data saat disimpan dan saat ditransmisikan. Semua database dalam layanan dikonfigurasi untuk memverifikasi halaman menggunakan pengaturan
CHECKSUM, yang menghitung checksum untuk seluruh halaman dan menyimpannya di header halaman untuk verifikasi saat dibaca. Transport Layer Security (TLS) juga digunakan untuk semua komunikasi selain checksum tingkat transportasi dasar yang disediakan oleh TCP/IP.Cadangkan dan pulihkan pemeriksaan integritas. Azure SQL Database melakukan verifikasi halaman baik selama pencadangan yang dikelola layanan maupun selama setiap operasi pemulihan. Setiap masalah yang ditemukan menghasilkan peringatan segera ke tim teknik.
Cara Microsoft menangani insiden integritas data
Microsoft memperlakukan insiden hasil yang salah atau korupsi dengan tingkat keparahan tertinggi. Perusahaan menyediakan dukungan 24×7 dari seluruh tim teknik Azure. Saat menangani insiden integritas, tujuannya adalah untuk meminimalkan ketidaktersediaan dan meminimalkan jumlah kehilangan data.
Masalah integritas data sistem
Microsoft memperbaiki masalah yang tidak memengaruhi data pelanggan atau ketersediaan database tanpa memberi tahu pelanggan. Contohnya termasuk masalah yang dapat diatasi oleh perbaikan halaman otomatis, atau kerusakan pada metadata database internal atau telemetri yang tidak memengaruhi data pelanggan atau hasil kueri.
Masalah integritas data pelanggan
Saat Microsoft mendeteksi hasil yang salah atau masalah kerusakan data pelanggan, Microsoft mengambil tindakan berikut:
- Berupaya sebaik mungkin untuk menghubungi pelanggan sesegera mungkin setelah deteksi dikonfirmasi, sesuai dengan undang-undang privasi.
- Jika kontak dibuat, bekerja langsung dengan pelanggan untuk menjelaskan cakupan kerusakan, menguraikan opsi pemulihan, dan mengizinkan pelanggan memilih opsi yang paling cocok untuk aplikasi dan skenario mereka.
- Jika memungkinkan, membantu pelanggan dalam memahami ruang lingkup dampak terhadap aplikasi mereka, misalnya mengidentifikasi apakah kerusakan data telah menyebabkan aplikasi mengubah data lain dengan cara yang tidak terduga.
Microsoft memperbaiki kerusakan data dengan menggunakan berbagai metode dan langkah yang diambil dalam koordinasi dengan pelanggan. Itu tidak mencoba perbaikan yang dapat mengakibatkan kehilangan data tanpa persetujuan pelanggan. Pelanggan tidak dapat melakukan DBCC CHECKDB opsi perbaikan di Azure SQL Database karena Anda tidak dapat menempatkan database dalam SINGLE_USER mode. Namun, tim Microsoft SQL dapat mengambil langkah-langkah perbaikan termasuk namun tidak terbatas pada:
- Menyusun ulang indeks. Misalnya, bangun kembali indeks non-kluster di mana tabel dasar juga tidak rusak.
- Jalankan
DBCC CHECKDBdenganREPAIR_REBUILDdengan kondisi bahwa proses perbaikan tidak berisiko menyebabkan kehilangan data. - Jalankan
DBCC CHECKDBdenganREPAIR_ALLOW_DATA_LOSSjika perbaikan dapat menyebabkan hilangnya beberapa data. - Untuk skenario di mana
DBCC CHECKDBtidak dapat digunakan untuk memperbaiki masalah integritas data, teknisi mungkin menggunakan pemulihan titik waktu sebelum masalah integritas data terjadi, diikuti dengan pemutaran ulang transaksi yang relevan secara manual dari log transaksi. Contoh ketika teknik ini diterapkan adalah ketika log transaksi rusak dengan cara yang mencegah pemutaran ulang otomatis semua transaksi tetapi tanpa merusak data pelanggan.
Tim engineering melakukan analisis postmortem mendetail terhadap masalah yang menyebabkan hasil yang keliru atau kerusakan data. Tim melacak dengan cermat item perbaikan terkait yang dibuat karena masalah tersebut. Analisis pascainsiden ini menghasilkan banyak peningkatan signifikan, termasuk fitur "lost writes" yang dijelaskan sebelumnya.
Pemeriksaan integritas yang diinisiasi oleh pelanggan
Perlindungan integritas data yang dikelola Microsoft memberikan deteksi dini terhadap masalah integritas data baru dan memperbaikinya jika memungkinkan. Pemeriksaan integritas yang diprakarsai pelanggan memberikan DBCC CHECKDB lapisan perlindungan tambahan karena DBCC CHECKDB merupakan mekanisme deteksi korupsi yang komprehensif untuk seluruh basis data.
DBCC CHECKDBmelengkapi fitur perlindungan integritas data yang dikelola Microsoft.
Keluasan dan kedalaman deteksi ini membutuhkan waktu yang signifikan serta sumber daya komputasi dan I/O tambahan selama DBCC CHECKDB eksekusi. Akibatnya, DBCC CHECKDB hal ini bisa memengaruhi beban kerja Anda karena persaingan sumber daya.
Selain pemantauan dan perlindungan yang diberikan layanan ini, Anda dapat menjalankan DBCC CHECKDB pada frekuensi dan waktu sesuai keinginan, menyeimbangkan perlindungan integritas data ekstra dengan konsumsi sumber daya tambahan.
DBCC CHECKDBtidak tersedia di Azure SQL Database Hyperscale. Sebagai alternatif, gunakan DBCC CHECKTABLE ('<TableName>') WITH TABLOCK untuk setiap tabel dalam database.
Umpan balik pelanggan dan metodologi yang berkembang
Tim teknik Azure SQL secara teratur meninjau dan meningkatkan kemampuan deteksi masalah integritas data layanan. Meskipun kesalahan integritas data jarang terjadi, jika Anda mengalami kesalahan sebelum menerima pemberitahuan dari Dukungan Azure, ajukan kasus dukungan.
Jika Anda memiliki umpan balik untuk dibagikan mengenai strategi integritas data Microsoft, tim teknisi ingin mendengar dari Anda. Untuk menghubungi tim teknik dengan umpan balik atau komentar tentang subjek ini, lihat https://aka.ms/sqlfeedback. Umpan balik Anda membantu Microsoft meningkatkan kemampuan perlindungan integritas data yang ada dan mengembangkan baru.