Memulihkan database dari cadangan di Azure SQL Managed Instance

Berlaku untuk:Azure SQL Managed Instance

Artikel ini menyediakan langkah-langkah untuk memulihkan database dari cadangan di Azure SQL Managed Instance. Untuk Azure SQL Database, lihat Memulihkan database dari cadangan di Azure SQL Database.

Gambaran Umum

Pencadangan database otomatis membantu melindungi database Anda dari kesalahan pengguna dan aplikasi, penghapusan database yang tidak disengaja, dan pemadaman yang berkepanjangan. Kemampuan bawaan ini tersedia untuk semua tingkat layanan dan ukuran komputasi. Opsi berikut tersedia untuk pemulihan database melalui pencadangan otomatis:

  • Buat database baru pada instans terkelola yang sama, dipulihkan ke titik waktu tertentu dalam periode retensi.
  • Buat database baru pada instans terkelola yang sama atau instans terkelola yang berbeda, dipulihkan ke titik waktu tertentu dalam periode retensi.
  • Buat database pada instans terkelola yang sama atau instans terkelola yang berbeda, dipulihkan ke waktu penghapusan untuk database yang dihapus.
  • Buat database baru pada instans terkelola apa pun dalam langganan yang sama atau langganan yang berbeda di penyewa yang sama dan di wilayah yang sama, dipulihkan ke titik cadangan terbaru.

Jika Anda mengonfigurasi retensi jangka panjang (LTR), Anda juga dapat membuat database baru dari cadangan retensi jangka panjang apa pun pada instans apa pun.

Penting

Anda tidak bisa menimpa database yang sudah ada selama pemulihan.

Waktu pemulihan

Beberapa faktor memengaruhi waktu pemulihan untuk memulihkan database melalui pencadangan database otomatis:

  • Ukuran database
  • Ukuran komputasi database
  • Jumlah log transaksi yang terlibat
  • Jumlah aktivitas yang perlu diputar ulang untuk pulih ke titik pemulihan
  • Bandwidth jaringan jika pemulihan adalah ke wilayah yang berbeda
  • Jumlah permintaan pemulihan bersamaan yang diproses di wilayah target

Untuk database besar atau sangat aktif, pemulihan mungkin memakan waktu beberapa jam. Pemadaman berkepanjangan di suatu wilayah dapat menyebabkan tingginya jumlah permintaan pemulihan geografis untuk pemulihan bencana. Ketika ada banyak permintaan, waktu pemulihan untuk database individu dapat meningkat. Sebagian besar pemulihan database selesai dalam waktu kurang dari 12 jam.

Tip

Untuk Azure SQL Managed Instance, pembaruan sistem lebih diutamakan daripada pemulihan database yang sedang berlangsung. Jika ada pembaruan sistem untuk SQL Managed Instance, semua pemulihan yang tertunda akan ditangguhkan, lalu dilanjutkan setelah pembaruan diterapkan. Perilaku sistem ini mungkin memperpanjang waktu pemulihan dan mungkin sangat berdampak pada pemulihan yang berjalan lama.

Agar pemulihan database dapat selesai sesuai waktu yang diperkirakan, pertimbangkan untuk mengonfigurasi jendela pemeliharaan yang memungkinkan penjadwalan pembaruan sistem pada hari dan waktu tertentu. Pertimbangkan juga untuk menjalankan pemulihan database di luar jendela pemeliharaan terjadwal.

Izin

Untuk memulihkan dengan menggunakan cadangan otomatis, Anda harus:

  • Anggota peran Kontributor SQL Server atau peran Kontributor SQL Managed Instance (tergantung pada tujuan pemulihan) dalam langganan
  • Pemilik langganan

Untuk informasi selengkapnya, lihat Azure RBAC: Peran bawaan.

Anda dapat memulihkannya dengan menggunakan portal Microsoft Azure, PowerShell, atau REST API. Anda tidak dapat menggunakan Transact-SQL.

Pemulihan titik waktu

Anda bisa memulihkan database ke titik waktu sebelumnya. Permintaan dapat menentukan tingkat layanan atau ukuran komputasi untuk database yang dipulihkan. Pastikan Anda memiliki sumber daya yang memadai pada instans tempat Anda memulihkan database.

Ketika pemulihan selesai, pemulihan akan membuat database baru pada instans target, baik instans yang sama, atau instans yang berbeda. Database yang dipulihkan dibebankan pada tingkat normal, berdasarkan tingkat layanan dan ukuran komputasinya. Anda tidak dikenakan biaya sampai pemulihan database selesai.

Anda biasanya memulihkan database ke titik sebelumnya untuk tujuan pemulihan. Anda bisa memperlakukan database yang dipulihkan sebagai pengganti database asli atau menggunakannya sebagai sumber data untuk memperbarui database asli.

Penting

Anda tidak dapat melakukan pemulihan point-in-time pada database geo-sekunder. Anda hanya bisa melakukannya di database utama.

  • Penggantian database

    Jika Anda ingin database yang dipulihkan menjadi pengganti database asli, Anda harus menentukan ukuran komputasi dan tingkat layanan database asli. Anda kemudian dapat mengganti nama database asli dan memberikan nama asli database yang dipulihkan dengan menggunakan perintah ALTER DATABASE di T-SQL.

  • Pemulihan Data

    Jika Anda berencana untuk mengambil data dari database yang dipulihkan untuk pulih dari kesalahan pengguna atau aplikasi, Anda perlu menulis dan menjalankan skrip pemulihan data yang mengekstrak data dari database yang dipulihkan dan berlaku untuk database asli. Meskipun operasi pemulihan mungkin membutuhkan waktu lama untuk diselesaikan, database pemulihan terlihat dalam daftar database sepanjang proses pemulihan.

    Jika Anda menghapus database selama pemulihan, operasi pemulihan akan dibatalkan. Anda tidak akan dikenakan biaya untuk database yang tidak menyelesaikan pemulihan.

Untuk memulihkan database di SQL Managed Instance ke titik waktu dengan menggunakan portal Azure, Anda dapat membuka database di portal dan memilih Pulihkan. Atau, Anda dapat membuka halaman gambaran umum SQL Managed Instance target, dan memilih + Database baru pada toolbar untuk membuka halaman Buat Azure SQL Managed Database .

Cuplikan layar yang memperlihatkan panel gambaran umum SQL Managed Instance di portal Azure, dengan menambahkan database baru yang dipilih.

Berikan detail instans terkelola target pada tab Dasar, dan pilih jenis cadangan dari tab Sumber data.

Cuplikan layar portal Azure yang memperlihatkan tab sumber data dari halaman Buat Azure SQL Managed Database, dengan pemulihan point-in-time dipilih.

Untuk detail yang lebih besar, tinjau artikel Pemulihan titik waktu.

Memulihkan database yang terhapus

Anda dapat memulihkan database yang dihapus ke waktu penghapusan, atau titik waktu sebelumnya, ke instans yang sama, atau instans yang berbeda dari instans sumber. Instans target bisa berada dalam langganan yang sama atau dalam langganan yang berbeda dari instans sumber. Anda memulihkan database yang terhapus dengan membuat sebuah database baru dari cadangan.

Penting

Anda tidak dapat memulihkan instans terkelola yang dihapus. Jika Anda menghapus instans terkelola, semua database-nya juga dihapus dan tidak dapat dipulihkan ke waktu penghapusan, atau titik waktu sebelumnya. Jika Anda mengonfigurasi retensi jangka panjang (LTR), Anda masih dapat memulihkan database dari instans yang dihapus ke instans lain dan untuk menunjuk waktu saat pencadangan LTR diambil.

Untuk memulihkan database dengan menggunakan portal Azure, buka halaman gambaran umum instans terkelola dan pilih Cadangan. Pilih untuk memperlihatkan Cadangan yang dihapus , lalu pilih Pulihkan di samping cadangan yang dihapus yang ingin Anda pulihkan untuk membuka halaman Buat Azure SQL Managed Database . Berikan detail instans terkelola target pada tab Dasar, dan detail instans terkelola sumber pada tab Sumber data . Konfigurasikan pengaturan retensi pada tab Pengaturan tambahan.

Cuplikan layar portal Azure, halaman Cadangan SQL Managed Instance, memperlihatkan database yang dihapus dan memilih tindakan Pulihkan.

Tip

Mungkin perlu waktu beberapa menit agar database yang baru dihapus muncul di halaman Database yang dihapus di portal Azure, atau saat Anda ingin menampilkan database yang dihapus dengan menggunakan baris perintah.

Pemulihan Geo

Penting

  • Pemulihan geografis hanya tersedia untuk instans terkelola yang dikonfigurasi dengan penyimpanan cadangan geo-redundan. Jika saat ini Anda tidak menggunakan pencadangan geo-replikasi untuk database, Anda dapat mengubahnya dengan mengonfigurasi redundansi penyimpanan pencadangan.
  • Anda dapat melakukan pemulihan geografis pada instans terkelola yang hanya berada di langganan yang sama.

Geo-restore adalah opsi pemulihan default saat database Anda tidak tersedia karena insiden di wilayah hosting. Anda dapat memulihkan database ke instans di wilayah lain. Anda dapat memulihkan database pada instans terkelola apa pun di wilayah Azure mana pun dari cadangan geo-replikasi terbaru. Pemulihan geografis menggunakan cadangan replikasi geografis sebagai sumbernya. Anda dapat meminta pemulihan geografis meskipun pemadaman telah membuat database atau pusat data tidak dapat diakses.

Ada penundaan antara ketika cadangan diambil dan ketika cadangan direplikasi secara geografis ke blob Azure di wilayah yang berbeda. Akibatnya, database yang dipulihkan bisa hingga satu jam di belakang database asli. Ilustrasi berikut ini memperlihatkan pemulihan database dari cadangan terakhir yang tersedia di wilayah lain.

Ilustrasi memulihkan database di seluruh wilayah untuk tujuan pemulihan geografis.

Dari portal Azure, Anda dapat memulihkan cadangan yang direplikasi secara geografis ke instans yang ada, atau Anda membuat instans terkelola baru dan memilih cadangan pemulihan geografis yang tersedia. Database yang baru dibuat berisi data cadangan yang dipulihkan secara geografis.

Untuk memulihkan ke instans yang sudah ada, ikuti langkah-langkah dalam pemulihan Point-in-time, dan pastikan untuk memilih instans sumber dan target yang sesuai untuk memulihkan database Anda ke instans yang Anda inginkan.

Untuk memulihkan geografis ke instans baru dengan menggunakan portal Azure, ikuti langkah-langkah berikut:

  1. Buka instans terkelola Azure SQL baru Anda.
  2. Pilih Database baru.
  3. Masukkan nama database.
  4. Di bawah Sumber data, pilih jenis cadangan yang sesuai, lalu berikan detail untuk sumber data.
  5. Pilih cadangan dari daftar cadangan pemulihan geografis yang tersedia.

Setelah Anda menyelesaikan proses pembuatan database instans, itu akan berisi cadangan pemulihan geografis yang dipulihkan.

Pertimbangan pemulihan geografis

Pemulihan geografis adalah solusi pemulihan bencana paling mendasar yang tersedia di Azure SQL Managed Instance. Ini bergantung pada cadangan yang direplikasi secara geografis secara otomatis di wilayah sekunder (dipasangkan). Berikut adalah beberapa pertimbangan untuk pemulihan geografis:

  • Tujuan titik pemulihan (RPO) hingga 1 jam.
  • Proses pemulihan (tujuan waktu pemulihan - RTO) biasanya memakan waktu kurang dari 12 jam tetapi mungkin bervariasi berdasarkan ukuran dan aktivitas database sehingga pemulihan dapat meluas di luar jangka waktu ini.
  • Wilayah sekunder (dipasangkan) adalah pengaturan penyimpanan Azure untuk wilayah utama. Anda tidak dapat mengubah wilayah sekunder.
  • Database yang baru dibuat/dipulihkan mungkin tidak segera muncul sebagai dapat dipulihkan di wilayah lain karena jeda dalam mengisi data baru. Jika pelanggan tidak melihat cadangan database baru, mereka harus mengantisipasi periode tunggu hingga 24 jam.

Sangat penting untuk mengakui bahwa pemulihan geografis berfungsi sebagai solusi pemulihan bencana yang sesuai untuk aplikasi dengan database yang relatif kecil yang tidak penting bagi bisnis. Untuk aplikasi penting bisnis yang memerlukan database besar dan harus memastikan kelangsungan bisnis, gunakan grup failover. Fitur itu menawarkan RPO dan RTO yang jauh lebih rendah, dan kapasitasnya selalu dijamin.

Untuk informasi selengkapnya tentang pilihan kelangsungan bisnis, lihat Gambaran umum kelangsungan bisnis.

Batasan

Pertimbangkan batasan berikut saat bekerja dengan cadangan dan Azure SQL Managed Instance:

  • Pemulihan geografis database hanya dapat dilakukan ke instans dalam langganan yang sama dengan instans terkelola SQL sumber.
  • Cadangan asli yang diambil pada database Azure SQL Managed Instance hanya dapat dipulihkan ke SQL Server 2022 (baik lokal, atau di komputer virtual) jika SQL Managed Instance sumber telah terdaftar dalam gelombang fitur November 2022.
  • Database Azure SQL Managed Instance dienkripsi dengan TDE secara default. Ketika database sumber menggunakan kunci yang dikelola pelanggan (CMK) sebagai pelindung TDE, untuk memulihkan database Anda ke instans selain SQL Managed Instance sumber, instans target harus memiliki akses ke kunci yang sama yang digunakan untuk mengenkripsi database sumber di Azure Key Vault, atau Anda harus menonaktifkan enkripsi TDE pada database sumber sebelum mengambil cadangan.
  • Anda hanya dapat melacak kemajuan proses pemulihan dengan menggunakan tampilan manajemen dinamis sys.dm_exec_requests dan sys.dm_operation_status .
  • Saat kebijakan titik akhir layanan diaktifkan di Azure SQL Managed Instance, menempatkan kebijakan titik akhir layanan pada subnet mencegah pemulihan titik waktu (PITR) dari instans di subnet yang berbeda.
  • Tujuan titik pemulihan (RPO) hingga 1 jam.
  • Tujuan waktu pemulihan (RTO) sekitar 12 jam, tetapi mungkin bervariasi berdasarkan ukuran dan aktivitas database dapat melampaui jangka waktu ini.
  • Wilayah sekunder (dipasangkan) tidak dapat diubah.
  • Database yang baru dibuat/dipulihkan mungkin tidak segera muncul sebagai dapat dipulihkan di wilayah lain karena jeda dalam mengisi data baru. Diperlukan waktu hingga 24 jam agar cadangan database baru terlihat.
  • Jumlah maksimum database yang dapat Anda pulihkan secara paralel adalah 200 per satu langganan. Dalam beberapa kasus, dimungkinkan untuk meningkatkan batas ini dengan membuka tiket dukungan.