Sql-server – SQL Server 2008 log shipping via JungleDisk

log-shippingsql server

Has anyone used Jungle Disk as a common location for SQL Server 2008 log shipping? We use it for backup already and I think it can be used for taking log backup to our off-site location.

It seems like it will work but I have no personal experience using it and would like to know more about Jungle Disk reliability/suitability for this.

Best Answer

I would like to answer my own question - Jungle disk can successfully be used as transport for logs to be delivered to off-site location. I have it working with SQL Server 2008.

Before following steps I outlined below I recommend familiarizing yourself with log shipping by first setting it up within the same LAN - I found that wizard works very well for that. This way you will know what to expect when log shipping works (or doesn't work) properly.

These are the steps (if you also want primary database to be mirrored it is best to set up mirroring first):

1) Take full database backup and log backup on your primary database. Bring these 2 files offsite and restore them using "RESTORE WITH STANDBY" mode.

2) Configure log shipping on primary only without a witness server (witness may work but in my case off-site location is not connected to primary via VPN, so secondary server would not be routable and witness server wouldn't be able to see it). Set logs to be saved to network share on your LAN. This share should point to "real" hard drive, not to Jungle Disk directly (even though this will work too but may slow things down).

3) In out setup in primary location Jungle disk is installed and mounted as a drive letter on the server that hosts file share for logs to be saved. In Jungle Disc Configuration go to "Network Drive/Sync Folders" and setup sync for local folder corresponding the share to be synced with folder on Jungle disk. I use "All Files in this folder" for "What to Sync" and "Make Network drive match this folder" for "How to Sync"

4) Wait a little to make sure log backups for primary database appear in folder on Jungle disk.

5) On off-site computer hosting SQL Server mount Jungle Disk as a drive letter (it is preferable to have a separate server for that and exposed folder with logs via file share but I am describing configuration I have up and running). Make sure that log backups are visible and accessible on Jungle disk

6) Configure log shipping on the secondary.

The way I did this was to temporarily expose secondary via firewall/external IP (you can use SQL Server Auth to connect). Then you can use log shipping wizard in Database Properties to configure secondary (make sure to specify correct folder for log backup destination - this would be local folder on secondary server) but DO NOT PRESS OK to actually finish configuration and create jobs on secondary - if you do it will try to use network share from primary location as a source for log backups and it will not work. Instead select "Script Configuration to new Query window". This script will have several parts: one that should be run on primary - delete that one because primary is already configured; another is for secondary - it will have this text in the beginning:

-- Execute the following statements at the Secondary to configure Log Shipping -- for the database [$PublicIP\$InstanceName].[$DatabaseName], -- the script needs to be run at the Secondary in the context of the [msdb] database.

Copy/paste this part to new query window on secondary server. Search this script for @backup_source_directory - it will be set to file share in primary location. You need to modify it to point to the folder on Jungle Disk that contains your log backup

Run the script and it should create 3 jobs on the secondary server - LSAlert*, LSCopy* and LSRestore*

You log shipping now should start working on secondary. To be sure check job history.

If you ever need to modify log shipping parameters such as restore delay, threshold, history retention on secondary server - you need to modify these parameters directly in system databases (as opposed to using log shipping wizard because you log shipping configuration on primary from which you would ordinarily use wizard will not have secondary listed at all). Tables you are interested in are in msdb database, everything that starts from "dbo.log_shipping_" - the one I had to use so far is [msdb].[dbo].[log_shipping_monitor_secondary] for alert settings and [msdb].[dbo].[log_shipping_secondary] for some configuration settings (backup source/destination, file retention period)

Hope this helps.