Snapshot konsisten aplikasi memastikan integritas dan konsistensi data dengan menangguhkan sementara penulisan data ke aplikasi selama pembuatan snapshot. Menggunakan snapshot ini membantu mengurangi risiko korupsi atau kehilangan data dan memastikan aplikasi seperti SQL Server dapat berfungsi sesuai harapan setelah pemulihan. Dokumen ini menjelaskan cara memverifikasi penggunaan snapshot konsisten aplikasi untuk memulihkan data pada instance Windows Elastic Compute Service (ECS). Contoh ini menggunakan Windows Server 2019 dan Microsoft SQL Server 2019 (64-bit).
Prasyarat
Disk yang terpasang ke instance ECS adalah Enterprise SSD (ESSD) dengan multi-attach dinonaktifkan.
Instance ECS harus dalam status Running. Cloud Assistant juga harus dalam status Normal pada instance tersebut. Untuk informasi lebih lanjut tentang cara memeriksa status Cloud Assistant, lihat Lihat Status Cloud Assistant dan Tangani Anomali.
Microsoft SQL Server harus diinstal pada instance ECS.
Peran RAM harus dilampirkan ke instance ECS, serta kebijakan kustom yang mencakup izin snapshot konsisten aplikasi. Untuk detail lebih lanjut, lihat Buat Peran RAM Instance dan Lampirkan Peran RAM ke Instance ECS.
CatatanUntuk membuat snapshot konsisten aplikasi, Anda perlu memanggil Cloud Assistant untuk mengakses instance ECS dan menjalankan perintah. Sebelumnya, pastikan Cloud Assistant memiliki izin yang diperlukan melalui peran RAM.
Konfigurasikan peran RAM kustom, seperti AppSnapshotRoleName.
Lampirkan kebijakan kustom ke peran RAM. Contoh kode berikut menunjukkan kebijakan kustom yang memberikan izin kepada peran RAM untuk menanyakan snapshot, membuat snapshot, menambahkan tag, dan menanyakan informasi disk.
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "ecs:DescribeSnapshot*", "ecs:CreateSnapshot*", "ecs:TagResources", "ecs:DescribeDisks" ], "Resource": [ "*" ], "Condition": {} } ] }
Alur Kerja
Praktik ini bertujuan untuk memverifikasi pembuatan snapshot konsisten aplikasi guna memastikan database tetap dalam keadaan saat snapshot dibuat, sehingga menjamin konsistensi aplikasi. Gambar berikut mengilustrasikan alur kerja.
Langkah 1: Siapkan Lingkungan Verifikasi Database
Buat tabel database dan picu prosedur penyimpanan untuk mensimulasikan operasi penulisan data guna memverifikasi snapshot konsisten aplikasi nanti.
Langkah 2: Buat Snapshot Konsisten Aplikasi di Konsol ECS
Buat snapshot konsisten aplikasi untuk instance Windows tempat database SQL Server berada di konsol ECS. Saat membuat snapshot, operasi penulisan pada database sementara dihentikan untuk memastikan konsistensi data.
Langkah 3: Periksa Apakah Snapshot Konsisten Aplikasi Telah Dibuat
Periksa hasil eksekusi perintah Cloud Assistant untuk memastikan snapshot konsisten aplikasi telah dibuat, serta titik waktu saat operasi penulisan ditangguhkan dan dilanjutkan pada database.
Gunakan snapshot konsisten aplikasi untuk memulihkan data. Bandingkan waktu terakhir data ditulis ke database SQL Server dengan waktu saat operasi penulisan ditangguhkan untuk memastikan pemulihan sesuai harapan.
Jika waktu penulisan terakhir data SQL Server lebih awal dari waktu penangguhan database, tidak ada operasi penulisan yang dilakukan selama periode penangguhan. Waktu penulisan terakhir data setelah pemulihan mencerminkan keadaan sebelum penangguhan. Database tetap dalam keadaan saat snapshot dibuat.
Jika waktu penulisan terakhir data SQL Server lebih lambat atau sama dengan waktu penangguhan, operasi penulisan masih berlangsung selama periode penangguhan, dan efek snapshot konsisten aplikasi tidak sesuai harapan.
Prosedur
Langkah 1: Siapkan lingkungan verifikasi database
Hubungkan ke instance Windows.
Untuk detail lebih lanjut, lihat Gunakan Workbench untuk Menghubungkan ke Instance Windows melalui RDP.
Hubungkan ke SQL Server.
Di pojok kiri bawah, klik ikon Pencarian, masukkan
ssmsdi kotak pencarian, lalu tekan tombolEnter.Klik Microsoft SQL Server Management Studio 18.
Di kotak dialog Connect to Server, konfigurasikan informasi koneksi server dan klik Connect.
Di Microsoft SQL Server Management Studio 18, buat database uji bernama AdventureWorks.
Klik New Query.
Di jendela query yang muncul, masukkan pernyataan SQL berikut:
CREATE DATABASE AdventureWorks;Klik kanan jendela query dan pilih Execute.
Di Microsoft SQL Server Management Studio 18, buat tabel uji bernama PointInTime.
Klik New Query.
Di jendela query yang muncul, masukkan pernyataan SQL berikut:
USE AdventureWorks GO IF NOT EXISTS (SELECT name FROM sysobjects WHERE name = 'PointInTime' AND TYPE ='U') CREATE TABLE PointInTime (PIT datetime) WHILE ( 1 = 1 ) BEGIN INSERT PointInTime SELECT GETDATE() WAITFOR DELAY '00:00:001' ENDKlik kanan jendela query dan pilih Execute.
Di pohon direktori di sebelah kiri, lihat database dan tabel yang telah dibuat.
Langkah 2: Buat snapshot konsisten aplikasi di konsol ECS
Di bilah navigasi atas, pilih wilayah dan grup sumber daya dari sumber daya yang ingin Anda kelola.

Di tab Snapshot-consistent Groups, klik Create Snapshot-consistent Group.
Di kotak dialog Create Snapshot, konfigurasikan parameter yang dijelaskan dalam tabel berikut.
Secara default, parameter Resource Type disetel ke Instance.
Pilih instance Windows dari daftar drop-down Pilih Instance. Kemudian, di bagian Pilih Disk Cloud, pilih ESSD tempat Anda ingin membuat snapshot dari instance tersebut.
Perluas Advanced Settings, pilih Enable Application-consistent Snapshot, lalu pilih Contain Writers by Default.
CatatanWriters adalah komponen utama dalam arsitektur Volume Shadow Copy Service (VSS). Sistem operasi Windows menyediakan Writers untuk memastikan konsistensi data selama pencadangan. Untuk informasi lebih lanjut, lihat Volume Shadow Copy Service.
Klik OK.
Setelah grup konsistensi snapshot dibuat, pesan yang berisi ID perintah Cloud Assistant dan ID tugas akan ditampilkan. Anda dapat memeriksa apakah snapshot konsisten aplikasi telah dibuat berdasarkan ID tugas.
Buka ECS Console - Snapshot-consistent Groups.
Langkah 3: Periksa apakah snapshot konsisten aplikasi telah dibuat
Klik ID tugas di tab Hasil Eksekusi Perintah halaman ECS Cloud Assistant untuk melihat hasil eksekusi perintah.

Jika snapshot konsisten aplikasi telah dibuat, nilai pengembalian ExitCode adalah
0. Output perintah menunjukkan bahwa snapshot konsisten aplikasi telah dibuat dan berisi ID grup konsistensi snapshot, seperti yang ditunjukkan pada gambar sebelumnya.CatatanJika nilai pengembalian ExitCode bukan
0, terjadi kesalahan. Lakukan pemecahan masalah berdasarkan kode kesalahan yang dikembalikan di kolom ExitCode. Untuk informasi lebih lanjut, lihat bagian Kode Kesalahan dari topik "Buat Snapshot Konsisten Aplikasi".Di output perintah, lihat informasi tentang proses pembuatan grup konsistensi snapshot untuk memastikan bahwa snapshot yang dibuat memenuhi persyaratan integritas dan ketersediaan data.
Periksa apakah komponen konsistensi yang diperlukan, seperti COM+ dan VSS, telah diinstal.

Pastikan sistem dengan benar mengidentifikasi dan memuat semua volume logis yang perlu dicadangkan.

Periksa apakah database yang sesuai di SQL Server secara otomatis ditambahkan untuk memastikan integritas dan konsistensi database.

Output perintah berikut menunjukkan bahwa snapshot dibuat pada
2025-03-03 13:53:30. Data snapshot ditangkap pada titik waktu ini dan operasi penulisan database ditangguhkan.
Lihat grup konsistensi snapshot dan snapshot disk yang telah dibuat.
Di tab Snapshot-consistent Groups, temukan grup konsistensi snapshot yang Anda buat dan klik ID grup konsistensi snapshot untuk melihat detail snapshot.
Di bagian Snapshot Information, periksa apakah snapshot konsisten aplikasi telah dibuat berdasarkan tag.
Jika snapshot konsisten aplikasi dibuat, tag
APPConsistent:Trueakan muncul di kolom Tag yang sesuai dengan snapshot, seperti yang ditunjukkan pada gambar berikut.
Buka ECS Console - Snapshot-consistent Groups.
Hubungkan ke database SQL Server dan lihat titik waktu saat operasi penulisan ditangguhkan.
Hubungkan ke instance Windows.
Untuk informasi lebih lanjut, lihat Gunakan Workbench untuk Menghubungkan ke Instance Windows melalui RDP.
Gunakan Microsoft SQL Server Management Studio 18 untuk menghubungkan ke database SQL Server.
Klik New Query.
Di jendela query yang muncul, masukkan pernyataan SQL berikut:
USE AdventureWorks select * from PointInTime GOKlik kanan jendela query dan pilih Execute.
Di hasil query, lihat periode saat operasi penulisan pada database ditangguhkan.
Hasil query menunjukkan bahwa tidak ada data yang ditambahkan selama periode dari
2025-03-03 13:53:30hingga2025-03-03 13:53:33, yang menunjukkan bahwa operasi penulisan pada database ditangguhkan pada13:53:30dan dilanjutkan pada13:53:33.
Langkah 4: Periksa apakah snapshot konsisten aplikasi dapat digunakan untuk memulihkan data sesuai harapan
Kembalikan disk menggunakan grup konsistensi snapshot.
Untuk informasi lebih lanjut, lihat Kembalikan Disk Menggunakan Grup Konsistensi Snapshot.
Masuk ke SQL Server dan tanyakan isi tabel PointInTime.
Hubungkan ke instance Windows.
Untuk informasi lebih lanjut, lihat Gunakan Workbench untuk Menghubungkan ke Instance Windows melalui RDP.
Gunakan Microsoft SQL Server Management Studio 18 untuk menghubungkan ke database SQL Server.
Klik New Query.
Di jendela query yang muncul, masukkan pernyataan SQL berikut:
USE AdventureWorks select * from PointInTime GOKlik kanan jendela query dan pilih Execute.
Di hasil query, temukan titik waktu saat data terakhir kali ditulis ke database SQL Server setelah data dipulihkan.
Hasil query menunjukkan bahwa titik waktu saat catatan data terakhir ditambahkan ke database adalah
2025-03-03 13:53:29, yang lebih awal dari titik waktu2025-03-03 13:53:30penangguhan yang ditanyakan di Langkah 3. Ini memverifikasi bahwa snapshot konsisten aplikasi dapat mencadangkan data untuk SQL Server sesuai harapan.