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.
Artikel ini menyediakan informasi pemecahan masalah untuk database SQL Server yang berjalan di komputer virtual Azure.
Untuk informasi selengkapnya tentang proses dan batasan cadangan, lihat Tentang pencadangan SQL Server di Azure VM.
Izin SQL Server
Untuk mengonfigurasi perlindungan untuk database SQL Server pada komputer virtual, Anda harus memasang ekstensi AzureBackupWindowsWorkload pada komputer virtual tersebut. Jika Anda mendapatkan kesalahan UserErrorSQLNoSysadminMembership, itu berarti instans SQL Server Anda tidak memiliki izin cadangan yang diperlukan. Untuk memperbaiki kesalahan ini, ikuti langkah-langkah dalam Mengatur izin VM.
Pecahkan masalah, temukan dan konfigurasi masalah
Ketika pembuatan dan konfigurasi vault Layanan Pemulihan selesai, menemukan database dan mengonfigurasi cadangan adalah proses dua langkah.
Selama pengaturan pencadangan, jika SQL VM dan instansnya tidak terlihat di Penemuan Basis Data di VM dan Konfigurasi Cadangan (lihat gambar di atas) pastikan bahwa:
Langkah 1: Penemuan DB di VM
- Jika VM tidak tercantum dalam daftar VM yang ditemukan dan juga tidak terdaftar untuk cadangan SQL di kubah lain, maka ikuti langkah-langkah Pencadangan Penemuan SQL Server.
Langkah 2: Konfigurasi Cadangan
- Jika kubah tempat SQL VM terdaftar dalam kubah yang sama yang digunakan untuk melindungi database, maka ikuti langkah-langkah Konfigurasi Cadangan.
Jika SQL VM perlu didaftarkan di kubah baru, maka harus tidak terdaftar dari kubah lama. Pencabutan pendaftaran SQL VM dari kubah mengharuskan penghentian perlindungan semua sumber data yang dilindungi, dan kemudian Anda dapat menghapus data yang dicadangkan. Menghapus data yang dicadangkan adalah operasi yang bersifat menghancurkan. Setelah Anda meninjau dan mengambil semua tindakan pencegahan untuk menghapus pendaftaran SQL VM, lalu daftarkan VM yang sama ini dengan vault baru dan ulang kembali operasi pencadangan.
Memecahkan masalah Cadangan dan Pemulihan
Kadang-kadang, kegagalan acak dapat terjadi dalam operasi pencadangan dan pemulihan atau operasi tersebut mungkin macet. Ini mungkin disebabkan oleh program antivirus pada VM Anda. Sebagai praktik terbaik, kami menyarankan langkah-langkah berikut:
Kecualikan folder berikut dari pemindaian antivirus:
C:\Program Files\Azure Workload BackupC:\WindowsAzure\Logs\Plugins\Microsoft.Azure.RecoveryServices.WorkloadBackup.AzureBackupWindowsWorkloadGanti
C:\dengan huruf SystemDrive Anda.Kecualikan tiga proses berikut yang berjalan dalam VM dari pemindaian antivirus:
- IaasWLPluginSvc.exe
- IaaSWorkloadCoordinatorService.exe
- TriggerExtensionJob.exe
SQL juga menawarkan beberapa panduan tentang bekerja dengan program antivirus. Lihat artikel ini untuk detailnya.
Instans rusak dalam VM dengan beberapa instans SQL Server
Anda dapat memulihkan ke SQL VM hanya jika semua instans SQL yang berjalan dalam VM dilaporkan sehat. Jika satu atau beberapa instans "rusak", VM tidak akan muncul sebagai target pemulihan. Jadi ini bisa menjadi alasan yang mungkin mengapa VM multi-instans mungkin tidak muncul di dropdown "server" selama operasi pemulihan.
Anda dapat memvalidasi "Kesiapan Cadangan" dari semua instans SQL di VM, di bawah Konfigurasikan cadangan:
Jika Anda ingin memicu pemulihan pada instans SQL yang sehat, lakukan langkah-langkah berikut:
Masuk ke SQL VM dan masuk ke
C:\Program Files\Azure Workload Backup\bin.Membuat file JSON bernama
ExtensionSettingsOverrides.json(jika belum ada). Jika file ini sudah ada pada VM, lanjutkan menggunakannya.Tambahkan konten berikut dalam file JSON dan simpan file:
{ "<ExistingKey1>":"<ExistingValue1>", …………………………………………………… , "whitelistedInstancesForInquiry": "FaultyInstance_1,FaultyInstance_2" } Sample content: { "whitelistedInstancesForInquiry": "CRPPA,CRPPB " }Picu operasi Rediscover DB pada server yang terkena dampak dari portal Microsoft Azure (tempat yang sama di mana kesiapan cadangan dapat dilihat). VM akan mulai muncul sebagai target untuk operasi pemulihan.
Hapus entri WhitelistedInstancesForInquiry dari file ExtensionSettingsOverrides.json setelah operasi pemulihan selesai.
Pesan kesalahan
Jenis cadangan yang tidak didukung
| Tingkat keparahan | Deskripsi | Kemungkinan penyebab | Tindakan yang direkomendasikan |
|---|---|---|---|
| Peringatan | Pengaturan saat ini untuk basis data ini tidak mendukung tipe cadangan tertentu yang ada dalam kebijakan terkait. | Ubah pengaturan database sehingga semua tipe cadangan dalam kebijakan dapat didukung. Atau ubah kebijakan saat ini agar hanya menyertakan tipe cadangan yang didukung. Sebaliknya, jenis cadangan yang tidak didukung akan dilewati selama pencadangan terjadwal atau proses pencadangan akan gagal untuk pencadangan sesuai permintaan. |
UserErrorSQLPODoesNotSupportBackupType
| Pesan kesalahan | Kemungkinan penyebab | Tindakan yang direkomendasikan |
|---|---|---|
| Database SQL ini tidak mendukung jenis cadangan yang diminta. | Terjadi ketika model pemulihan database tidak memperbolehkan tipe cadangan yang diminta. Kesalahan dapat terjadi dalam situasi berikut:
|
Jika pencadangan log gagal untuk database dalam model pemulihan sederhana, cobalah salah satu opsi ini:
|
Operasi Dibatalkan Karena Operasi Bertentangan Sedang Berjalan Kesalahan Pengguna
| Pesan kesalahan | Kemungkinan penyebab | Tindakan yang direkomendasikan |
|---|---|---|
| Operasi dibatalkan karena operasi yang berkonflik sudah berjalan pada database yang sama. | Anda mungkin mengalami kesalahan ini ketika pekerjaan pencadangan sesuai permintaan atau terjadwal yang dijalankan berkonflik dengan operasi pencadangan yang sudah dijalankan oleh ekstensi Azure Backup pada database yang sama. Berikut ini adalah skenario ketika kode kesalahan ini mungkin muncul:
|
Setelah operasi yang saling bertentangan gagal, mulai ulang operasi. |
KesalahanPenggunaManipulasiFileTidakDiizinkanSelamaPencadangan
| Pesan kesalahan | Kemungkinan penyebab | Tindakan yang disarankan |
|---|---|---|
| Operasi manipulasi file cadangan (seperti ALTER DATABASE ADD FILE) dan perubahan enkripsi pada database harus diserialisasikan. | Berikut ini adalah kasus-kasus yang mungkin menyebabkan munculnya kode kesalahan:
|
Nonaktifkan produk pencadangan lainnya untuk mengatasi masalah tersebut. |
UserErrorSQLPODoesNotExist
| Pesan kesalahan | Kemungkinan penyebab | Tindakan yang disarankan |
|---|---|---|
| Database SQL tidak ada. | Database dihapus atau diubah namanya. | Periksa apakah database dihapus atau diubah namanya secara tidak sengaja. Jika database dihapus secara tidak sengaja, untuk melanjutkan pencadangan, pulihkan database ke lokasi aslinya. Jika Anda menghapus database dan tidak memerlukan cadangan di masa mendatang, maka di kubah Layanan Pemulihan, pilih Hentikan pencadangan dengan Pertahankan Data Cadangan atau Hapus Data Cadangan. Untuk informasi selengkapnya, lihat Mengelola dan memantau database SQL Server yang dicadangkan. |
KesalahanPenggunaValidasiSQLLSNGagal
| Pesan kesalahan | Kemungkinan penyebab | Tindakan yang disarankan |
|---|---|---|
| Rantai log rusak. | Database atau VM dicadangkan menggunakan solusi cadangan lain, yang memotong rantai log. |
|
KesalahanPenggunaMembukaKoneksiSQL
| Pesan kesalahan | Kemungkinan penyebab | Tindakan yang disarankan |
|---|---|---|
| Azure Backup tidak dapat tersambung ke instans SQL. | Azure Backup tidak bisa tersambung ke instans SQL Server. | Gunakan detail tambahan di menu kesalahan portal Microsoft Azure untuk mempersempit akar masalahnya. Lihat pemecahan masalah pencadangan SQL untuk memperbaiki kesalahan.
|
Kesalahan Pengguna: Cadangan Penuh Induk Hilang
| Pesan kesalahan | Kemungkinan penyebab | Tindakan yang disarankan |
|---|---|---|
| Pencadangan penuh pertama tidak ada untuk sumber data ini. | Pencadangan penuh tidak ada untuk database. Pencadangan log dan diferensial bergantung pada cadangan penuh, jadi pastikan untuk melakukan cadangan penuh sebelum memicu pencadangan diferensial atau log. | Memicu cadangan penuh sesuai permintaan. |
KesalahanPenggunaCadanganGagalKarenaCatatanTransaksiPenuh
| Pesan kesalahan | Kemungkinan penyebab | Tindakan yang disarankan |
|---|---|---|
| Tidak dapat mengambil cadangan karena log transaksi untuk sumber data penuh. | Ruang log transaksional database sudah penuh. | Untuk memperbaiki masalah ini, lihat Dokumentasi SQL Server. |
KesalahanPenggunaTidakDapatMemulihkanDBYangAdaTanpaMemaksaPenimpaanUlang
| Pesan kesalahan | Kemungkinan penyebab | Tindakan yang disarankan |
|---|---|---|
| Database dengan nama yang sama sudah ada di lokasi target | Tujuan pemulihan target sudah memiliki database dengan nama yang sama. |
|
UserErrorRestoreDatabaseGagalTidakDapatDi-Offline
| Pesan kesalahan | Kemungkinan penyebab | Tindakan yang disarankan |
|---|---|---|
| Pemulihan gagal karena database tidak dapat digunakan di lingkungan offline. | Saat Anda melakukan pemulihan, database target perlu digunakan di lingkungan offline. Azure Backup tidak bisa membawa data ini offline. | Gunakan detail tambahan di menu kesalahan portal Microsoft Azure untuk mempersempit akar masalahnya. Untuk informasi selengkapnya, Dokumentasi SQL Server. |
WlExtGenericIOFaultUserError
| Pesan kesalahan | Kemungkinan penyebab | Tindakan yang Disarankan |
|---|---|---|
| Terjadi kesalahan input/output selama operasi. Silakan periksa kesalahan IO umum pada komputer virtual. | Izin akses atau batasan ruang pada target. | Periksa kesalahan IO umum pada komputer virtual. Pastikan bahwa drive tujuan / berbagi jaringan pada mesin: Untuk informasi selengkapnya, lihat Memulihkan sebagai file. |
GalatPenggunaTidakDapatMenemukanSertifikatServerDenganJejakJempol
| Pesan kesalahan | Kemungkinan penyebab | Tindakan yang disarankan |
|---|---|---|
| Tidak dapat menemukan sertifikat server dengan sidik jari pada target. | Database master pada instans tujuan tidak memiliki thumbprint enkripsi yang valid. | Salin thumbprint sertifikat yang valid yang digunakan pada instans sumber ke instans target. |
KesalahanPenggunaPemulihanTidakMungkinKarenaCadanganLogMengandungPerubahanDimasukkanSecaraMassal
| Pesan kesalahan | Kemungkinan penyebab | Tindakan yang disarankan |
|---|---|---|
| Pencadangan log yang digunakan untuk pemulihan berisi perubahan yang dicatat secara massal. Ini tidak dapat digunakan untuk berhenti pada titik waktu sembarangan menurut pedoman SQL. | Saat database dalam mode pemulihan yang dicatat secara massal, data antara transaksi yang dicatat secara massal dan transaksi log berikutnya tidak dapat dipulihkan. | Pilih titik waktu yang berbeda untuk pemulihan. Pelajari selengkapnya. |
Kesalahan Pengguna: Preferensi Backup FabricSvc Gagal Diperiksa
| Pesan kesalahan | Kemungkinan penyebab | Tindakan yang disarankan |
|---|---|---|
| Preferensi cadangan untuk SQL Always On Availability Group tidak dapat dipenuhi karena beberapa node dari Availability Group tidak terdaftar. | Node yang diperlukan untuk melakukan pencadangan tidak terdaftar atau tidak dapat dijangkau. |
|
Kesalahan Pengguna: VM Tidak dalam Keadaan Berjalan
| Pesan kesalahan | Kemungkinan penyebab | Tindakan yang disarankan |
|---|---|---|
| Server SQL dimatikan atau tidak dapat diakses oleh layanan Azure Backup. | VM dimatikan. | Pastikan instans SQL Server sedang berjalan. |
KesalahanPenggunaStatusAgenTamuTidakTersedia
| Pesan kesalahan | Kemungkinan penyebab | Tindakan yang disarankan |
|---|---|---|
| Layanan Azure Backup menggunakan agen tamu Azure VM untuk melakukan pencadangan tetapi agen tamu tidak tersedia di server target. | Agen tamu tidak diaktifkan atau tidak sehat. | Pasang agen tamu VM secara manual. |
PerlindunganOtomatisDibatalkanAtauTidakValid
| Pesan kesalahan | Kemungkinan penyebab | Tindakan yang disarankan |
|---|---|---|
| Perlindungan otomatis Intent telah dihapus atau tidak valid lagi. | Saat Anda mengaktifkan perlindungan otomatis pada instans SQL Server, pekerjaan Cadangan Konfigurasi berjalan untuk semua database dalam instans itu. Jika Anda menonaktifkan perlindungan otomatis saat pekerjaan berjalan, maka pekerjaan Yang Sedang Berlangsung dibatalkan dengan kode kesalahan ini. | Aktifkan proteksi otomatis sekali lagi untuk membantu melindungi semua database yang tersisa. |
CloudDosAbsoluteLimitReached
| Pesan kesalahan | Kemungkinan penyebab | Tindakan yang disarankan |
|---|---|---|
| Operasi diblokir karena Anda telah mencapai batas jumlah operasi yang diizinkan dalam 24 jam. | Ketika Anda telah mencapai batas maksimum yang diizinkan untuk operasi dalam rentang 24 jam, kesalahan ini muncul. Misalnya: Jika Anda telah mencapai batas jumlah tugas pencadangan yang dapat dipicu per hari, dan Anda mencoba mengonfigurasi pencadangan pada item baru, Anda akan melihat kesalahan ini. |
Biasanya, mencoba kembali operasi setelah 24 jam akan menyelesaikan masalah ini. Namun, jika masalah berlanjut, Anda dapat menghubungi dukungan Microsoft untuk mendapatkan bantuan. |
CloudDosBatasMutlakTercapaiDenganPercobaanUlang
| Pesan kesalahan | Kemungkinan penyebab | Tindakan yang disarankan |
|---|---|---|
| Operasi diblokir karena kubah telah mencapai batas maksimum untuk operasi tersebut yang diizinkan dalam rentang 24 jam. | Ketika Anda telah mencapai batas maksimum yang diizinkan untuk operasi dalam rentang 24 jam, kesalahan ini muncul. Kesalahan ini biasanya muncul ketika ada operasi dalam skala besar seperti mengubah kebijakan atau perlindungan otomatis. Tidak seperti kasus CloudDosAbsoluteLimitReached, tidak banyak yang dapat Anda lakukan untuk menyelesaikan keadaan ini. Bahkan, layanan Azure Backup akan mencoba kembali operasi secara internal untuk semua item yang dimaksud. Misalnya: Jika Anda memiliki sejumlah besar sumber data yang dilindungi dengan kebijakan dan Anda mencoba memodifikasi kebijakan tersebut, maka akan memicu konfigurasi pekerjaan perlindungan untuk setiap item yang dilindungi dan kadang-kadang dapat mencapai batas maksimum yang diizinkan untuk operasi tersebut per hari. |
Layanan Azure Backup akan secara otomatis mencoba kembali operasi ini setelah 24 jam. |
Ekstensi Beban Kerja Tidak Dapat Dicapai
| Pesan kesalahan | Kemungkinan penyebab | Tindakan yang disarankan |
|---|---|---|
| Operasi ekstensi beban kerja AzureBackup gagal. | VM dimatikan, atau VM tidak dapat menghubungi layanan Azure Backup karena masalah konektivitas internet. |
KesalahanPenggunaVMKoneksiInternetTerputus
| Pesan kesalahan | Kemungkinan penyebab | Tindakan yang disarankan |
|---|---|---|
| VM tidak dapat menghubungi layanan Azure Backup karena masalah konektivitas internet. |
Penyebab 1: VM memerlukan konektivitas keluar ke layanan Azure Backup Service, Azure Storage, atau Microsoft Entra. Penyebab 2: Kebijakan Objek Kebijakan Grup (GPO) membatasi cipher suite yang diperlukan untuk komunikasi TLS. |
Rekomendasi untuk penyebab 1: Rekomendasi untuk penyebab 2: Hapus VM dari GPO atau nonaktifkan/hapus kebijakan GPO sebagai solusinya. Atau, modifikasi GPO sedemikian rupa sehingga memungkinkan penggunaan cipher suite yang diperlukan. |
KesalahanPenggunaOperasiTidakDiizinkanPencerminanBasisDataDiaktifkan
| Pesan kesalahan | Kemungkinan penyebab | Tindakan yang direkomendasikan |
|---|---|---|
| Pencadangan database yang berpartisipasi dalam sesi pencerminan database tidak didukung oleh AzureWorkloadBackup. | Saat Anda mengaktifkan operasi pencerminan pada database SQL, kesalahan ini muncul. Saat ini, Azure Backup tidak mendukung database dengan fitur ini diaktifkan. | Anda bisa menghapus sesi pencerminan database database agar operasi berhasil diselesaikan. Atau, jika database sudah dilindungi, lakukan Hentikan operasi pencadangan pada database. |
KesalahanPenggunaWindowsWLExtGagalMemulaiLayananPlugin
| Pesan kesalahan | Kemungkinan penyebab | Rekomendasi |
|---|---|---|
Operasi gagal dengan kesalahan UserErrorWindowsWLExtFailedToStartPluginService. |
Ekstensi beban kerja Azure Backup tidak dapat memulai layanan plugin cadangan beban kerja di Azure Virtual Machine karena kesalahan konfigurasi akun layanan. |
Langkah 1: Verifikasi apakah pengguna NT Service\AzureWLBackupPluginSvc memiliki izin Baca pada: - C:\windows\Microsoft.NET \assembly\GAC_32 - C:\windows\Microsoft.NET \assembly\GAC_64 - C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\machine.config. Jika izin hilang, tetapkan izin Baca pada direktori ini. Langkah 2: Verifikasi apakah NT Service\AzureWLBackupPluginSvc memiliki hak Melewati pemeriksaan traverse dengan masuk ke Kebijakan Keamanan Lokal>Penetapan Hak Pengguna>Melewati pemeriksaan traverse. Setiap orang harus dipilih secara default. Jika Semua orang dan NT Service\AzureWLBackupPluginSvc hilang, tambahkan pengguna NT Service\AzureWLBackupPluginSvc , lalu coba mulai ulang layanan atau picu operasi pencadangan atau pemulihan untuk sumber data. |
Kegagalan registrasi ulang
Periksa satu atau beberapa gejala berikut sebelum Anda memicu operasi pendaftaran ulang:
Semua operasi (seperti pencadangan, pemulihan, dan konfigurasi cadangan) gagal pada VM dengan salah satu kode kesalahan berikut: WorkloadExtensionNotReachable, UserErrorWorkloadExtensionNotInstalled, WorkloadExtensionNotPresent, WorkloadExtensionDidntDequeueMsg.
Jika area Status Cadangan untuk item cadangan memperlihatkan Tidak dapat dijangkau, filter semua penyebab lain yang mungkin menghasilkan status yang sama:
- Kurangnya izin untuk melakukan operasi terkait cadangan pada VM.
- Penonaktifan VM, sehingga cadangan tidak dapat dilakukan.
- Kesalahan jaringan
Dalam kasus kelompok ketersediaan Always On, cadangan mulai gagal setelah Anda mengubah preferensi cadangan atau setelah terjadi failover.
Gejala-gejala ini dapat terjadi karena satu atau beberapa alasan berikut:
- Ekstensi telah dihapus atau dicopot pemasangannya dari portal.
- Ekstensi telah dihapus dari Panel Kontrol pada VM di bawah Copot Pemasangan atau Ubah Program.
- VM dipulihkan kembali ke masa lalu melalui pemulihan disk lokal.
- VM telah dimatikan untuk jangka waktu yang lama, sehingga konfigurasi ekstensinya kedaluwarsa.
- VM telah dihapus, dan VM lain dibuat dengan nama yang sama dan dalam grup sumber daya yang sama dengan VM yang dihapus.
- Salah satu node grup ketersediaan tidak menerima konfigurasi cadangan lengkap. Ini dapat terjadi ketika grup ketersediaan didaftarkan ke kubah atau ketika node baru ditambahkan.
Dalam skenario sebelumnya, kami menyarankan Anda memicu operasi pendaftaran ulang pada VM. Lihat di sini untuk instruksi tentang cara melakukan tugas ini di PowerShell.
Batas ukuran untuk file
Ukuran total string file tidak hanya tergantung pada jumlah file tetapi juga pada nama dan jalurnya. Untuk setiap file database, dapatkan nama file logis dan jalur fisik. Anda dapat menggunakan kueri SQL ini:
SELECT mf.name AS LogicalName, Physical_Name AS Location FROM sys.master_files mf
INNER JOIN sys.databases db ON db.database_id = mf.database_id
WHERE db.name = N'<Database Name>'
Sekarang susun dalam format berikut:
[{"path":"<Location>","logicalName":"<LogicalName>","isDir":false},{"path":"<Location>","logicalName":"<LogicalName>","isDir":false}]
Berikut contohnya:
[{"path":"F:\\Data\\TestDB12.mdf","logicalName":"TestDB12","isDir":false},{"path":"F:\\Log\\TestDB12_log.ldf","logicalName":"TestDB12_log","isDir":false}]
Jika ukuran string konten melebihi 20.000 byte, file database disimpan secara berbeda. Selama pemulihan, Anda tidak akan dapat mengatur jalur file target untuk pemulihan. File akan dipulihkan ke jalur SQL default yang disediakan oleh SQL Server.
Mengubah jalur file pemulihan target bawaan
Anda dapat mengambil alih jalur file pemulihan target selama operasi pemulihan dengan menempatkan file JSON yang berisi pemetaan file database ke jalur pemulihan target. Buat sebuah file database_name.json dan letakkan di lokasi C:\Program Files\Azure Workload Backup\bin\plugins\SQL*.
Konten file harus dalam format ini:
[
{
"Path": "<Restore_Path>",
"LogicalName": "<LogicalName>",
"IsDir": "false"
},
{
"Path": "<Restore_Path>",
"LogicalName": "LogicalName",
"IsDir": "false"
},
]
Berikut contohnya:
[
{
"Path": "F:\\Data\\testdb2_1546408741449456.mdf",
"LogicalName": "testdb7",
"IsDir": "false"
},
{
"Path": "F:\\Log\\testdb2_log_1546408741449456.ldf",
"LogicalName": "testdb7_log",
"IsDir": "false"
},
]
Dalam konten sebelumnya, Anda bisa mendapatkan nama logis file database dengan menggunakan kueri SQL berikut ini:
SELECT mf.name AS LogicalName FROM sys.master_files mf
INNER JOIN sys.databases db ON db.database_id = mf.database_id
WHERE db.name = N'<Database Name>'
File ini harus ditempatkan sebelum Anda memicu operasi pemulihan.
Langkah berikutnya
Untuk informasi selengkapnya tentang Azure Backup untuk SQL VM.