For
distributed database application environment, it is always required to
synchronize different database servers, backup, copy transaction logs, etc. SQL
Server 2005 provides an advanced featured called Log Shipping. Log Shipping is
an Automated Process for backing up, restoring, copying the transaction logs
and synchronizing the database for distributed database server applications
which can improve the performance and availability of the database.
What
is Log Shipping?
Log shipping is used to synchronize the Distributed Database Server. Synchronize the database by copying transaction log, backing up, and restoring data. SQL Server used “SQL Server Job Agents” for making those processes automatic. Log Shipping does not involve automatic transfer of server if there is any failure. This means is has just synchronize the databases but if the primary server fails, it will not redirect your application to the secondary server. This has to be done manually.
Log shipping is used to synchronize the Distributed Database Server. Synchronize the database by copying transaction log, backing up, and restoring data. SQL Server used “SQL Server Job Agents” for making those processes automatic. Log Shipping does not involve automatic transfer of server if there is any failure. This means is has just synchronize the databases but if the primary server fails, it will not redirect your application to the secondary server. This has to be done manually.
The
main functions of log shipping are:
- Backing of the transaction log of the primary
     database
- Copying the transaction log backup to the
     secondary servers
- Restoring the transaction log backup on the
     secondary servers
Log Shipping Prerequisites
- Must have at least two Database Servers or two
     SQL Server 2005 Database Engine/Instances
- Configuration user should have Admin privilege
     on the server
- SQL Server Agent Service Configured properly
- Primary database “Recovery Model” must be FULL
- Shared folder (for both primary and secondary
     servers) for copying the transaction logs.
Components of Log Shipping
For
implementing log shipping, we need the following components:
- Primary Database Server: Primary
     server is main database server of SQL Server database instance, which is
     being accessed by the application. Primary server contains the primary
     database.
- Secondary Database Server: Secondary
     database server is a SQL Server database instance or a different server
     that contains the backup of primary database. There are possibilities to
     have multiple secondary servers if needed.
- Monitoring Server: Monitoring
     server is a SQL Server instance which tracks the log shipping process.
Log Shipping Database Server Configuration
You
can start the log shipping by Right click on the primary
database > properties > Transaction Log Shipping > Select check box, and
configure your settings.
|  | 
| Figure 1: Enable Log Shipping | 
Further
configurations:
|  | 
| Figure 2: Transaction Log Backup Setting for Primary Server | 
Configure
Secondary Server:
|  | 
| Figure 3: Secondary Server Configuration | 
Post
Log shipping activity
After you have configured the log shipping, you’ll assume that there are three main activities/jobs will be created for log shipping and they are “backup job”, “copy backup file job” and “restore job”. You can monitor information about the status of all the log shipping servers. The history and status of log shipping operations are always saved locally by the log shipping jobs. The history and status of the backup operation are stored at the primary server and the history and status of the copy and restore operations are stored at the secondary server. If monitor server has been implemented then this information is also stored on the monitor server.
After you have configured the log shipping, you’ll assume that there are three main activities/jobs will be created for log shipping and they are “backup job”, “copy backup file job” and “restore job”. You can monitor information about the status of all the log shipping servers. The history and status of log shipping operations are always saved locally by the log shipping jobs. The history and status of the backup operation are stored at the primary server and the history and status of the copy and restore operations are stored at the secondary server. If monitor server has been implemented then this information is also stored on the monitor server.
Followings
are the catalog tables which can explain about almost everything related to the
configured and running log shipping process:
- Log_shipping_monitor_alert: Stores alert
     job ID.
- Log_shipping_monitor_error_detail: Stores error
     details for log shipping jobs.
- Log_shipping_monitor_history_detail: Contains
     history details of log shipping agent.
- Log_shipping_monitor_primary: Stores one
     monitor record for the primary database in each log shipping
     configuration, including information about the last backup file and last
     restored file that is useful for monitoring.
- Log_shipping_monitor_secondary: Stores one
     monitoring record for each secondary database, including information about
     the last backup file and last restored file.
 

