FAQ-Wiki

Jawaban:

Ada dua cara untuk menyimpan data, yang didukung oleh Recovery Toolbox for SQL Server:

  1. Anda dapat menyimpan skrip SQL ke hard drive, skrip tersebut akan membuat objek basis data, tabel, misalnya, dan memasukkan data ke dalam tabel tersebut.
  2. Anda juga dapat meluncurkan skrip dalam basis data, yang ditentukan oleh pengguna, skrip ini ditulis dalam bahasa SQL.

Harap dicatat, bahwa skrip SQL dapat berbeda, meskipun faktanya, skrip tersebut didasarkan pada file basis data yang sama. Hal ini terjadi karena kekhususan sintaksis baik dalam kueri, yang dieksekusi untuk koneksi server langsung melalui ADO maupun dalam kueri SQL, yang dilakukan di lingkungan Penganalisis Kueri yang disertakan dengan MS SQL Server (penggunaan ":", perintah Go, dll.). Cara pertama lebih dapat diandalkan, bagaimana dengan cara kedua, yang lebih praktis.

Mengonversi data ke skrip dan menyimpannya ke disk

1. Pemetaan data tersimpan

Jika Anda memilih untuk menyimpan data pada disk, Recovery Toolbox for SQL Server akan membuat subdirektori, yang menyertakan nama file MDF sumber, subdirektori ini dibuat dalam direktori yang ditentukan pengguna dan semua skrip akan ditempatkan di sana. Semua skrip diberi nama berdasarkan aturan, nama terdiri dari kata dan angka. Kata menunjukkan peran skrip, angka menunjukkan nomornya. Ada banyak jenis skrip, misalnya:

  • Types*.sql - skrip akan membuat tipe data yang ditentukan oleh pengguna.
  • Tables*.sql - skrip akan membuat tabel.
  • Indexes*.sql - skrip akan membuat kunci utama dan indeks.
  • ForeignKeys*.sql - skrip akan membuat kunci asing.
  • Procedure*.sql - skrip akan membuat prosedur tersimpan.
  • Function*.sql - skrip akan membuat fungsi yang ditentukan oleh pengguna.
  • View*.sql - skrip akan membuat tampilan.
  • Triggers*.sql - skrip akan membuat pemicu.
  • Data*.sql - skrip akan memasukkan data ke dalam tabel.

Nomor urut skrip tidak berisi data yang berguna, tidak menunjuk pada urutan eksekusi skrip atau informasi lainnya. Nomor-nomor ini hanya digunakan untuk membagi data dan menyimpannya ke berbagai dokumen kecil, bukan ke satu berkas besar. Pengguna dapat menentukan ukuran maksimum berkas dengan skrip SQL. Selain itu, pengguna harus memperhatikan penomoran berkas Data. Perlu dicatat, bahwa setiap berkas dari tipe Data hanya dapat berisi data untuk satu tabel. Berkas dengan nomor urut berisi semua data untuk setiap tabel.

Catatan: Jika angka hilang pada beberapa file, berarti beberapa tabel tidak berisi data apa pun.

2. Urutan eksekusi skrip

Pada gambar ini, Anda dapat melihat urutan eksekusi skrip yang direkomendasikan:

Urutan eksekusi skrip

Urutan eksekusi skrip bergantung pada batasan yang ada untuk data dan struktur tabel yang ada. Harap perhatikan faktor-faktor berikut:

  1. Harap tentukan kunci utama yang sesuai, jika Anda ingin membuat kunci sekunder. Karena fakta ini, operasi ini disimpan ke file yang berbeda, yang harus diluncurkan dalam urutan ini.
  2. Sebelum pembuatan indeks dan kunci sekunder, program akan mengisi tabel. Hal ini wajib dilakukan, karena pemeriksaan integritas referensial dilakukan saat tabel dengan kunci sekunder yang ditentukan sedang diisi. Saat tabel dengan kunci sekunder diisi sebelum tabel dengan kunci primer yang sesuai, akan terjadi kesalahan. Selain itu, metode ini memiliki kekhususan lain. Jika data yang dipulihkan bertentangan dengan kunci primer, indeks unik, dll., dalam kasus ini, tabel akan tetap diisi dengan data, tetapi pembatasan tidak akan dibuat (indeks, kunci primer, dll.). Jika pengguna memerlukan perilaku lain, mereka dapat memilih sendiri urutan eksekusi skrip.
  3. Pembuatan objek Prosedur, Fungsi, Tampilan, dan Pemicu dalam basis data memiliki beberapa kesulitan, karena objek-objek ini mungkin memiliki ketergantungan yang rumit dan rumit. Prosedur dapat merujuk ke Prosedur lain, Tampilan dapat merujuk ke Fungsi, Pemicu dapat merujuk ke semua objek. Itulah sebabnya, program tidak dapat membantu memecahkan masalah tersebut. Pengguna harus menemukan semua ketergantungan secara manual dan meluncurkan skrip SQL dalam urutan yang diperlukan. Kemungkinan lain adalah dengan mengeksekusi semua skrip dalam grup ini beberapa kali, hingga semua pesan kesalahan hilang.

3. Install.bat file

File Install.bat dibuat untuk memastikan eksekusi otomatis untuk semua skrip. File ini mengeksekusi semua skrip yang sebelumnya disimpan oleh alat tersebut. Urutan eksekusi skrip akan sama, seperti saat diterapkan ke basis data. File batch ini memerlukan utilitas isqlw untuk diinstal, ini adalah bagian dari bagian klien MS SQL Server. Harap tentukan parameter Nama server, Nama basis data, Nama pengguna dan Kata sandi untuk file install.bat di baris perintah. Misalnya: install.bat SQLServer SQLDatabase SQLUser SQLUserPassword

Perhatian:
  1. Parameter harus dipisahkan dengan spasi. Jika suatu parameter mengandung spasi, Anda harus menyertakannya dengan tanda kutip ganda.
  2. Urutan parameter tak dapat diubah.
  3. Harap impor data ke dalam basis data NEW EMPTY. Basis data tidak boleh berisi tabel, indeks, prosedur tersimpan, dan sebagainya sebelum mengimpor data.
  4. Jika file install.bat akan dijalankan tanpa parameter, Anda dapat melihat panduan singkat, cara meluncurkan file ini.

4. InstallTrusted.bat

Jika Anda ingin masuk ke Microsoft SQL Server melalui akun Windows Anda, gunakan file InstallTrusted.bat. File InstallTrusted.bat memiliki dua parameter: Nama server, Nama basis data.

Contoh penggunaan: installtrusted.bat SQLServer SQLDatabase Untuk detail tentang cara masuk melalui akun Windows, lihat di sini: https://docs.microsoft.com/en-us/sql/relational-databases/security/authentication-access/principals-database-engine?view=sql-server-2017

Jawaban:

Memperbaiki database dalam format MS SQL Server dari beberapa file sumber

Basis data dalam format MS SQL Server berisi satu atau beberapa berkas. Ada beberapa jenis berkas: berkas data utama (dengan ekstensi bawaan *.mdf), berkas data sekunder (dengan ekstensi bawaan *.ndf), dan berkas log transaksi (dengan ekstensi bawaan *.ldf). Jika Anda ingin memperbaiki data dengan Recovery Toolbox for SQL Server, Anda harus menentukan jalur ke semua berkas data sekunder dan berkas data utama. Hal ini dapat dilakukan dengan kotak dialog Buka Berkas.

perbaikan mdf
Fig.1

Jika basis data yang rusak berisi berkas data utama, berkas data sekunder, dan berkas log transaksi, Anda harus memilih berkas data utama berformat *.mdf dan semua berkas data sekunder berformat *.ndf (lihat fig. 2).

memperbaiki ms sql server
Fig.2

Jawaban:

Recovery Toolbox for SQL Server dapat memulihkan sebagian atau seluruhnya informasi dari file .MDF/.NDF pada file basis data Microsoft SQL Server yang dienkripsi oleh virus ransomware.

Recovery Toolbox for SQL Server tidak mendekripsi data.

Secara umum, dekripsi data tidak berlaku dalam kasus ini.

Namun, Recovery Toolbox for SQL Server dapat berguna dalam kasus ketika file MDF dienkripsi sebagian. Biasanya, virus hanya mengenkripsi header dan/atau awal file karena ukurannya yang besar. Dalam kasus ini, jika hanya header atau bagian dari file MDF yang dienkripsi, Recovery Toolbox for SQL Server dapat membantu. Program ini menganalisis semua blok data dan struktur data yang dikumpulkan dalam file. Kemudian, program ini membuat ulang struktur data asli dan data itu sendiri, jika memungkinkan.

Struktur berkas MDF Microsoft SQL Server Struktur berkas MDF Microsoft SQL Server

Mungkinkah Memulihkan Data dari Berkas MDF setelah Diserang Virus Ransomware?

Tidak ada jaminan bahwa Anda dapat memulihkan 100% data atau sebagian data dengan menggunakan program ini. Untuk mendapatkan jawaban pasti atas pertanyaan tersebut, Anda perlu mengunduh versi DEMO Recovery Toolbox for SQL Server, menentukan file MDF yang dienkripsi, dan menunggu analisis file tersebut selesai.

Setelah analisis file .mdf dalam versi DEMO program selesai, pratinjau lengkap data yang dapat diekstrak dari file tersedia.

Catatan:

Departemen dukungan pelanggan Recovery Toolbox menginformasikan bahwa biasanya program ransomware hanya mengenkripsi header file basis data karena ukurannya yang besar. Akibatnya, seringkali memungkinkan untuk memulihkan hampir seluruh struktur data dan hampir semua informasi dari file sumber.

Jika Anda melihat kesalahan berikut setelah menjalankan skrip Anda:

Server: Msg 242, Level 16, State 3, Line 1

[Microsoft][ODBC SQL Server Driver][SQL Server] Konversi tipe data char ke tipe data datetime menghasilkan nilai datetime di luar rentang.

Pernyataan tersebut telah dihentikan.

Jawaban:

Artinya Anda harus mengubah pengaturan bahasa server dengan melakukan hal berikut:

  1. Mulai Enterprise Manager.
  2. Pilih server yang diperlukan dan hubungkan ke server tersebut.
  3. Buka jendela propertinya dengan mengklik kanan mouse dan memilih Properties.
  4. Buka tab Server Settings.
  5. Pilih English pada daftar tarik-turun Default Language for user lalu tekan OK.
    memperbaiki sql server
  6. Hentikan server SQL. Untuk melakukannya, pilih Stop di menu konteks dan jawab Yes pada pertanyaan Are you sure you wish to stop SQL Server service. di jendela konfirmasi.
  7. Jalankan SQL Server. Untuk melakukannya, pilih Start di menu konteks.
  8. Sekarang Anda dapat menjalankan skrip yang tersimpan di hard drive Anda oleh Recovery Toolbox for SQL Server. Anda juga dapat menjalankan program dalam mode eksekusi skrip basis data.
    pemulihan ms sql server
  9. Sekarang Anda perlu mengembalikan pengaturan. Untuk melakukannya, buka jendela properti server yang diperlukan di Enterprise Manager.
  10. Pilih bahasa default dalam daftar Default Language for user dan tekan OK.
    database sql server rusak
  11. Hentikan server SQL. Untuk melakukannya, pilih Stop di menu konteks dan jawab Yes pada pertanyaan Are you sure you wish to stop SQL Server service. di jendela konfirmasi.
  12. Jalankan SQL Server. Untuk melakukannya, pilih Start di menu konteks.

Jika Anda melihat kesalahan berikut setelah menjalankan skrip Anda:

Server: Msg 242, Level 16, State 3, Line 1

[Microsoft][ODBC SQL Server Driver][SQL Server] Konversi tipe data char ke tipe data datetime menghasilkan nilai datetime di luar rentang.

Pernyataan tersebut telah dihentikan.

Jawaban:

Artinya Anda harus mengubah pengaturan bahasa server dengan melakukan hal berikut:

  1. Mulai Management Studio.
  2. Pilih server yang diperlukan.
  3. Buka Security\Logins.
  4. Pilih pengguna yang akan menggunakan basis data dan buka jendela properti pengguna.
  5. Pilih English pada daftar tarik-turun Default Language for user lalu tekan OK.
    alat pemulihan ms sql server
  6. Sekarang Anda dapat menjalankan skrip yang tersimpan di hard drive Anda oleh Recovery Toolbox for SQL Server. Atau, Anda dapat memulai program dalam mode eksekusi skrip basis data.
    database sql server yang ditangguhkan
  7. Sekarang Anda perlu mengembalikan pengaturan. Untuk melakukannya, buka jendela properti pengguna yang diperlukan Management Studio.
  8. Pilih bahasa default dalam daftar Default Language for user dan tekan OK.
    file .mdf rusak
  1. Mulai SQL Server Management Studio
  2. Di Object Explorer klik kanan pada Databases
  3. Klik Attach
  4. Klik tombol Add
  5. Pilih file mdf dan klik tombol Ok
  6. Klik tombol Ok
  7. Tunggu hingga operasi selesai.

Untuk memperbaiki masalah ini, Anda harus:

  1. Simpan data sebagai skrip
  2. Jalankan file install.bat dengan semua parameter yang diperlukan dari baris perintah
  3. Lihat file respons (*????.sql.txt) untuk mengetahui skrip mana yang tidak berhasil dieksekusi
  4. Muat skrip yang dijalankan dengan kesalahan ke Query analyzer dari Microsoft SQL Server dan coba jalankan skrip tersebut di sana. Setelah Anda mendapatkan pesan kesalahan, Anda harus mendeteksi perintah mana yang menyebabkan kesalahan tersebut. Jika perintah ini menulis data yang tidak bernilai, Anda cukup menghapusnya dari berkas. Jika tidak, Anda harus mengirimkan skrip yang dijalankan dengan kesalahan dan tangkapan layar dari Query analyzer kepada pengembang. Selain itu, mungkin nanti perlu mengirimkan berkas *.mdf sumber kepada pengembang agar mereka dapat mempelajari masalahnya.

Menyalin atau memulihkan tabel data dari database MSDB di server baru tidak memungkinkan untuk memulihkan DTS Packages karena paket tersebut memiliki koneksi internal ke konteks eksekusi server tempat paket tersebut dibuat dan digunakan sebelum migrasi. Untuk menyalin Paket DTS antar server, VB scripts harus digunakan. Oleh karena itu, program Recovery Toolbox for SQL Server tidak cocok untuk memulihkan Paket DTS.

Alat isqlw.exe merupakan komponen dari paket MS SQL Server. Anda selalu dapat mengunduh versi terbaru MS SQL Server dari situs Microsoft dan memasang komponen yang diperlukan di komputer. Versi demo MS SQL Server yang diunduh dari situs Microsoft memungkinkan Anda menggunakan komponen tersebut dalam jangka waktu yang ditentukan dalam EULA.

Jika Anda dapat menemukan alat yang sesuai di Microsoft.com maka Anda dapat mengunduh dan memasang Query Analyzer dari situs web kami. Tautan untuk mengunduhnya adalah: https://recoverytoolbox-id.com/download/isqlwInstall.exe

RAM yang besar diperlukan untuk memulihkan basis data MS SQL Server yang besar. Pengembang program menyarankan agar Anda memulihkan basis data yang besar pada komputer dengan memori fisik yang cukup. Memori fisik yang digunakan oleh program tidak boleh kurang dari ukuran file yang Anda pulihkan dibagi 500 ditambah 20-100 MB lagi agar program dapat berjalan. Artinya, jika Anda mencoba memulihkan file .mdf dengan ukuran 100 GB, komputer harus memiliki setidaknya (100 GB / 500) + 120 MB = 320 MB memori fisik yang kosong.

  • Jika suatu nilai dalam bidang Primary Key salah (misalnya, nilainya negatif atau beberapa lusin kali lebih besar daripada semua nilai lainnya), artinya data sumber rusak parah dan tidak mungkin dipulihkan sepenuhnya.
  • Jika nilai duplikat muncul di kolom Primary Key, artinya program telah memulihkan lembar dengan data yang seharusnya ditandai untuk dihapus dalam basis data (file mdf, ndf). Namun sebenarnya tidak ada tanda bahwa lembar dengan data tersebut harus dihapus. Oleh karena itu, program memulihkan data dari semua lembar. Hasilnya adalah data yang dipulihkan secara berlebihan dan pengembang Recovery Toolbox for SQL Server tidak dapat menemukan kriteria untuk memfilter entri yang berlebihan. Dalam kasus ini, administrator basis data dan/atau pengembang perangkat lunak membuat keputusan akhir tentang entri yang berlebihan dalam basis data yang dipulihkan yang harus dihapus.

Ada kemungkinan terjadi hal lain pada MDF Anda antara masa uji coba dan pendaftaran (yang dipulihkan oleh perangkat lunak lain atau hal lainnya). Anda dapat memeriksanya dengan menjalankan versi demo pada berkas ini di komputer lain.

Recovery Toolbox for SQL Server secara otomatis mendeteksi versi server tempat database digunakan. Oleh karena itu, jika database digunakan pada MS SQL Server 2000, program tersebut menuliskan alat isqlw ke skrip yang tersimpan untuk diimpor ke database baru. Jika database digunakan pada MS SQL Server 2005 atau yang lebih tinggi, alat sqlcmd digunakan dalam skrip. Jika Anda ingin mengimpor data ke database pada server dengan versi yang berbeda dari versi aslinya, Anda harus menggunakan alat untuk server terkait:

  • Isqlw - untuk MS SQL Server 2000
  • Sqlcmd - untuk MS SQL Server 2005 dan lebih tinggi