It appears that it is in the log files (nothing can be modified in the database to capture who did it).
In the log files you can search for the string ability=Deconstruct
Then once you find that, go about 11 lines down, you will see a "sending ObjEffectsEvent" line. There is a "channel" and port number on the end of this line. the "channel" will appear as ch_### where ### is the character ID from the character table.
Example
ECHO 2015-02-16 16:09:00.251 {00} <NOSCOPE> sending ObjEffectsEvent, action=3 over ch_159 [15293] - 1
The Red is my character'd ID on my Dev server, you can then use that character ID, find the accountID associated with it, then set the IsActive = 0 for that account in the account table and they will be banned. You may also note the Action number as the log file may get garbled with many players playing and doing normal things.
Also, use Notepad++ or something other than Notepad to open the log files as they are quite large and Notepad will just bog the system down. Notepad++ grabs a section of the data a time so it doesn't load the entire thing into memory.
Edit: Almost forgot, look below this section of log to find a CALL p_delete...object and CALL p_addObjectPatch. The Patch will give the GeoID data, go and physically stand where the deconstructed object was, then look at your characters info in the character table and find the GeoID for your characters location. Make sure the geodata is close or exact in the log file, otherwise you may end up banning someone that accidentally put a furnace down where they didn't want to.
Excerpt from log file to see what you're looking for.
ECHO 2015-02-16 16:09:00.218 {00} <NOSCOPE> ServerManager::ProcessAbilityEvent() -5
ECHO 2015-02-16 16:09:00.234 {00} <NOSCOPE> ServerManager::_registerPerform(), ability=Deconstruct (181)
ECHO 2015-02-16 16:09:00.234 {00} <NOSCOPE> AbilityBaseImp::BeginPerform
ECHO 2015-02-16 16:09:00.234 {00} <NOSCOPE> AbilityBaseImp::_reportStatusToClient() - ticket=4 status=1
ECHO 2015-02-16 16:09:00.234 {00} <NOSCOPE> cObjState::Change_state( 7 );
ECHO 2015-02-16 16:09:00.234 {00} <NOSCOPE> cObjState::Add_or_remove_state_effects() - state=0
ECHO 2015-02-16 16:09:00.234 {00} <NOSCOPE> cObjState::Add_or_remove_state_effects() - state=7
ECHO 2015-02-16 16:09:00.234 {00} <NOSCOPE> cObjState::Add_or_remove_state_effects() - effect=1
ECHO 2015-02-16 16:09:00.234 {00} <NOSCOPE> ChangeEffectMagnitude( 1, 1.000000, 0, 4294967295);
ECHO 2015-02-16 16:09:00.234 {00} <NOSCOPE> cObjState::Add_or_remove_state_effects() - effect=3
ECHO 2015-02-16 16:09:00.234 {00} <NOSCOPE> ChangeEffectMagnitude( 3, 1.000000, 0, 4294967295);
ECHO 2015-02-16 16:09:00.234 {00} <NOSCOPE> ServerManager::ProcessAbilityEvent() -6
ECHO 2015-02-16 16:09:00.251 {00} <NOSCOPE> sending ObjEffectsEvent, action=3 over ch_159 [15293] - 1
HACK 2015-02-16 16:09:00.251 {00} <NOSCOPE> ObjEffectsEvent::pack id: 3, active_until_time: -1, magnitude: 1000000
ECHO 2015-02-16 16:09:01.281 {00} <NOSCOPE> AbilityBaseImp::_reportStatusToClient() - ticket=4 status=3
ECHO 2015-02-16 16:09:01.281 {00} <NOSCOPE> cObjState::Change_state( 0 );
ECHO 2015-02-16 16:09:01.281 {00} <NOSCOPE> cObjState::Add_or_remove_state_effects() - state=7
ECHO 2015-02-16 16:09:01.281 {00} <NOSCOPE> cObjState::Add_or_remove_state_effects() - effect=1
ECHO 2015-02-16 16:09:01.281 {00} <NOSCOPE> ChangeEffectMagnitude( 1, 1.000000, 1, 4294967295);
ECHO 2015-02-16 16:09:01.281 {00} <NOSCOPE> cObjState::Add_or_remove_state_effects() - effect=3
ECHO 2015-02-16 16:09:01.281 {00} <NOSCOPE> ChangeEffectMagnitude( 3, 1.000000, 1, 4294967295);
ECHO 2015-02-16 16:09:01.281 {00} <NOSCOPE> cObjState::Add_or_remove_state_effects() - state=0
ECHO 2015-02-16 16:09:01.281 {00} <NOSCOPE> ServerManager::_unregisterPerform
ECHO 2015-02-16 16:09:01.281 {00} <NOSCOPE> ServerManager::_unregisterPerform(), ability=181
ECHO 2015-02-16 16:09:01.297 {00} <NOSCOPE> # DB_TRAN_ADD: CALL p_deleteMovableObject(9058); [T:DBIPrimary:0x0960]
ECHO 2015-02-16 16:09:01.297 {00} <NOSCOPE> # DB_TRAN_ADD: CALL p_addObjectPatch(10382,449,2,1,9058,117723938,NULL/*0*/,NULL/*0*/,NULL/*0*/,NULL/*0*/,NULL/*0*/,NULL/*0*/,NULL/*0*/,NULL/*0*/); [T:DBIPrimary:0x0960]