There have been some questions lately about document level restore from Sharepoint databases. There are some options doing that with different approaches. Mike Walsh discusses some of them in his WSS FAQ.
Third Party
He points at some third party products for item level restore:
AvePoint
“DocAve 2.5 Backup can backup and restore almost ALL the items, including SharePoint sites, documents, and lists.”
and CommVault
“CommVault Galaxy software makes sure that jobs are running efficiently, so that data is accessible. Full backups can be made of portal site (all databases, indexes and site collection), webstorage system database, single sign-on database and teamsite databases. Self-healing processes safeguard data. Right-click functions let administrators perform essential tasks quickly. The result: smaller backup windows and faster data recovery.”
SPExport
However there are other ways as well to restore documents. James Edelen talks about restoring portals in a new environment and copy paste documents form there. A setup with nightly backup and restore, an UNC path that backups documents and scripts could be a solution. However this might cause (many) problems. He also wrote an application (SPExport), including source code, that can get documents from portals, which is very usefull.
SMigrate.EXE
Then there is another way to restore items. SMigrate is a tool voor backup and restore Sharepoint webs. It stores the content, including documents, in an assigned backup file. This file, with the extension .fwp can be restored with this tool as well. Also FrontPage 2003 can restore the site. From the restored site, the filed can be found and copied.

For this restore method, you’ll have to restore a complete site before you have access to the page. There is a quicker way to get you documents back.

First create a backup with the SMigrate.exe tool. Rename the backup and change the extension from .fwp to .cab. Now the file an be opened within the windows explorer. You’ll see lots of files, including a manifest.xml file.

Find the document name that has to be recovered in the manifest file. (simply use textpad and look for the name). In the tag where the document name is stored, find the file that represents it, for example “60000000.000”.

Now, just copy the file and rename it back to its original name. The document had been recovered.

Of course, you’ll have to write a script that backups all sites every night or so. But when you have to restore a document quickly (without any expensive tool), this method could be very usefull.