Recover deleted content from userdata partition?
The sms database is stored in /data/data/com.android.providers.telephony/databases/mmssms.db which is what you want to do.

Best thing to do, is this, do not plug in USB cable yet:


Reboot into ClockWorkmod Recovery.
Go into Mounts and Storage
Select mount /data
Plug in the USB
From the windows command shell or terminal, adb shell
Since you are in ClockworkMod Recovery, you are root by default, now do this cp /data/data/com.android.providers.telephony/databases/mmssms.db /sdcard/MySmsDatabase.db
exit out of the adb shell by typing in this: exit
Now your database is copied to the SD-Card.
Back out of ClockworkMod recovery and just reboot, the recovery will unmount /data for you. 


At this stage your database is now copied across. And can be safely extracted via using something like SqliteMan. HTH.

Edit: The OP was interested to know how a dump can be done. - Read on :)

When you invoke this (with USB plugged in and within the adb shell)

sh-4.1# cat /proc/mtd
dev:    size   erasesize  name
mtd0: 00500000 00020000 "recovery"
mtd1: 00500000 00020000 "boot"
mtd2: 00120000 00020000 "splash"
mtd3: 00080000 00020000 "misc"
mtd4: 02580000 00020000 "cache"
mtd5: 0d700000 00020000 "system"
mtd6: 0cb80000 00020000 "userdata"
mtd7: 00020000 00020000 "oem"
mtd8: 00180000 00020000 "persist"


Knowing which partition is the key.. So for example from my Blade, I can see that userdata is on the partition mtd6, in which the actual partition information can be found within /dev/mtd/mtdX so its a matter of doing this using cat:

cat /dev/mtd/mtd6 &gt; /sdcard/myuserdata.dump


And from there, taking the /sdcard/myuserdata.dump, depending on the filesystem used on that partition, it can be mounted via loop-back. The mileage will vary and of course, its a chicken-and-egg situation, in order to do all of that, the handset needs to be rooted.