1. A system for managing data in accordance with service level agreements (SLAs) that specify schedules on a calendar basis for performing prescribed data management functions and for reducing inter-function redundancy, said system comprising: a data management engine for performing data management functions, including at least a snapshot function, and at least one back-up function, said data management engine including a service level policy engine that receives SLAs in electronic form and which controls the scheduling of the data management functions in accordance therewith, wherein each electronic SLA is associated with a corresponding application that uses data, and wherein each SLA specifies at least one service level policy, each policy specifying a source pool for data, a destination pool where a copy should be made of the source pool data, copy frequency indicating the frequency of operation for that policy, retention period indicating how long a given copy should be retained before being allowed to expire, and schedule information indicating hours and days of operation when the policy is in place, such that a collection of policies within a SLA is capable of expressing a non-uniform schedule for when a given function should be performed and is capable of expressing multiple data management functions that should be performed on a given source of data, and wherein said data management engine is operable to perform preparatory operations with the application and with the source pool so that the source pool of data has a coherent image of data to be copied and wherein said preparatory operations are performed once even if the SLA specifies multiple data management functions to be performed on that source pool at the current time.