我有两台带有镜像设置的镜像SQL Server 2016计算机。这应该是热备用方案。
HDD大小为1TB,数据库大小约为600GB(仅一个DB)。这是价值90天的存档数据,超过90天的所有内容每天晚上都会被删除(首先通过外部应用程序自动删除,该外部应用程序首先使用/填充数据库)。因此,最大的DB大小为600GB,它不会超出正常的清理范围。
如果一台服务器发生故障,或者由于任何其他原因挂起了镜像,则事务日志将出现问题。如果我正确理解该原理,则健康服务器将保留事务日志,只要它没有从合作伙伴那里获得一切正常的信息即可。因此,如果镜像失败,则硬盘驱动器将在几个小时内装满。
有没有合适的技术可以防止这种情况?我每15分钟备份一次日志,并且一切正常,但是如果镜像被暂停,则备份的价值不高,因为尽管进行了备份,日志仍会不断增长。而且现场情况有点特殊,没有工程师,只有操作员每天访问一次或两次此数据,因此不可能立即做出反应。有人可能要花24多个小时才能解决问题。
我唯一想到的是某种触发,一旦挂起一段时间(或者如果挂起并且HDD空间太小),它将完全删除镜像。这样可以防止运行状况良好的服务器完全崩溃,但是必须有人再次访问站点并从头开始设置镜像。而且由于一开始的不良设计,DB的大小大于HDD大小的一半,因此我什至无法创建本地备份/还原,我将不得不通过属于该客户端的100Mbps NAS来做所有事情。而且,与重新填充驱动器所需的事务日志相比,这将花费更多的时间。