1

Closed

Add Database Compression

description

I would love if someone could add compression options to the database backup task. I have a 60GB db to backup and without compression it is not usable. The following is what I added to the SQL2008 Database.cs file:
 
//added global private variable
    private BackupCompressionOptions compressionOption = BackupCompressionOptions.Default;
 
//added public property
    /// <summary>
    /// Sets the compression option for the backup. Default is Default (Other options - On/Off).
    /// </summary>
    [TaskAction(BackupTaskAction, false)]
    public string CompressionOption
    {
        get { return this.compressionOption.ToString(); }
        set { this.compressionOption = (BackupCompressionOptions)Enum.Parse(typeof(BackupCompressionOptions), value); }
    }
 
//added the following line to the backup task
    private void Backup()
    {
        if (!this.VerifyDatabase())
        {
            return;
        }
 
        this.LogTaskMessage(string.Format(CultureInfo.CurrentCulture, "Backing up SQL {2}: {0} to: {1}", this.DatabaseItem.ItemSpec, this.DataFilePath.GetMetadata("FullPath"), this.BackupAction));
        Backup sqlBackup = new Backup();
        sqlBackup.Devices.AddDevice(this.DataFilePath.GetMetadata("FullPath"), DeviceType.File);
        sqlBackup.Database = this.DatabaseItem.ItemSpec;
        sqlBackup.Incremental = this.Incremental;
        sqlBackup.CopyOnly = this.CopyOnly;
        sqlBackup.CompressionOption = this.compressionOption;
        sqlBackup.Action = this.backupAction;
        sqlBackup.Initialize = true;
        sqlBackup.PercentCompleteNotification = this.NotificationInterval;
        sqlBackup.PercentComplete += this.ProgressEventHandler;
        sqlBackup.SqlBackup(this.sqlServer);
    }
 
Thanks,
 
John Grzegorczyk
Closed Apr 11, 2012 at 9:18 PM by mikeFourie

comments

wrote Apr 11, 2012 at 9:18 PM

Resolved with changeset 75470.