Microsoft SharePoint technologies support information sharing among groups
of people within or across companies. (In this article, we refer to Microsoft
SharePoint Portal Server 2003 as Portal Server and Windows SharePoint Services
2.0 as SharePoint Services. When referring to both, we use SharePoint.) Share-Point
provides document-management support through two types of file repositories:
document libraries and lists. Files are stored in a SharePoint content database,
not in the Windows file system.
One glaring omission in SharePoint's document-management capabilities is that you can't easily restore files accidentally deleted. In addition, although versioning is available, Portal Server and SharePoint Services remove all version history after you delete an item. Besides these file-restore problems, SharePoint has a relatively weak backup engine, which doesn't give you the option of performing single-file restores from a backup.
Despite SharePoint's backup and restore gaps, workable solutions do exist.
We'll show you how to automate the SharePoint backup process by using a script
we've provided, then we'll discuss some approaches for supporting file restores.
Restore from a Backup Environment
Instead of struggling with SharePoint's inadequate file-restore capability,
you can provide single-file restores and undeletes from backed-up versions of
a Portal Server portal instance (single-server or farm), a SharePoint Services
instance, or Share-Point site collections or sites. However, managed backup
and restore procedures require dedicating IT employees to oversee the process,
a mechanism to request the restoration of files, and possibly additional hardware
for the secondary environment. One way to minimize the cost of a secondary environment
is to virtualize your portal instance by using server-virtualization products
such as VMware Workstation or Microsoft Virtual PC.
Regardless of whether your secondary Share-Point environment is physical or
virtual, backups might also require a significant amount of media capacity.
To meet storage requirements for your backups, you could use SAN technology,
which is already available in many larger organizations, or terabyte-sized drives.
Many vendors provide NAS terabyte drives where you can inexpensively store SharePoint
backups. It's also prudent to store your backups in offsite storage and implement
fault tolerance by using a RAID solution.
Tool Options
If maintaining a second SharePoint environment containing a previous version
of the production environment is viable for your organization, you can perform
full backup and restore operations. For a Portal Server implementation, you
can use the SharePoint Portal Server Data Backup and Restore utility (spsbackup.exe).
For a pure SharePoint Services implementation that doesn't contain Portal Server,
you can use the SharePoint administration utility (stsadm.exe) or Microsoft
SQL Server tools such as OSQL (osql.exe) to perform backup and restore. For
more information about backing up and restoring SharePoint Services, see the
Microsoft article "How to back up and restore installations of Windows SharePoint
Services that use Microsoft SQL Server 2000 Desktop Engine (Windows)" (http://support.microsoft.com/?kbid=833797.)
Although you can use Stsadm to back up and restore Portal Server, using the
tool in this way has limitations. For information about those limitations, see
the Microsoft article "Supported scenarios for using the Stsadm.exe command-line
tool to back up and to restore Windows SharePoint Services Web sites and personal
sites in SharePoint Portal Server 2003" (http://support.microsoft.com/?kbid=889236).
Portal Server Backup Procedures
You can start Spsbackup from the SharePoint Portal Server program group or at
the command line by navigating to the SharePoint bin folder and typing
spsbackup.exe
You might also want to add the bin folder to your PATH environment variable on the server where you plan to run the backup procedure.
You can do backups periodically, so that you can find restorable data according
to the backup date. To automate the backup procedure, you can create a batch
job that calls the Spsbackup utility, or you can create a script to complete
this operation. Then you can use the built-in AT Command Scheduler (winat.exe)
or Task Scheduler to schedule a regular backup.