One of our clients requires that at the end of the contract we "securely" delete all data from the server (including SQL Server).
I think I need to deal with this in two parts.
1. SQL Server Data: The client data is stored in 2 SQL Server databases, but other contracts (that are not ending) are also maintained in these databases.
Assuming that we destroy the database backup devices, if I perform TRUNCATE TABLE
is the data in any way recoverable? Assuming no, if I updated every row/column in the database with 0s, then perform the truncate, does this prevent recovery?
2. Files: We receive data-files that have been transferred onto the server and then imported into the SQL Server, and the server also generates PDF reports that physically sit on the server. Plus we have the backup files.
Are there tools or steps I can take to permanently delete this data without formatting the drive (and then using a tool like DBAN)?
Have you thought of using the 'Eraser' application? It does the deep erase, and will erase unused sectors of a given disk as well. Its free.....Look at http://eraser.heidi.ie/ for more information. That will work for files.
As for the database, remove all the records, tables, etc that you need, dump the database out, "erase" the database file, erase the unused sectors of the disk (as this could contain client information). And then restore the database from the dump. Just truncating and/or removing the data using SQL does not purge the data from the database. If you want to absolutely assure that all client data is gone, only a full dump and restore of the database on a clean area will do.
Probably a good idea to "erase" all tmp files and especially any copies of the database or backups residing on the disk.
TRUNCATE does not clear the data (it simply deallocates the pages), and no file system tool can clear it either because the file is a) in use by SQL Server and b) in a format that can only be read/modified by SQL Server.
The solution is to run
sp_clean_db_free_space
after the TRUNCATE:Obviously, this does not clean backups, but one can easily argue that since the very purpose of the backup is to restore the system at a state possible before the contract ended, it is mandatory for the backups to contain the information.
For the files part, there are many solution available, some already presented by other posts.
A hammer.
Seriously.
There is a LOT you can do if you spend the money on physical discs in a lab recovering possibly overwritteen disc partitions.
May be sdelete by Mark Russinovich will fit enough.