Mencadangkan Database dengan Tabel yang Dioptimalkan Memori

Berlaku untuk:SQL Server

Tabel yang dioptimalkan memori dicadangkan sebagai bagian dari cadangan database reguler. Adapun tabel berbasis disk, CHECKSUM pasangan file data dan delta divalidasi sebagai bagian dari cadangan database untuk mendeteksi kerusakan penyimpanan.

Catatan

Selama pencadangan, jika Anda mendeteksi kesalahan CHECKSUM dalam satu atau beberapa file dalam grup file yang dioptimalkan memori, operasi pencadangan gagal. Dalam situasi itu, Anda harus memulihkan database Anda dari cadangan baik terakhir yang diketahui.

Jika Anda tidak memiliki cadangan, Anda dapat mengekspor data dari tabel yang dioptimalkan memori dan tabel berbasis disk dan memuat ulang setelah Anda menghilangkan dan membuat ulang database.

Pencadangan penuh database dengan satu atau beberapa tabel yang dioptimalkan memori terdiri dari penyimpanan yang dialokasikan untuk tabel berbasis disk (jika ada), log transaksi aktif, dan pasangan file data dan delta (juga dikenal sebagai pasangan file titik pemeriksaan) untuk tabel yang dioptimalkan memori. Namun, seperti yang dijelaskan dalam Durabilitas untuk Tabel yang Dioptimalkan Memori, penyimpanan yang digunakan oleh tabel yang dioptimalkan memori bisa jauh lebih besar dari ukurannya dalam memori, dan memengaruhi ukuran cadangan database.

Pencadangan Database Lengkap

Diskusi ini berfokus pada pencadangan database untuk database hanya dengan tabel yang dioptimalkan memori yang tahan lama, karena cadangan untuk tabel berbasis disk sama. Pasangan file titik pemeriksaan dalam grup file yang dioptimalkan memori bisa berada di berbagai status. Tabel di bawah ini menjelaskan bagian file apa yang dicadangkan.

Status Pasangan File Titik Pemeriksaan Cadangan
DIBUAT SEBELUMNYA Metadata file saja
SEDANG DIBANGUN Metadata file saja
AKTIF Metadata file ditambah byte yang digunakan
GABUNGKAN TARGET Metadata file saja
MENUNGGU PEMOTONGAN LOG Metadata file ditambah byte yang digunakan

Untuk deskripsi status untuk pasangan file titik pemeriksaan, lihat sys.dm_db_xtp_checkpoint_files (Transact-SQL), dan kolomnya state_desc.

Ukuran cadangan database dengan satu atau beberapa tabel yang dioptimalkan memori biasanya lebih besar dari ukurannya dalam memori, tetapi lebih kecil dari penyimpanan di disknya. Ukuran tambahan tergantung pada jumlah baris yang dihapus, di antara faktor-faktor lainnya.

Memperkirakan Ukuran Pencadangan Database Penuh

Penting

Disarankan agar Anda tidak menggunakan nilai BackupSizeInBytes untuk memperkirakan ukuran cadangan untuk OLTP Dalam Memori.

Skenario beban kerja pertama adalah untuk sisipan (sebagian besar). Dalam skenario ini, sebagian besar file data berada dalam status Aktif, dimuat sepenuhnya, dan dengan baris yang sangat sedikit dihapus. Ukuran pencadangan database mendekati ukuran data dalam memori.

Skenario beban kerja kedua adalah untuk operasi penyisipan, penghapusan, dan pembaruan yang sering. Dalam kasus terburuk, masing-masing pasangan file titik pemeriksaan dimuat 50%, setelah memperhitungkan baris yang dihapus. Ukuran cadangan database setidaknya akan 2 kali ukuran data dalam memori.

Pencadangan Diferensial Database dengan Tabel yang Dioptimalkan Memori

Penyimpanan untuk tabel yang dioptimalkan memori terdiri dari file data dan delta seperti yang dijelaskan dalam Durabilitas untuk Tabel yang Dioptimalkan Memori. Cadangan diferensial database dengan tabel yang dioptimalkan memori berisi data berikut:

  • Cadangan diferensial untuk grup file yang menyimpan tabel berbasis disk tidak dipengaruhi oleh adanya tabel yang dioptimalkan memori.

  • Log transaksi aktif sama seperti dalam pencadangan database lengkap.

  • Untuk grup file data yang dioptimalkan memori, cadangan diferensial menggunakan algoritma yang sama dengan cadangan database lengkap untuk mengidentifikasi data dan file delta untuk cadangan tetapi kemudian memfilter subset file sebagai berikut:

    • File data berisi baris yang baru disisipkan, dan ketika penuh, file tersebut ditutup dan ditandai baca-saja. File data dicadangkan hanya jika ditutup setelah pencadangan database lengkap terakhir. Cadangan diferensial hanya mencadangkan file data yang berisi baris yang disisipkan sejak pencadangan database lengkap terakhir. Pengecualian adalah skenario pembaruan dan penghapusan di mana ada kemungkinan bahwa beberapa baris yang disisipkan mungkin telah ditandai untuk pengumpulan sampah atau sudah dikumpulkan sampah.

    • File delta menyimpan referensi ke baris data yang dihapus. Karena setiap transaksi di masa mendatang dapat menghapus baris, file delta dapat dimodifikasi kapan saja dalam masa pakainya, itu tidak pernah ditutup. File delta selalu dicadangkan. File Delta biasanya menggunakan kurang dari 10% penyimpanan, sehingga file delta memiliki dampak minimal pada ukuran cadangan diferensial.

Jika tabel yang dioptimalkan memori adalah bagian signifikan dari ukuran database Anda, cadangan diferensial dapat secara signifikan mengurangi ukuran cadangan database Anda. Untuk beban kerja OLTP umum, cadangan diferensial akan jauh lebih kecil daripada cadangan database lengkap.

Lihat Juga

Pencadangan, Pemulihan, dan Pemulihan Tabel yang Dioptimalkan Memori