Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Cara Memulihkan Data dari File Log Transaksi SQL Server

Ringkasan: Banyak kali administrator database SQL mencari cara untuk memulihkan data dari log transaksi SQL Server, Pengguna dapat membaca artikel ini untuk melakukan tugas ini. Kami telah memberikan yang terbaik dan juga cara termudah untuk memulihkan data dari file (.ldf). Jika Anda menghadapi masalah korupsi basis data dan ingin memulihkan objek basis data, coba ini Pulihkan Basis Data SQL Perangkat lunak. Untuk informasi lebih lanjut, pengguna dapat membaca artikel ini.

Ada kalanya klien menghadapi keadaan database yang menyedihkan di database SQL Server mereka. Situasi dapat terjadi selama administrasi dan dukungan file database mereka. Kadang-kadang objek database dihapus secara tidak sengaja, karena itu admin database menghadapi banyak masalah. Selanjutnya, untuk kembali ke proses kerja biasa, file harus dipulihkan kembali ke database SQL Server.

Log transaksi SQL Server memainkan pekerjaan penting dalam memulihkan data yang dihapus jika Anda salah memainkan operasi DELETE atau UPDATE dengan kondisi yang tidak sesuai, atau tanpa kondisi filtrasi. Ini dapat dicapai dengan mendengarkan catatan yang disimpan di dalam kotak hitam yang dikenal sebagai file Log Transaksi SQL Server.

Cara Memulihkan Data dari File Log Transaksi SQL Server

Untuk menganalisis berbagai teknik yang dapat kita gunakan untuk memulihkan data dari file Log Transaksi SQL Server, kita akan membuat database lain dengan satu tabel, menggunakan skrip di bawah ini:

Setelah membuat database dan tabel, kita akan mengisi tabel tersebut dengan 30 record, menggunakan pernyataan T-SQL INSERT INTO di bawahnya:

Belum ada cadangan yang diambil dari database, bagaimana kami dapat memulihkan data tabel jika perintah UPDATE di bawahnya dijalankan di atas tabel itu tanpa pernyataan di mana pun digunakan untuk memfilter data yang akan diubah?

Menggunakan Metode Bawaan

1.) fn_dblog: Isi Log Transaksi SQL Server dapat dibaca secara online menggunakan berbagai fungsi implisit. Fungsi pertama yang akan kami coba gunakan untuk memulihkan data yang hilang adalah fn_dblog . Ini adalah fungsi bernilai tabel kerangka kerja yang tidak terdokumentasi, digunakan untuk membuat Log Transaksi SQL Server dan melihat konten segmen dinamis dari file itu.

Untuk memanfaatkan fn_dblog() fungsi, Anda harus memberikan dua parameter, awal dan akhir LSN dari log. Untuk melihat semua log yang dapat diakses di segmen dinamis dari file Log Transaksi SQL, Anda dapat meneruskan nilai NULL untuk dua parameter ini. Karena hasil kembali dari pekerjaan fn_dblog() berisi 129 kolom, lebih baik memilih hanya segmen yang berisi data yang Anda minati dan memfilter hasilnya untuk menunjukkan hanya operasi yang ingin Anda pulihkan. Misalnya, operasi LOP_INSERT_ROWS dicatat ketika catatan lain disematkan, operasi LOP_DELETE_ROWS dicatat ketika catatan baru dihapus, dan operasi LOP_MODIFY_ROW dicatat ketika catatan saat ini diperbarui. Skrip di bawah ini dapat digunakan untuk memeriksa pernyataan pembaruan yang dilakukan pada basis data tersebut:

2.) fn_dump_dblog(): Kerangka kerja berikutnya berfungsi dalam fungsi, fn_dump_dblog(), memiliki satu keuntungan dibandingkan pekerjaan fn_dblog() adalah dapat digunakan dengan sangat baik untuk membaca cadangan Log Transaksi SQL Server, terlepas dari kemampuan untuk membaca file Log Transaksi online. Kemudian lagi, untuk menggunakan fungsi fn_dump_dblog(), Anda harus memberikan 68 parameter wajib, seperti yang terlihat pada skrip di bawah ini:

3.) Perintah Halaman DBCC: SQL Server memberi kita perintah DBCC yang tak terhitung jumlahnya yang dapat digunakan untuk memainkan berbagai macam tugas admin SQL Server. Salah satu perintah tidak berdokumen ini adalah perintah Halaman DBCC, yang dapat digunakan untuk membaca konten data database dan mencatat file online. Untuk melihat isi dari file log database, Anda harus memberikan nama database dan ID dari file Log Transaksi. ID file Log Transaksi dapat dipulihkan dari kueri di bawahnya.

Batasan Metode Manual untuk Memulihkan Data dari Log Transaksi SQL Server

  1. Sulit untuk Dilakukan.
  2. Membutuhkan Pengetahuan Teknis yang kuat.
  3. Risiko Tinggi Kehilangan Data.

Solusi Pakar untuk Pulihkan Data dari File Log Transaksi SQL Server

Ketika database rusak atau data tabel salah hilang atau diubah, waktu lama yang diperlukan untuk membuat ulang dan mengurai data menggunakan strategi implisit tidak cukup. Sejalan dengan ini, kita perlu mencari di pasar administrasi SQL Server untuk alat yang dapat digunakan secara efektif dan segera untuk membaca konten file Log Transaksi dan menampilkan konten ini dalam format yang mudah digunakan.

Pembaca File Log SQL SysTools alat, yang dapat dengan mudah digunakan untuk membaca konten file Log Transaksi SQL online. Dengan menggunakan perangkat lunak ini pengguna dapat dengan mudah Membaca dan Menganalisis file Log Transaksional SQL Server INSERT / UPDATE / DELETE operasi. Aplikasi profesional Tingkat Perusahaan Ini Dapat bekerja di lingkungan basis data offline dan online. Juga, aplikasi ini menawarkan opsi filter dinamis untuk mengekspor file Log Transaksional selektif. Perangkat lunak ini mendukung versi SQL Server 2019.

Langkah-Langkah Memulihkan Data dari Log Transaksi SQL Server

  1. Unduh dan Instal Penganalisis Log SQL.

2. Sekarang Pilih Opsi Database

3. Pratinjau data file Log Transaksional SQL Server.

4. Klik Tombol Ekspor untuk Mengekspor data file log.

Kesimpulan

Terlepas dari kenyataan bahwa teknik manual dapat memulihkan item yang dihapus dari tabel SQL, itu bukan opsi yang ditentukan untuk klien karena kerumitan dan kebosanannya. Sebaliknya, disarankan untuk menggunakan solusi ideal untuk Memulihkan Data dari file Log Transaksi SQL Server.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Manfaat Menggunakan Notasi Posisi Ordinal SQL?

  2. T-SQL:Berlawanan dengan penggabungan string - cara membagi string menjadi beberapa record

  3. Bagaimana cara menemukan batas kelompok bilangan urut yang bersebelahan?

  4. Terjadi kesalahan terkait jaringan atau spesifik contoh saat membuat sambungan ke SQL Server

  5. Cara Mengeksekusi SQL Query tanpa Menampilkan hasil