Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I was asked to drop some tables on a Company SQL 2005 Server and provide proof of deletion because of these tables contains sensitive data. Is it possible?

Thank you all for help

share|improve this question
Just for your info, I think you mean sensitive (eg confidential) instead of sensible data. – William May 28 '10 at 10:50
The only way to prove sensitive data has been deleted & rendered unrecoverable (at least to my satisfaction) would be to destroy the media that contained it. What you need here is one of those industrial tree-chippers... :-) – voretaq7 May 28 '10 at 15:17
wow, looks like your problem isn't deleting the data, but trust issues. In which case, the untrusting parties wont believe anything you tell/show them ;-) – Nick Kavadias May 28 '10 at 15:28
Yes William I was meaning confidential :-) – Danilo Brambilla Jun 4 '10 at 8:30

No - especialy as a drop does NOT DELETE THE DATA at this moment.

share|improve this answer

If you're just looking to prove the drop, you can use this:

FROM sysobjects
WHERE Name='MyDroppedTableName'

If nothing is returned then the drop worked. But as the others have said, the drop of the table just removes the pointer to the data.

And on another note, if you're looking for total eradication you also have to keep backups in mind as well. If your database has ever been backed up then that data is there, and if the server's ever been backed up you have it those as well.

share|improve this answer

If they're looking to totally eradicate the data, no; and the only way to prove it would be remove the disks containing the data and scan it outside of the file system. It would be better to replace the sensitive data with random characaters. Even then you have to deal with the old data residing in transaction logs.

share|improve this answer

The only way to truly destroy all traces of the data is to copy the good data into a new database, and perform a secure deletion of the old database's files. You'll then need to securely delete any backups of the DB and server that may contain the target data. It's a task that leaves you open to loosing data if you should ever need one of those backups.

share|improve this answer
up vote 1 down vote accepted

As suggested above we did a secure delete of database files using sdelete (sysinternals), then we removed the disks and sent them to the company (they compared the disk serials from the vendor hardware monitoring tool). Backup tapes were sent too.

share|improve this answer

You can update the data, replace it with spaces, before drop. This way you are replacing the value bits on the disk with space values. However, a pre-update image of the data will always be in the log and in backups. The actual propagation of erasure would have to be custom tailored for your environment, according to whatever technologies and procedures are in place (eg. log-shipping and/or mirroring, database snapshots, SSIS extraction jobs, track the location of backups etc).

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.