Saya keliru menghapus sekitar 2.000.000 catatan dari tabel SQL Server 2008 jauh. Server tidak memberi saya akses ke file cadangan di sisi server.
Apakah ada cara untuk mendapatkan kembali catatan-catatan ini?
Saya keliru menghapus sekitar 2.000.000 catatan dari tabel SQL Server 2008 jauh. Server tidak memberi saya akses ke file cadangan di sisi server.
Apakah ada cara untuk mendapatkan kembali catatan-catatan ini?
Jawaban:
Apakah basis data Anda dalam mode pemulihan penuh?
Jika ya, apakah Anda melakukan pencadangan log transaksi?
Jika tidak (tidak dalam mode pemulihan penuh), pulihkan cadangan lengkap terakhir sebagai database dengan nama yang berbeda. (Jangan menimpa basis data yang sudah Anda miliki.) Dari sana, Anda dapat mengembalikan catatan apa pun yang daring pada saat cadangan, tetapi sejak saat itu Anda akan kehilangan semua perubahan.
SQL Server menyimpan log untuk setiap catatan yang dihapus. Anda dapat meminta log ini melalui fungsi fn_dblog
SQL Server.
SELECT [RowLog Contents 0]
FROM sys.fn_dblog(NULL, NULL)
WHERE
AllocUnitName = 'dbo.TableName'
AND Context IN ( 'LCX_MARK_AS_GHOST', 'LCX_HEAP' )
AND Operation in ( 'LOP_DELETE_ROWS' )
;
Tetapi log ini dalam format Hex dan Anda perlu mengubah format Hex ini menjadi data aktual Anda.
Artikel di bawah ini akan membantu Anda memulihkan catatan yang dihapus dengan cara yang ditentukan di atas:
http://raresql.com/2011/10/22/how-to-recover-deleted-data-from-sql-sever/
@user1059637
- Bagaimana sikap Anda terhadap orang yang menambahkan fungsionalitas ke kode Anda?
Sayangnya, kami tidak akan dapat membantu Anda tanpa banyak informasi. Tetapi dari pertanyaan Anda, saya melihat bahwa Anda telah menghapus apa yang tampaknya 2 juta catatan dari basis data Anda. Kemungkinan besar Anda tidak dapat memulihkan informasi ini, kecuali jika Anda memiliki pendataan penuh pada database Anda dan Anda membeli beberapa alat yang sangat spesifik.
Jika Anda dapat menjelaskan secara lebih terperinci apa saja yang Anda pikir telah Anda lakukan, dan mengapa Anda merasa tidak bisa mendapatkan catatan kembali, dan dapat menggambarkan organisasi basis data Anda, maka kami mungkin dapat membantu Anda sedikit lebih banyak.
Beberapa saran umum: jika Anda pikir Anda telah menghapus 2 juta catatan, Anda mungkin sedikit ketakutan sekarang. Jadi, Anda harus istirahat lima menit, tenang, dan tinjau kembali masalahnya. Juga, Anda harus segera memberi tahu atasan Anda jika itu masuk akal (jangan bangunkan seseorang pada pukul 2 pagi untuk memberi tahu mereka) dan bahwa Anda sedang mencari solusi. Lebih baik mengakui apa yang terjadi daripada dengan panik mencoba untuk pulih dan berpotensi memperburuk keadaan dan menyembunyikan detailnya. Mengetahui bahwa atasan Anda dapat membantu dalam beberapa hal, membantu Anda memperbaiki masalahnya. Seperti yang saya katakan, hanya beberapa saran umum.