Follett White Paper SQL System Backups
Follett White Paper SQL System Backups
white paper
Establishing a backup and restore plan for Destiny
Overview
It is important to establish a backup and restore plan for your Destiny installation. The plan must be validated and
monitored to ensure that your data is sufficiently backed up and can be recovered in the event of hardware failure or
other disaster.
There are tradeoff decisions to be made in the backup strategy that will be shaped by your organizations risk tolerance,
technology constraints, and ability to absorb data loss or downtime. This document provides an overview of standard
backup and restore for the Destiny system. Note this paper does not cover high-availability configurations such as
clustered servers or log shipping. Please contact Follett Software Technical Support should you have any questions
about backing up your Destiny installation. See the Destiny Technical Support section at the end of this document.
Page 1
Additionally you may wish to implement the full recovery model, explained below, to safeguard transactions that
occur between backups.
Application folders
The remaining Destiny content is located in the Destiny application folders. This content includes the application,
configuration files, application logs, job and report output, export files, images (book covers, patron pictures, etc.),
custom scripting, visual search configuration, and other files. This content should be backed up to ensure full recovery
of the Destiny system.
The application folders and their content are located below the \FSC-Destiny folder on the application server. If backups
are to occur while the Destiny application is running, this data must be backed up using "open file" backup software.
If this is not an option, the Destiny service must be stopped while the backup occurs. The batch files
StopDestinyService.bat and RunDestinyService.bat can be run via the Windows task scheduler to stop Destiny service
prior to, and restart the service after, the backup. These files are located in the \FSC-Destiny\fsc\bin folder.
Some installations prior to Destiny 7.0 were configured with the osql_backup.bat batch file. This script was provided to
the customer as an introductory means to backup Destiny data and is not intended as a comprehensive backup
solution. As a rudimentary tool, it will extract the SQL data but does not include complete backup services such as
support for remote or removable media, failure notification, and backup file management. It is highly recommended to
implement a robust backup solution that includes these important best practices.
Restoring Destiny
Conceptually, restoring the Destiny application involves the following steps. Please contact Follett Software Technical
Support for specific assistance should you need to restore your Destiny system.
Restore and verify the SQL database as described below
Restore the \FSC-Destiny application folder and subfolders
If restoring to a different server environment, update the Destiny configuration, register the service and verify database
connectivity
Page 2
A differential backup contains only changes since the last full backup. This faster, smaller backup is designed to make it
possible to take backups more frequently when media space is limited or backup times become too long.
Restoring from a differential database backup consists of restoring the most recent full backup followed by the single
most recent differential backup.
The database is relatively small, allowing for backups that are frequent enough for your organization
You can accept the loss of changes since the last backup
Page 3
The following sequence represents a schedule with weekly full backups and nightly differential backups:
Full
1 Full
1
Log
Log
1 ... 6
...
Weekend full
backup full
Weekend
backup
Diff
Log
Log
1 Diff 7 . . . 12
...
1
Diff
2 Diff
2
Hourly
log backups
Log
13
Log
14
Nightly
differential
Nightly
backups
full or
differential
backups
You cannot afford to lose transactions that occur between database backups
You are willing to manage the additional complexity in the backup configuration and data recovery process
Transaction log
The transaction log is the key component in the full recovery model. This file, named *.LDF, saves transactions between
database backups. When either a database backup or transaction log backup occurs, accumulated transactions in the
log are emptied ("truncated") and logging resumes.
Frequent transaction log backups provide recoverability if the transaction log itself is damaged. Because each log
backup contains only new transactions since the last log backup, the series of all log backups after the last database
backupthe "log chain"must be applied to the database backup during recovery.
Page 4
megabytes. This setting is database-specific and can be accessed in SQL Server Enterprise Manager or Management
Studio. Because SQL Server leaves the file at its own high-water mark, it is generally acceptable to have the
transaction log grow in absolute megabytes. Monitor the log file size on disk periodically to ensure backups are
preventing nonstop growth. Regular backups will keep this file to a fraction of the size of your database.
Shrinking the transaction log file is not a part of routine database administration. It takes resources to grow the log file,
so it is best left at its own high-water mark to avoid having to resize during high transaction activity. However, if you
have had an unusual event that caused large growth, such as if backups failed to run for a period of time, then there is
a mechanism in SQL Server to shrink the transaction log. For details on shrinking the log file, see
http://support.microsoft.com/kb/907511.
Further transaction log growth information can be found in SQL Server Books Online and in these Microsoft
KnowledgeBase articles:
Page 5
The following backup sequence represents a schedule with weekly full backups, nightly differential backups, and hourly
transaction log backups.
Full
1
Log
Log
1 .. 6
.
Weekend full
backup
Diff
1
Log
Log
7 . . 12
.
Diff
2
Hourly
log backups
Log
13
Log
14
Nightly
differential
backups
Note that Diff 2 already contains the transactions in Logs 1-12. Diff 1 would not be included when restoring this
database.
3. "Recover" the database. This finalizes the restore and makes the database ready for use.
It would have been possible to rely solely on weekly full backups plus hourly transaction log backups, skipping the
nightly differential backups. However, restoring the database would involve a larger number of log backups and would
significantly increase the total restoration time.
Backup managers
Third party backup manager software can be used to help simplify and manage the configuration and execution of the
entire backup/restore process. Examples include Symantec Backup Exec, CA Arcserve Backup, or EMC
Retrospect. It is also possible to configure a SQL backup schedule through SQL Servers provided management tools
such as the SQL Server Management Studio Suite.
Consult your chosen tools documentation for details of implementing the options described above.
Follett recommends using a third party backup solution that includes a SQL Server agent for the database and
open file management for the application folder.
Follett recommends backing up to removable media or to a remote network location. Backup rotations should
contain at least one full backup weekly and the subsequent daily backups may be full or differential.
Follett advises against the use of drive imaging software as a backup mechanism for the Destiny system.
Page 6
Log shipping
"Log shipping" refers to a process that copies logged transactions to a "warm" mirror database. See SQL Server Books
Online if you wish to explore this advanced technique further.
Partial backups
A partial backup backs up the primary file and all read/write files, plus any specified read-only files or file groups. It is
intended to make backups more efficient in situations where a significant portion of the database is read-only and does
not need to be included in backups. This is not applicable to Destiny.
File backups
File backups and differential file backups back up one or more selected files or file groups within a database. A file or
file group is a subset of a database. All files within the Destiny database must be backed up, so this tactic is not
applicable to Destiny.
Copy-only backups
Copy-only backups create a database backup without affecting the backup chain (without truncating the transaction
log). Copy-only backups are independent of the regular backup sequence. If used, a copy-only backup would be
performed outside a normal Destiny backup and restore process.
TELEPHONE SUPPORT is available Monday through Friday, 7:00 AM to 6:00 PM Central time. You can speak
with a Technical Support Analyst by calling (800) 323-3397.
For additional assistance, please contact your Follett Software sales executive or Follett Technical Support at
(800) 323-3397.
Page 7