【问题标题】:How to compress a DB backup before saving it to the disk?如何在将数据库备份保存到磁盘之前对其进行压缩?
【发布时间】:2019-07-29 15:57:47
【问题描述】:

我正在做一些事情来备份和保存数据库的备份到指定的位置。我想知道是否有办法在生成 .bak 文件后对其进行压缩,但在我实际将其保存到目的地而不进行备份之前,先压缩 .bak 然后删除未压缩的版本。

SqlConnection objconnection = new SqlConnection(connString);
ServerConnection con = new ServerConnection(objconnection.DataSource.ToString());
Server server = new Server(con);
Backup source = new Backup();
source.Action = BackupActionType.Database;
source.Database = dbName;

BackupDeviceItem destination = new BackupDeviceItem(dbName+".bak" , DeviceType.File); 

//-->Zip the backup prior to actually saving backup

source.Devices.Add(destination);

source.SqlBackup(server);

【问题讨论】:

    标签: c# compression database-backups


    【解决方案1】:

    SqlServer 备份具有压缩产品支持。

    https://docs.microsoft.com/en-us/sql/relational-databases/backup-restore/backup-compression-sql-server?view=sql-server-2017

    如果您采用这种方法,您将获得能够直接从磁盘上的媒体进行恢复的好处,而不必先扩展媒体。

    【讨论】:

      【解决方案2】:

      显然这是不可能的,我必须创建 .BAK 备份文件,然后在发送之前对其进行压缩/压缩。

      【讨论】:

        【解决方案3】:

        如果您创建了一个存储过程,然后在应该可以工作的代码中调用它,请查看 method 2,它说明了如何通过使用事务 SQL 命令来完成它

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-08-06
          • 1970-01-01
          • 1970-01-01
          • 2022-01-18
          • 2017-03-15
          • 2010-11-29
          • 1970-01-01
          相关资源
          最近更新 更多