Backup and Restore Reference
Topic Last Modified: 2008-04-16
The Exchange Storage Engine (ESE) implements and controls the storage groups in Microsoft® Exchange Server 2007 . ESE provides an application programming interface (API) for creating backup and restore applications. The topics in this section describe the API implemented in the esebcli2.dll library.
Microsoft Exchange Server 2007 Service Pack 1 disables remote streaming backup and restore by default. To enable remote streaming backup and restore, set the Windows registry key HKLM\System\CCS\Services\MSExchangeIS\ParametersSystem\Enable Remote Streaming Backup to 1. When that registry key is not present, or is set to 0, remote streaming backup and restore is disabled.
Backup and Restore applications using the esebcli2 interface can operate locally on the Exchange server, or remotely via remote procedure call (RPC).
The esebcli2 interface provides coordinated backup and restore for Exchange 2007 storage groups and databases. Databases backed up using this API can handle log file truncation properly. Databases restored using this API can apply the restored logs to bring the database up-to-date properly.
The following are general guidelines and notes about using the esebcli2 backup and restore API.
For overview information that describes backup and restore operations, options, and sequencing, see Backup and Restore.
Non-Dual DLL Interface
The esebcli2.dll is a non-dual dynamic-link library (DLL). For this reason, C/C++ must be used to access the backup and restore functions. Use the Microsoft Windows LoadLibrary function to load the DLL.
Backup and Restore Privileges Required
Applications that use the esebcli2 interface must be run under a user account that has Windows Server operating systems Backup and Restore privileges.
Remote and Local Operation Supported
The API provided by esebcli2 supports connecting to ESE on the local computer, or on a different computer. Remote connections are made using standard RPC.
RPC is transmitted over the wire as unencrypted data. Creating backup and restore applications that transmit unencrypted data from Exchange databases is not recommended. Unencrypted data can be monitored easily as it travels through the network. Instead, consider creating your backup and restore applications so that the esebcli2 interface is used only locally on the computer running Exchange. If it is necessary to transmit the data over a network, use only encrypted transmission methods.
Multiple ESE Instances Available for Restore
Exchange 2007 supports up to four simultaneously-mounted storage groups per server. Each storage group is handled by a separate instance of ESE. However, ESE supports up to 16 simultaneously-running instances. The 12 extra ESE instances can be used to create parallel data streams, for potentially improved restore performance. But the extra ESE instances cannot be used for backup. When using multiple instances to restore a storage group, remember that the databases can be recovered only after all of the necessary database, log, and patch files have been restored fully to disk.
Use Only Fully Qualified Folder and File Names
All file names passed to, and returned by, the backup and restore functions must include the drive, folder, file name, and extension.
Double-Byte Character System (DBCS) Cannot be Used in Folder and File Names
The backup and restore API does not support using double-byte character set (DBCS) characters in file names or in folder paths. However, DBCS is supported in parameters that are intended for display names.
Multiple-Section Operations Not Supported
Some functions in the esebcli2 API accept or return arrays of file handles. However, in all cases, those arrays can contain only one file handle. So-called "multiple-section" operations are not supported. In those functions that accept number of sections as an input parameter, the parameter must always be 1.
During setup, Exchange 2007 places the file esebcli2.doc in the SDK\Support\Backup folder under the Exchange installation folder. This documentation is obsolete, and inaccurate in some areas. To access the most up-to-date information, see the Exchange Server Developer Center.