Bagikan sekarang:
Daftar Isi menyembunyikan

Ketika basis data SQL Anda macet dalam status pemulihan tertunda (recovery pending), basis data Anda menjadi tidak dapat diakses dan operasi terhenti. Panduan komprehensif ini menyediakan 15 metode yang telah terbukti untuk mengatasi masalah pemulihan tertunda basis data SQL, mulai dari memulai ulang sederhana hingga perbaikan darurat tingkat lanjut.

1. Memahami Status Pemulihan Tertunda Database SQL

Sebelum mencoba perbaikan apa pun, memahami apa yang menyebabkan masalah pemulihan basis data SQL tertunda sangat penting untuk memilih solusi yang tepat.

1.1 Apa Arti Pemulihan Tertunda?

Pemulihan yang tertunda menunjukkan bahwa SQL Server Status ini menunjukkan bahwa basis data perlu dipulihkan tetapi proses pemulihan tidak dapat dimulai. Berbeda dengan "Memulihkan" yang menunjukkan pemulihan aktif sedang berlangsung, "Pemulihan Tertunda" berarti pemulihan terhalang oleh suatu kendala.

SQL Server basis data dalam status pemulihan tertunda.

Status basis data utama meliputi:

  • ONLINE – Kondisi operasional normal
  • PEMULIHAN – Proses pemulihan sedang berjalan aktif
  • PEMULIHAN TERGANTUNG – Pemulihan tidak dapat dimulai
  • TERSANGKA – Database memiliki kesalahan kritis
  • DARURAT – Akses baca-saja terbatas untuk perbaikan
  • OFFLINE – Dihapus secara manual

1.2 Penyebab Umum Pemulihan Database SQL Tertunda

Masalah pemulihan database SQL yang tertunda umumnya disebabkan oleh penyebab umum berikut:

  • File log transaksi (LDF) hilang atau rusak
  • Ruang disk tidak mencukupi selama operasi pemulihan
  • Kegagalan perangkat keras dan penghentian sistem yang tidak terduga
  • File database MDF yang rusak
  • Masalah izin file yang mencegah akses
  • SQL Server masalah waktu memulai layanan
  • Kesalahan konfigurasi FILESTREAM
  • Jalur file yang salah setelah migrasi server

1.3 Cara Memeriksa Status Database

Verifikasi status basis data Anda menggunakan metode berikut:

Menggunakan SQL Server Studio Manajemen:

  1. Sambungkan ke SQL Server contoh
  2. Lihat lebih lanjut Database map
  3. Cari database yang menunjukkan status “(Pemulihan Tertunda)”

SQL Server basis data dalam status pemulihan tertunda.

Menggunakan perintah T-SQL:

SELECT name, state_desc FROM sys.databases WHERE state_desc = 'RECOVERY_PENDING';

2. Langkah-Langkah Diagnostik Awal

Diagnosis yang tepat sangat penting sebelum mencoba perbaikan pemulihan basis data SQL apa pun.

2.1 Cek SQL Server Log Kesalahan

Log kesalahan berisi informasi penting tentang apa yang menyebabkan status pemulihan tertunda.

  1. Open SQL Server Studio Manajemen
  2. Navigasi ke Pengelolaan -> SQL Server Log
  3. Klik dua kali log saat ini untuk melihat kesalahan terkini
  4. Cari pesan kesalahan yang terkait dengan database Anda

Memeriksa SQL Server log kesalahan untuk kesalahan terkini yang terkait dengan basis data Anda.

Atau, gunakan T-SQL:

EXEC sp_readerrorlog;

2.2 Periksa Log Peristiwa Windows

  1. Media Tombol Windows + R
  2. Tipe eventvwr.msc dan tekan Enter
    Buka penampil peristiwa Windows.
  3. Navigasi ke Windows log -> System ke Aplikasi
  4. Mencari SQL Server kesalahan terkait pada saat masalah terjadi

Di penampil acara, cari SQL Server kesalahan terkait yang dapat menyebabkan masalah pemulihan basis data SQL tertunda.

2.3 Verifikasi Aksesibilitas File

  1. Navigasi ke lokasi file basis data Anda
  2. Verifikasi apakah file MDF dan LDF ada
  3. Periksa apakah drive online dan dapat diakses
  4. Konfirmasikan drive jaringan terpasang dengan benar

3. Perbaikan #1: Mulai ulang SQL Server Layanan

Mulai ulang SQL Server Layanan ini menyelesaikan banyak masalah pemulihan basis data SQL yang tertunda yang disebabkan oleh masalah waktu atau konflik sumber daya sementara.

3.1 Kapan Restart Layanan Berhasil

Metode ini efektif untuk:

  • Penguncian sumber daya sementara selama proses startup.
  • Penundaan ketersediaan drive
  • Masalah waktu ketergantungan layanan
  • Konflik konfigurasi kecil

3.2 Cara Memulai Ulang SQL Server Layanan

Metode 1: SQL Server Manajer Konfigurasi

  1. Open SQL Server Manajer Konfigurasi
  2. Klik SQL Server Layanan
  3. Klik kanan SQL Server misalnya, seperti SQL Server (MSSQLSERVER)
  4. Pilih Restart
  5. Tunggu hingga layanan sepenuhnya dimulai kembali.

Mulai kembali SQL Server layanan dalam SQL Server Manajer Konfigurasi.

Metode 2: Konsol Layanan

  1. Media Tombol Windows + R
  2. Tipe services.msc dan tekan Enter
    Buka konsol layanan Windows.
  3. Cari SQL Server misalnya, seperti SQL Server (MSSQLSERVER)
  4. Klik kanan dan pilih Restart

Mulai kembali SQL Server layanan di konsol layanan untuk mengatasi masalah pemulihan basis data SQL yang tertunda.

Metode 3: PowerShell

Restart-Service -Name "MSSQLSERVER" -Force

3.3 Verifikasi Pasca-Restart

  1. Tunggu 2-3 menit hingga proses startup selesai.
  2. Periksa status database di SSMS
  3. Verifikasi log kesalahan untuk setiap pesan baru
  4. Uji konektivitas basis data

4. Perbaikan #2: Periksa dan Atasi Masalah Ruang Disk

Ruang disk yang tidak mencukupi adalah penyebab umum masalah pemulihan basis data SQL yang tertunda. Operasi pemulihan memerlukan ruang tambahan untuk file sementara dan pertumbuhan log.

4.1 Mengidentifikasi Masalah Ruang Disk

  1. Open File Explorer
  2. Navigasi ke drive yang berisi file database
  3. Periksa ruang kosong yang tersedia
  4. Pastikan setidaknya 10-20% ruang kosong untuk operasi pemulihan

4.2 Mengosongkan Ruang Disk

  1. Hapus file sementara yang tidak perlu.
  2. Hapus SQL Server file cadangan jika ruang penyimpanan kritis
  3. Pindahkan file yang tidak penting ke drive lain
  4. Kecilkan file database lainnya jika memungkinkan

Kecilkan file basis data (gunakan dengan hati-hati):

DBCC SHRINKFILE (logicalfilename, target_size);

4.3 Mengatur Database Online Setelah Space Fix

Setelah ruang tersedia, coba hubungkan basis data secara online:

ALTER DATABASE [DatabaseName] SET ONLINE;

5. Perbaikan #3: Atur SQL Server Layanan Akan Mulai Tertunda

Pengaturan SQL Server Penundaan memulai (delayed start) mengatasi masalah pemulihan basis data SQL yang tertunda yang disebabkan oleh sistem penyimpanan atau drive jaringan yang belum siap selama proses booting sistem.

5.1 Memahami Masalah Waktu

Masalah waktu terjadi ketika:

  • SAN atau penyimpanan jaringan membutuhkan waktu untuk diinisialisasi
  • Huruf drive tidak ditetapkan selama boot awal
  • Drive jaringan memerlukan autentikasi
  • Pengontrol penyimpanan memerlukan waktu inisialisasi

5.2 Mengonfigurasi Penundaan Mulai

  1. Media Tombol Windows + R
  2. Tipe services.msc dan tekan Enter
    Buka konsol layanan Windows.
  3. Cari SQL Server misalnya, seperti SQL Server (MSSQLSERVER)
  4. Klik kanan dan pilih Properties
  5. Perubahan Jenis startup untuk Otomatis (Tertunda Start)
    Perubahan SQL Server Ubah tipe startup menjadi Otomatis (Mulai Tertunda) untuk mengatasi masalah pemulihan basis data SQL yang tertunda.
  6. Klik OK
  7. Mulai ulang sistem untuk menguji.

5.3 Solusi Alternatif untuk Pengaturan Waktu

Untuk kontrol lebih lanjut, buat tugas terjadwal:

  1. Open Task Scheduler
  2. Klik Tindakan -> Buat Tugas Dasar
  3. Masukkan Nama ke Deskripsi dari tugas tersebut, seperti “Tunda dimulainya” SQL Server melayani"
  4. set Pelatuk untuk Saat komputer dinyalakan
  5. set Tindakan untuk Mulailah sebuah program
  6. set Program / Script ke jalur penuh Sqlservr.exe, seperti ini: C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\Binn\sqlservr.exe. Anda dapat menggunakan fungsi pencarian di Windows untuk menemukannya.
  7. Di halaman selesai, pilih Buka dialog Properties untuk tugas ini ketika saya mengklik Finish.
    Buat tugas dengan penundaan mulai. SQL Server di Penjadwal Tugas Windows.
  8. Klik Finish.
  9. Pada dialog properti tugas, klik pemicu tab
  10. Pilih pemicu dan klik Sunting
    Edit pemicu tugas dalam dialog properti tugas.
  11. Di pengaturan Lanjutan, centang Tugas penundaan untuk: dan atur waktu menjadi 3 menit.
    Atur tugas agar mulai tertunda setelah 3 menit untuk mengatasi kesalahan pemulihan basis data SQL yang tertunda.
  12. Klik OK.

6. Perbaikan #4: Perbaiki Izin File dan Hak Akses

Masalah izin mencegah SQL Server dari mengakses berkas basis data, yang menyebabkan status pemulihan basis data SQL tertunda. Izin berkas yang tepat sangat penting untuk operasi basis data.

6.1 Masalah Izin Umum

  • SQL Server akun layanan tidak memiliki hak akses file
  • Perangkat lunak antivirus memblokir akses file
  • Kebijakan keamanan yang diubah
  • Masalah izin berbagi jaringan

6.2 Memperbaiki Izin Folder

  1. Navigasi ke folder file database
  2. Klik kanan folder dan pilih Properties
  3. klik Security tab
  4. Klik Sunting
  5. Tambahkan SQL Server akun layanan jika hilang
  6. Hibah Kontrol penuh Izin
  7. Klik OK untuk menerapkan perubahan

Periksa dan perbaiki izin SQL Server akun layanan untuk SQL Server folder data.

Menggunakan Baris Perintah (icacls):

icacls "C:\Data" /grant "NT SERVICE\MSSQLSERVER":F /T

6.3 Pertimbangan Akun Layanan

Verifikasi SQL Server akun layanan:

  1. Open SQL Server Manajer Konfigurasi
  2. Klik SQL Server Layanan
  3. Perhatikan Masuk Sebagai akun untuk SQL Server
  4. Pastikan akun ini memiliki izin yang sesuai

Periksalah SQL Server akun layanan untuk mengatasi masalah pemulihan basis data SQL yang tertunda.

7. Perbaikan #5: Koreksi Jalur File Manual

Masalah jalur berkas terjadi ketika berkas basis data dipindahkan atau huruf kandar berubah. Metode ini memperbarui SQL Serverreferensi file internal tanpa memindahkan file sebenarnya.

7.1 Ketika Masalah Jalur Terjadi

  • Perubahan perangkat keras server
  • Penugasan ulang huruf drive
  • Modifikasi jalur jaringan
  • Relokasi file basis data

7.2 Memperbaiki Jalur File

  1. Identifikasi jalur file saat ini dalam log kesalahan
  2. Temukan file database yang sebenarnya
  3. Gunakan ALTER DATABASE untuk memperbarui jalur

Perbarui jalur berkas data:

ALTER DATABASE [DatabaseName] 
MODIFY FILE (NAME = 'LogicalDataFileName', FILENAME = 'C:\NewPath\DatabaseName.mdf');

Jalur berkas log pembaruan:

ALTER DATABASE [DatabaseName] 
MODIFY FILE (NAME = 'LogicalLogFileName', FILENAME = 'C:\NewPath\DatabaseName_Log.ldf');

7.3 Langkah Verifikasi

  1. Restart SQL Server layanan
  2. Periksa status basis data
  3. Verifikasi log kesalahan untuk pesan terkait jalur
  4. Uji konektivitas basis data

8. Perbaikan #6: Pindahkan Database Offline Lalu Online

Perubahan status sederhana ini dapat menyelesaikan masalah kecil yang tertunda pada pemulihan basis data SQL dengan memaksa transisi status yang bersih dan menghapus kunci sementara.

8.1 Kapan Metode Ini Berhasil

  • Ketidakkonsistenan negara bagian kecil
  • Kunci sumber daya sementara
  • Proses pemulihan sederhana diatur ulang
  • Kondisi kesalahan non-kritis

8.2 Prosedur Offline/Online

  1. Pastikan tidak ada koneksi aktif ke database
  2. Jalankan perintah offline
  3. Tunggu beberapa detik
  4. Jalankan perintah online

Metode aman (menunggu koneksi ditutup):

ALTER DATABASE [DatabaseName] SET OFFLINE;
ALTER DATABASE [DatabaseName] SET ONLINE;

Metode langsung (mengakhiri koneksi):

ALTER DATABASE [DatabaseName] SET OFFLINE WITH ROLLBACK IMMEDIATE;
ALTER DATABASE [DatabaseName] SET ONLINE;

8.3 Risiko dan Pertimbangan

Peringatan: Menggunakan ROLLBACK IMMEDIATE dapat menyebabkan hilangnya data dari transaksi yang belum terkomit. Gunakan hanya jika diperlukan dan pastikan pengguna telah keluar.

9. Perbaikan #7: Nonaktifkan Fitur AUTO CLOSE

Fitur AUTO CLOSE dapat menyebabkan masalah pemulihan basis data SQL yang tertunda saat basis data sering dibuka dan ditutup, sehingga menimbulkan konflik waktu selama operasi pemulihan.

9.1 Memahami Dampak AUTO CLOSE

  • Basis data ditutup setelah pengguna terakhir terputus
  • Harus memulihkan setiap kali database dibuka
  • Menciptakan siklus pemulihan yang sering
  • Dapat mengganggu operasi lainnya

9.2 Menonaktifkan AUTO CLOSE

Menggunakan T-SQL:

ALTER DATABASE [DatabaseName] SET AUTO_CLOSE OFF;

Menggunakan SQL Server Studio Manajemen:

  1. Klik kanan database
  2. Pilih Properties
  3. Pergi ke Opsi halaman
  4. set Tutup Otomatis untuk Salah
  5. Klik OK

Nonaktifkan properti Tutup Otomatis untuk SQL Server basis data di SQL Server Management Studio untuk mengatasi masalah pemulihan basis data SQL yang tertunda.

9.3 Pengaturan OTOMATIS Terkait

Pertimbangkan juga menonaktifkan AUTO_SHRINK untuk kinerja yang lebih baik:

ALTER DATABASE [DatabaseName] SET AUTO_SHRINK OFF;

10. Perbaikan #8: Hapus File Log yang Rusak dan Mulai Ulang

Metode ini berfungsi ketika berkas log transaksi rusak parah dan tidak dapat diperbaiki. Metode ini hanya boleh digunakan di lingkungan pengembangan atau ketika kehilangan data dapat diterima.

10.1 Kapan Penghapusan Log Tepat

⚠️ PERINGATAN KRITIS: Metode ini menyebabkan hilangnya data!

Gunakan hanya ketika:

  • Bekerja dengan database pengembangan/pengujian
  • File log rusak sepenuhnya
  • Tidak ada pilihan pemulihan lainnya
  • Cadangan terbaru tersedia

10.2 Prosedur Penghapusan File Log

  1. berhenti SQL Server layanan sepenuhnya
  2. Navigasi ke lokasi file database
  3. Hapus file .LDF (simpan file .MDF)
  4. Start SQL Server layanan
  5. SQL Server akan secara otomatis membuat file log baru

10.3 Peringatan Penting

Implikasi Kehilangan Data:

  • Semua transaksi yang belum dikonfirmasi akan hilang secara permanen.
  • Rantai log rusak – cadangan diferensial tidak valid
  • Pemulihan pada titik waktu tertentu menjadi tidak mungkin
  • Hanya digunakan di lingkungan non-produksi

11. Perbaikan #9: Lepaskan dan Pasang Kembali Database

Melepas dan memasang kembali gaya SQL Server untuk membangun kembali berkas log yang hilang atau rusak. Metode ini dapat mengatasi masalah pemulihan basis data SQL yang tertunda ketika berkas log bermasalah.

11.1 Kapan Lepas/Pasang Kembali Berhasil

  • File log hilang
  • Header file log rusak
  • Perubahan jalur file log
  • Skenario korupsi sederhana

11.2 Prosedur Standar Lepas/Pasang Kembali

  1. Atur database ke mode darurat terlebih dahulu
  2. Beralih ke mode multi-pengguna
  3. Lepaskan database
  4. Lampirkan kembali hanya menggunakan file MDF
-- Set to emergency mode
ALTER DATABASE [DatabaseName] SET EMERGENCY;
ALTER DATABASE [DatabaseName] SET MULTI_USER;

-- Detach database
EXEC sp_detach_db '[DatabaseName]';

-- Re-attach with single file (MDF only)
EXEC sp_attach_single_file_db 
    @DBName = '[DatabaseName]', 
    @physname = N'C:\Data\DatabaseName.mdf';

11.3 Metode Lampiran Alternatif

Untuk beberapa skenario file:

CREATE DATABASE [DatabaseName] 
ON (FILENAME = 'C:\Data\DatabaseName.mdf'),
   (FILENAME = 'C:\Data\DatabaseName_2.ndf')
FOR ATTACH;

12. Perbaikan #10: Bangun Ulang File Log Transaksi

Pembuatan ulang log akan membuat berkas log transaksi baru ketika berkas asli hilang atau rusak parah. Metode ini mengatasi masalah pemulihan database SQL yang tertunda, tetapi mengakibatkan hilangnya data.

12.1 Kapan Pembuatan Ulang Log Diperlukan

  • File LDF hilang setelah kegagalan perangkat keras
  • Log transaksi yang rusak parah
  • Perubahan jalur file log yang tidak dapat diperbaiki
  • Situasi pemulihan darurat

12.2 Proses Pembuatan Ulang Log

⚠️ PERINGATAN: Ini menyebabkan hilangnya data!

  1. Atur database ke mode darurat
  2. Gunakan perintah REBUILD LOG
  3. Tentukan lokasi file log baru
  4. Membawa basis data daring
ALTER DATABASE [DatabaseName] SET EMERGENCY;
GO

ALTER DATABASE [DatabaseName] REBUILD LOG ON 
(NAME = 'DatabaseName_Log', FILENAME = 'C:\Logs\DatabaseName_Log.ldf');
GO

ALTER DATABASE [DatabaseName] SET ONLINE;
GO

12.3 Memahami Implikasi Kehilangan Data

Penyebab pembangunan kembali log:

  • Hilangnya semua transaksi yang belum berkomitmen
  • Nomor urut log rusak
  • Ketidakmampuan untuk menerapkan pencadangan log berikutnya
  • Pemulihan pada titik waktu tertentu menjadi tidak mungkin

13. Perbaikan #11: Perbaikan Mode Darurat dengan DBCC CHECKDB

Perbaikan mode darurat adalah metode terakhir untuk pemulihan basis data SQL yang tertunda akibat masalah yang disebabkan oleh kerusakan. Metode ini dapat memperbaiki basis data, tetapi dapat mengakibatkan hilangnya data yang signifikan.

13.1 Memahami Mode Darurat

⚠️ PERINGATAN EKSTREM: Risiko tinggi kehilangan data!

Gunakan mode darurat hanya ketika:

  • Semua metode lainnya gagal
  • Tidak ada cadangan terbaru yang tersedia
  • Beberapa pemulihan data lebih baik daripada kehilangan total
  • Basis data rusak parah

13.2 Prosedur Perbaikan Darurat

  1. Ambil cadangan file database yang rusak terlebih dahulu
  2. Atur database ke mode darurat
  3. Beralih ke mode pengguna tunggal
  4. Jalankan CHECKDB dengan opsi perbaikan
  5. Kembali ke mode multi-pengguna
-- Step 1: Set to emergency mode
ALTER DATABASE [DatabaseName] SET EMERGENCY;
GO

-- Step 2: Single user mode
ALTER DATABASE [DatabaseName] SET SINGLE_USER;
GO

-- Step 3: Repair with no data loss
DBCC CHECKDB ([DatabaseName], REPAIR_REBUILD) WITH ALL_ERRORMSGS;
GO

-- Step 4: Return to multi-user
ALTER DATABASE [DatabaseName] SET MULTI_USER;
GO

13.3 Penilaian Pasca Perbaikan

  1. Tinjau keluaran CHECKDB untuk tindakan perbaikan
  2. Periksa tabel atau data yang hilang
  3. Verifikasi fungsionalitas aplikasi penting
  4. Pertimbangkan untuk memulihkan dari cadangan jika terlalu banyak data yang hilang.

14. Perbaikan #12: Periksa dan Perbaiki Konfigurasi FILESTREAM

Masalah konfigurasi FILESTREAM dapat menyebabkan masalah pemulihan basis data SQL yang tertunda. Metode ini mengatasi kegagalan pemulihan khusus FILESTREAM.

14.1 Masalah Pemulihan Terkait FILESTREAM

  • Kegagalan koneksi driver FILESTREAM
  • Ketidakcocokan konfigurasi antara SQL Server dan OS
  • Masalah waktu selama memulai layanan
  • Masalah izin dengan kontainer FILESTREAM

14.2 Pemecahan Masalah FILESTREAM

  1. Periksa tingkat konfigurasi FILESTREAM
  2. Verifikasi fitur Windows diaktifkan
  3. Mulai ulang layanan yang diperlukan
  4. Periksa izin kontainer FILESTREAM

Periksa konfigurasi FILESTREAM:

SELECT SERVERPROPERTY('FilestreamEffectiveLevel') AS CurrentLevel;

Aktifkan FILESTREAM pada tingkat instans:

EXEC sp_configure 'filestream access level', 2;
RECONFIGURE;

14.3 Praktik Terbaik FILESTREAM

  • Pastikan konfigurasi konsisten di setiap proses restart.
  • Verifikasi jalur kontainer FILESTREAM dapat diakses
  • Periksa apakah fitur FILESTREAM Windows diaktifkan dengan benar
  • Pantau pesan kesalahan terkait FILESTREAM

15. Perbaikan #13: Pembaruan SQL Server Versi/Paket Layanan

Lama SQL Server Versi-versi sebelumnya, terutama rilis RTM, mengandung bug yang diketahui menyebabkan masalah pemulihan basis data SQL yang tertunda. Memperbarui ke paket layanan terbaru dapat mengatasi masalah ini.

15.1 Masalah yang Diketahui di Versi Lama

  • SQL Server Bug pemulihan RTM 2005
  • Perbaikan khusus paket layanan untuk proses pemulihan
  • Pembaruan kumulatif yang membahas kasus-kasus ekstrem
  • Masalah kompatibilitas dengan versi Windows yang lebih baru

15.2 Proses Pembaruan

  1. Periksa arus SQL Server versi
  2. Identifikasi paket layanan terbaru yang tersedia
  3. Download dari Microsoft Download Center External Link
  4. Jadwalkan jendela pemeliharaan
  5. Instal paket layanan
  6. Mulai ulang layanan
  7. Verifikasi fungsionalitas basis data

Periksa versi saat ini:

SELECT @@VERSION;

15.3 Verifikasi Pasca-Pembaruan

  1. Konfirmasi nomor versi berubah
  2. Periksa semua database yang online dengan benar
  3. Jalankan pengujian fungsionalitas dasar
  4. Pantau log kesalahan untuk masalah baru

16. Perbaikan #14: Pulihkan Database dari Cadangan

Ketika masalah pemulihan basis data SQL yang tertunda tidak dapat diselesaikan melalui metode perbaikan, memulihkan dari cadangan yang diketahui baik memberikan solusi paling andal dengan batasan kehilangan data yang dapat diprediksi.

16.1 Saat Pemulihan Cadangan adalah Solusinya

  • Beberapa kali upaya perbaikan telah gagal
  • Data produksi kritis memerlukan kepastian
  • Ada jendela kehilangan data yang dapat diterima
  • Korupsi sudah terlalu luas untuk diperbaiki

16.2 Proses Pemulihan Basis Data Penuh

  1. Identifikasi cadangan terbaru yang dapat digunakan.
  2. Pastikan ruang disk cukup untuk pemulihan
  3. Ambil database offline atau hapus jika perlu
  4. Pulihkan dari file cadangan
  5. Terapkan pencadangan log jika tersedia

Pemulihan dasar dari cadangan penuh:

RESTORE DATABASE [DatabaseName] 
FROM DISK = 'C:\Backups\DatabaseName.bak'
WITH REPLACE;

Pulihkan dengan pencadangan log untuk pemulihan titik waktu:

RESTORE DATABASE [DatabaseName] 
FROM DISK = 'C:\Backups\DatabaseName.bak'
WITH NORECOVERY, REPLACE;

RESTORE LOG [DatabaseName] 
FROM DISK = 'C:\Backups\DatabaseName_Log.trn'
WITH RECOVERY;

16.3 Verifikasi dan Pengujian

  1. Verifikasi bahwa database berhasil online
  2. Periksa integritas data dengan CHECKDB
  3. Uji fungsi aplikasi penting
  4. Konfirmasikan pencadangan/pemulihan selesai tanpa kesalahan

16.4 Referensi

Anda dapat mempelajari informasi lebih lanjut dari kami panduan lengkap tentang cara mencadangkan dan memulihkan SQL Server database.

17. Perbaikan #15: Alat Pemulihan SQL Profesional

Jika metode manual gagal mengatasi masalah pemulihan basis data SQL yang tertunda, perangkat lunak pemulihan khusus dapat mengekstrak data dari basis data yang rusak parah yang tidak dapat diperbaiki melalui metode standar.

17.1 Kapan Harus Mempertimbangkan Alat Pihak Ketiga

  • Korupsi parah melampaui kemampuan perbaikan manual
  • Data penting tanpa cadangan yang tersedia
  • Beberapa kali upaya perbaikan manual gagal
  • Persyaratan pemulihan kritis waktu

17.2 DataNumen SQL Recovery

DataNumen SQL Recovery adalah kuat SQL Server alat pemulihan basis data.

Berikut langkah-langkah penggunaannya:

  1. Hentikan SQL Server Layanan.
    Hentikan SQL Server layanan di konsol layanan.
  2. Buat salinan file basis data dalam status pemulihan tertunda, termasuk file MDF primer dan file NDF sekunder.
  3. Memulai SQL Server Layanan.
  4. Start DataNumen SQL Recovery.
  5. Pilih salinan, bukan berkas asli, sebagai sumber basis data yang akan dipulihkan.
  6. Klik “Mulai Pemulihan” dan ikuti petunjuk untuk memulihkan basis data.
  7. Setelah proses pemulihan, database pemulihan baru akan muncul di SQL Server yang berisi semua data yang dipulihkan.

penggunaan DataNumen SQL Recovery untuk memperbaiki satu yang rusak SQL Server File MDF dan atasi kesalahan pemulihan basis data SQL yang tertunda.

18. Skenario Pemecahan Masalah Lanjutan

Lingkungan yang kompleks memerlukan pendekatan khusus untuk mengatasi masalah pemulihan basis data SQL yang tertunda.

18.1 Masalah Beberapa File Basis Data

Basis data dengan beberapa berkas data (NDF) memerlukan penanganan yang cermat:

  • Identifikasi filegroup mana yang terpengaruh
  • Periksa semua file NDF untuk aksesibilitas
  • Pertimbangkan opsi pemulihan khusus grup file
  • Tangani grup file hanya-baca dengan tepat

18.2 Grup Ketersediaan Selalu Aktif

Pemulihan basis data SQL tertunda di Selalu Aktif lingkungan:

  • Periksa status replika utama terlebih dahulu
  • Verifikasi status sinkronisasi
  • Pertimbangkan untuk menghapus dan menambahkan kembali replika yang bermasalah
  • Tinjau konfigurasi grup ketersediaan

18.3 Skenario Cluster dan Ketersediaan Tinggi

Pemulihan basis data SQL tertunda di klaster failover ke ketersediaan tinggi skenario:

  • Verifikasi aksesibilitas penyimpanan bersama
  • Periksa komunikasi node cluster
  • Tinjau log kluster failover
  • Pastikan resolusi DNS yang tepat

18.4 WMI dan Masalah Tingkat Sistem

Masalah tingkat sistem dapat menyebabkan masalah basis data:

  • Korupsi repositori WMI
  • Pembaruan Windows yang gagal
  • Korupsi registri
  • Masalah ketergantungan layanan

19. Strategi Pencegahan

Mencegah masalah pemulihan basis data SQL yang tertunda lebih efektif daripada memperbaikinya setelah masalah tersebut terjadi.

19.1 Praktik Terbaik Pencadangan

  1. Terapkan jadwal pencadangan penuh otomatis
  2. Konfigurasikan pencadangan diferensial reguler
  3. Siapkan pencadangan log transaksi yang sering
  4. Uji prosedur pemulihan cadangan secara teratur
  5. Simpan cadangan pada sistem penyimpanan terpisah
  6. Verifikasi integritas cadangan dengan RESTORE VERIFYONLY

19.2 Pemantauan dan Pemeliharaan

  1. Siapkan peringatan pemantauan ruang disk
  2. Jadwalkan operasi DBCC CHECKDB secara teratur
  3. Memantau SQL Server log kesalahan harian
  4. Implementasi VE pemantauan dasar kinerja
  5. Konfigurasi SQL Server Peringatan agen untuk kesalahan kritis

19.3 Pertimbangan Infrastruktur

  • Pasang sistem UPS untuk perlindungan daya
  • Gunakan penyimpanan tingkat perusahaan dengan redundansi
  • Terapkan prosedur shutdown yang tepat
  • Pastikan stabilitas jaringan untuk penyimpanan bersama
  • Pemantauan kesehatan perangkat keras secara teratur

19.4 SQL Server Praktik Terbaik Konfigurasi

  • Pilih model pemulihan yang tepat
  • Konfigurasikan pengaturan pertumbuhan otomatis yang masuk akal
  • Pisahkan data dan file log pada drive yang berbeda
  • Gunakan akun layanan khusus dengan hak istimewa minimal
  • Menjaga SQL Server diperbarui dengan paket layanan terbaru

20. Pohon Keputusan Pemecahan Masalah dan Metodologi

Ikuti pendekatan sistematis ini saat menghadapi masalah pemulihan basis data SQL yang tertunda.

20.1 Pendekatan Diagnosis Sistematis

  1. Periksa log kesalahan terlebih dahulu – Selalu mulai dengan SQL Server dan log Windows
  2. Verifikasi aksesibilitas file – Pastikan semua file database ada dan dapat dibaca
  3. Periksa ruang disk – Pastikan ruang yang memadai untuk operasi pemulihan
  4. Cobalah perbaikan sederhana terlebih dahulu – Memulai ulang layanan, offline/online
  5. Kemajuan menuju perbaikan yang kompleks – Hanya setelah metode sederhana gagal
  6. Pertimbangkan untuk memulihkan dari cadangan – Ketika risiko perbaikan terlalu tinggi

20.2 Memilih Metode Perbaikan yang Tepat

Risiko Rendah (Coba Dulu):

  • Restart SQL Server layanan
  • Periksa dan atasi ruang disk
  • Memperbaiki izin file
  • Basis data luring/daring

Risiko Sedang:

  • Koreksi jalur file
  • Nonaktifkan TUTUP OTOMATIS
  • Perbaikan konfigurasi FILESTREAM
  • Layanan mulai tertunda

Risiko Tinggi (Kemungkinan Kehilangan Data):

  • Hapus file log dan mulai ulang.
  • Lepaskan/pasang kembali basis data
  • Membangun kembali log transaksi
  • Perbaikan mode darurat dengan DBCC CHECKDB

20.3 Kapan Harus Melakukan Eskalasi

Carilah bantuan profesional ketika:

  • Beberapa metode berisiko tinggi telah gagal
  • Basis data berisi data penting yang tak tergantikan
  • Korupsi mempengaruhi banyak basis data
  • Diduga ada masalah pada tingkat sistem
  • Batasan waktu memerlukan hasil yang terjamin

21. Tanya Jawab

T: Apa perbedaan antara status basis data “RECOVERING” dan “RECOVERY PENDING”?

A: “PEMULIHAN” berarti database sedang aktif melakukan operasi pemulihan dan akan otomatis online setelah selesai. “PEMULIHAN TERGANTUNG” berarti SQL Server Proses pemulihan tidak dapat dimulai karena kendala seperti file hilang, ruang penyimpanan tidak mencukupi, atau kerusakan data. Pemulihan tertunda dan memerlukan intervensi manual untuk mengatasinya.

T: Perbaikan mana yang harus saya coba terlebih dahulu saat menemui masalah pemulihan basis data SQL yang tertunda?

A: Selalu mulai dengan metode yang paling aman terlebih dahulu. Periksa SQL Server Periksa log kesalahan, verifikasi ketersediaan ruang disk, lalu coba restart. SQL Server layanan. Pendekatan berisiko rendah ini menyelesaikan sebagian besar masalah umum yang tertunda dalam pemulihan tanpa risiko kehilangan data.

T: Berapa lama saya harus menunggu sebelum mencoba metode perbaikan lainnya?

A: Untuk memulai ulang layanan, tunggu 2-3 menit hingga proses startup selesai. Untuk perubahan status sederhana seperti offline/online, tunggu 30-60 detik. Untuk perbaikan yang kompleks seperti DBCC CHECKDB, berikan waktu beberapa jam tergantung pada ukuran basis data. Jangan mengganggu proses pemulihan setelah dimulai.

T: Apakah saya akan kehilangan data saat memperbaiki masalah pemulihan basis data SQL yang tertunda?

A: Kehilangan data bergantung pada metode yang digunakan. Metode yang aman seperti memulai ulang layanan, memperbaiki ruang disk, dan mengoreksi izin tidak menyebabkan kehilangan data. Metode berisiko tinggi seperti perbaikan mode darurat, membangun kembali log, atau menghapus file log dapat mengakibatkan kehilangan data yang signifikan. Selalu coba metode yang aman terlebih dahulu.

T: Dapatkah saya mencegah terjadinya masalah pemulihan basis data SQL yang tertunda?

A: Ya, sebagian besar masalah dapat dicegah melalui perawatan yang tepat. Lakukan pencadangan data secara berkala, pantau ruang disk, pertahankan kapasitas penyimpanan yang memadai, gunakan perlindungan UPS, lakukan operasi DBCC CHECKDB secara rutin, dan jaga agar tetap SQL Server diperbarui dengan paket layanan terbaru.

T: Haruskah saya mencoba perbaikan pada basis data produksi selama jam kerja?

A: Jangan pernah mencoba metode perbaikan berisiko tinggi pada basis data produksi selama jam kerja. Jadwalkan jendela pemeliharaan untuk perbaikan yang kompleks. Namun, metode yang aman seperti memulai ulang layanan atau memperbaiki ruang disk dapat dicoba segera jika menghambat operasi penting.

T: Kapan saya harus memulihkan dari cadangan alih-alih mencoba perbaikan?

A: Pulihkan dari cadangan ketika beberapa upaya perbaikan gagal, saat menangani data produksi kritis yang tidak dapat mengambil risiko kerusakan lebih lanjut, saat Anda memiliki cadangan terkini dengan rentang waktu kehilangan data yang dapat diterima, atau saat metode perbaikan memerlukan waktu lebih lama daripada operasi pemulihan.

T: Bagaimana saya tahu jika file basis data saya rusak atau tidak dapat diakses?

Cek SQL Server Log kesalahan untuk pesan kesalahan tertentu. Masalah aksesibilitas berkas menunjukkan kesalahan "tidak dapat menemukan berkas" atau kesalahan izin. Korupsi biasanya menunjukkan kesalahan checksum, kesalahan tingkat halaman, atau pelanggaran konsistensi. Gunakan DBCC CHECKDB untuk menguji korupsi secara definitif saat basis data dapat diakses.

T: Apa cara paling aman untuk menyalin file basis data sebelum mencoba perbaikan?

A: Berhenti SQL Server layanan sepenuhnya, lalu salin file MDF dan LDF ke lokasi cadangan. Atau, gunakan perintah cadangan basis data jika basis data masih dapat diakses. Jangan pernah menyalin file saat SQL Server sedang berjalan karena ini dapat membuat salinan yang tidak konsisten.

T: Apakah masalah pemulihan basis data SQL dapat memengaruhi beberapa basis data secara bersamaan?

A: Ya, masalah tingkat sistem seperti ruang disk tidak mencukupi, masalah akun layanan, kegagalan penyimpanan, atau SQL Server Kesalahan konfigurasi dapat memengaruhi beberapa basis data. Selalu periksa apakah basis data lain mengalami masalah serupa untuk mengidentifikasi masalah sistem yang lebih luas.

T: Seberapa sering saya harus menguji prosedur pemulihan basis data saya?

A: Uji prosedur pemulihan bulanan untuk basis data penting, dan triwulanan untuk basis data penting. Sertakan pengujian berbagai skenario pemulihan seperti pemulihan point-in-time, pemulihan urutan log, dan prosedur pemulihan darurat. Dokumentasikan dan catat waktu setiap pengujian untuk perencanaan darurat.

T: Kapan saya harus menghubungi Dukungan Microsoft atau menyewa bantuan profesional?

A: Cari bantuan profesional saat beberapa kali upaya perbaikan gagal, menangani data penting tanpa cadangan, menghadapi kerusakan kompleks di beberapa basis data, menemukan pesan kesalahan yang tidak terdokumentasi, atau saat keterbatasan waktu memerlukan hasil pemulihan yang terjamin.

T: Apakah alat pemulihan SQL pihak ketiga sepadan dengan investasinya?

A: Alat pemulihan sangat berharga ketika metode manual gagal dan tidak ada cadangan data. Sebagian besar alat menawarkan versi evaluasi gratis untuk menguji kemampuan pemulihan sebelum pembelian. Pertimbangkan biaya dibandingkan dengan layanan profesional, nilai data, dan probabilitas keberhasilan. Alat ini bekerja paling baik untuk kerusakan struktural tetapi mungkin tidak dapat memulihkan semua jenis data.

T: Apa yang harus saya lakukan jika pemulihan basis data SQL yang tertunda terus berulang?

A: Masalah yang berulang mengindikasikan adanya masalah sistem yang mendasarinya. Periksa kegagalan perangkat keras, sumber daya yang tidak mencukupi, masalah sistem penyimpanan, atau masalah konfigurasi. Pantau Log Peristiwa Windows, terapkan pemantauan komprehensif, dan pertimbangkan untuk meningkatkan perangkat keras atau beralih ke sistem penyimpanan yang lebih andal.

22. Kesimpulan dan Referensi Cepat

Masalah pemulihan basis data SQL yang tertunda dapat diatasi menggunakan 15 metode yang telah terbukti ini, mulai dari memulai ulang layanan sederhana hingga perbaikan darurat yang kompleks.

22.1 Tabel Ringkasan Perbaikan Cepat

Perbaiki Metode Tingkat Resiko Risiko Kehilangan Data Terbaik Digunakan Untuk
Restart SQL Server Rendah None Masalah waktu, kunci sementara
Periksa ruang disk Rendah None Kegagalan terkait ruang angkasa
Awal tertunda Rendah None Masalah waktu penyimpanan
Perbaiki izin Rendah None Kesalahan akses ditolak
Jalur file yang benar Rendah None Perubahan jalur, migrasi
Offline / Online Medium Minimal Ketidakkonsistenan negara
Nonaktifkan TUTUP OTOMATIS Rendah None Siklus buka/tutup yang sering
Hapus berkas log High Ya Log rusak, lingkungan pengembangan
Lepas/pasang kembali High Ya Log hilang atau rusak
Membangun kembali log High Ya File LDF hilang
Perbaikan darurat dengan DBCC CHECKDB Sangat tinggi Ya Korupsi parah, jalan terakhir
Perbaiki FILESTREAM Medium None Masalah konfigurasi FILESTREAM
Memperbarui SQL Server Medium None Bug versi yang diketahui
Pulihkan dari cadangan Rendah Dikendalikan Ketika metode perbaikan gagal
Alat pemulihan Medium Bervariasi Korupsi parah, tidak ada cadangan

22.2 Daftar Periksa Tanggap Darurat

5 Menit Pertama:

  1. Memeriksa SQL Server log kesalahan
  2. Verifikasi aksesibilitas file basis data
  3. Periksa ruang disk yang tersedia
  4. Mencoba memulai ulang layanan
  5. Pesan kesalahan dokumen

15 Menit Berikutnya:

  1. Coba offline/online jika restart layanan gagal.
  2. Periksa dan perbaiki masalah izin yang jelas
  3. Verifikasi jalur file sudah benar
  4. Tinjau log peristiwa Windows
  5. Menilai ketersediaan cadangan

22.3 Sumber Daya Tambahan

Ingat: Pencegahan melalui pencadangan, pemantauan, dan pemeliharaan yang tepat selalu lebih baik daripada pemulihan. Pengujian rutin prosedur ini di lingkungan non-produksi memastikan Anda siap ketika masalah pemulihan database SQL yang tertunda terjadi.


tentang Penulis

Yuan Sheng adalah administrator basis data senior (DBA) dengan lebih dari 10 tahun pengalaman di SQL Server lingkungan dan manajemen basis data perusahaan. Ia telah berhasil menyelesaikan ratusan skenario pemulihan basis data di berbagai organisasi jasa keuangan, layanan kesehatan, dan manufaktur.

Yuan mengkhususkan diri dalam SQL Server Pemulihan basis data, solusi ketersediaan tinggi, dan optimasi kinerja. Pengalaman langsungnya yang luas mencakup pengelolaan basis data multi-terabyte, penerapan Always On Availability Group, dan pengembangan strategi pencadangan dan pemulihan otomatis untuk sistem bisnis yang sangat penting.

Melalui keahlian teknis dan pendekatan praktisnya, Yuan berfokus pada pembuatan panduan komprehensif yang membantu administrator basis data dan profesional TI memecahkan masalah kompleks SQL Server tantangan secara efisien. Dia selalu mengikuti perkembangan terbaru SQL Server rilis dan teknologi basis data Microsoft yang terus berkembang, secara berkala menguji skenario pemulihan untuk memastikan rekomendasinya mencerminkan praktik terbaik di dunia nyata.

Memiliki pertanyaan tentang SQL Server pemulihan atau butuh panduan pemecahan masalah basis data tambahan? Yuan menyambut masukan dan saran untuk meningkatkan sumber daya teknis ini.

Bagikan sekarang: