1

Я использую SQLiteMan для редактирования / удаления истории сообщений Skype, как описано в многочисленных руководствах в сети. Т.е. Я открываю файл main.db Skype в папке своего профиля с помощью SQLiteMan и выборочно удаляю некоторые записи в таблице messages . SQLiteMan позволяет мне делать это либо вручную, либо с помощью оператора SQL DELETE . На первый взгляд, все работает как положено: записи удаляются, и Skype больше не отображает удаленные сообщения в своей истории.

Однако есть одна небольшая проблема, которая, кажется, не рассматривается ни в одном из руководств по управлению историей Skype в сети. Записи физически не удаляются из main.db , а скорее помечаются как "удаленные" (что, безусловно, разумно сделать с точки зрения управления базами данных). Открытие main.db в бинарном редакторе показывает, что содержимое удаленных записей все еще отлично видно в файле. Ожидается, что размер файла main.db не изменяется независимо от того, сколько записей я удаляю.

Это, конечно, неприемлемо с точки зрения конфиденциальности / безопасности.

Итак, есть ли способ принудительного физического удаления нежелательных записей после вышеупомянутого "мягкого" удаления? Есть ли способ "сжать" физический файл базы данных SQL? Альтернативно, есть ли способ попросить движок SQL обнулить содержимое "мягких" записей, чтобы сделать их нечитаемыми?

0