最近我们有一个新的服务器要照顾,发现有两个数据驱动器:
S:1 TB,其中驻留 10 个数据库(mdfs 和 ldf,虽然它们应该在不同的驱动器上,但这就是我们设置的方式),其中 DB 的最大大小为 780 GB,其余很小。
X:此处类似的场景以及 720 GB 的 DB 驻留在小和位,总共 10 个 DB
现在,我们被要求执行备份策略,为此我确信我们缺少备份驱动器,因为除了 C: 和以上两个之外不存在任何其他驱动器。
由于这是 sql server 2008R2 企业版,因此已启用压缩功能,我们可以进行压缩备份:
但我的问题是如何预测或计算容纳备份所需的驱动器大小,这意味着使用压缩功能我如何预测接近备份这 20 个用户数据库所需的磁盘空间量。
您无法完全预测它,但您可以通过压缩备份较小的数据库,并且如果数据集相似(基于下面列出的因素),您可以预测一个可以应用于较大数据库的比率。
在这里引用MSDN 关于压缩是最简单的:
要计算备份的压缩率,请使用备份集历史记录表的 backup_size 和compressed_backup_size 列中的备份值,如下所示:
例如,3:1 的压缩比表示您节省了大约 66% 的磁盘空间。要查询这些列,可以使用以下 Transact-SQL 语句:
压缩备份的压缩率取决于已压缩的数据。多种因素会影响获得的压缩比。主要因素包括:
来自在线图书文档。如果你看到最后一部分,它会说
要允许备份文件仅根据需要增长以达到其最终大小,请使用跟踪标志 3042。跟踪标志 3042 会导致备份操作绕过默认的备份压缩预分配算法。如果您需要通过仅分配压缩备份所需的实际大小来节省空间,则此跟踪标志很有用。但是,使用此跟踪标志可能会导致轻微的性能损失(可能会增加备份操作的持续时间)。
当您开始压缩备份时,您会看到在驱动器上创建了一些大小的备份文件,但在备份操作期间这不是正确的大小,它可能会增长并且最终大小会增加。您可以使用压缩启动备份并查看大小,然后试探性地将其乘以您想要保留的天数加上更多空间。这将再次为您提供备份驱动器的暂定大小。我还要说更多空间来备份驱动器会更安全