igelr Asked: 2019-10-28 23:06:47 +0800 CST2019-10-28 23:06:47 +0800 CST 2019-10-28 23:06:47 +0800 CST AlwaysOn 可用性组中的行压缩 772 我想对可用性组中的某些数据库实施行压缩。可用性组数据库是否支持行和页压缩?它是否以任何方式影响复制、故障转移、配置或结构?节点的角色和模式有区别吗? sql-server availability-groups 1 个回答 Voted Best Answer Tony Hinkle 2019-10-29T16:37:33+08:002019-10-29T16:37:33+08:00 AlwaysOn可用性组的先决条件、限制和建议文档中未将压缩列为限制,因此这是表明它受可用性组支持的官方参考。配置没有特别的考虑,使用同步复制还是异步复制都没有关系。 就功能而言,行和页级压缩不会对可用性组产生直接影响,但主服务器上的 CPU 使用率会略有增加,以便在写入时压缩数据,并在读取时解压缩,因此有可能额外的资源使用可能会影响可用性组复制,因为它也需要 CPU。不过,一般来说,如果您的系统有足够的 CPU,这就没有关系。此外,如果辅助设备用于读取,则将使用额外的 CPU 来解压缩数据。同样,执行此操作所需的 CPU 非常少,只有在有其他因素导致 CPU 使用率过高时才会引起关注。 复制过程只是将事务从事务日志复制到辅助服务器(稍微过分简化了),因此它实际上不知道或不关心该事务中实际有哪些数据。当日志记录到达辅助服务器时,它被放置在那里的事务日志中并提交给数据库,就像事务是在本地发起的一样。 如果复制过程必须了解复制的每个事务的内容,无论数据是压缩的、加密的还是其他什么,它都会慢得多。
AlwaysOn可用性组的先决条件、限制和建议文档中未将压缩列为限制,因此这是表明它受可用性组支持的官方参考。配置没有特别的考虑,使用同步复制还是异步复制都没有关系。
就功能而言,行和页级压缩不会对可用性组产生直接影响,但主服务器上的 CPU 使用率会略有增加,以便在写入时压缩数据,并在读取时解压缩,因此有可能额外的资源使用可能会影响可用性组复制,因为它也需要 CPU。不过,一般来说,如果您的系统有足够的 CPU,这就没有关系。此外,如果辅助设备用于读取,则将使用额外的 CPU 来解压缩数据。同样,执行此操作所需的 CPU 非常少,只有在有其他因素导致 CPU 使用率过高时才会引起关注。
复制过程只是将事务从事务日志复制到辅助服务器(稍微过分简化了),因此它实际上不知道或不关心该事务中实际有哪些数据。当日志记录到达辅助服务器时,它被放置在那里的事务日志中并提交给数据库,就像事务是在本地发起的一样。
如果复制过程必须了解复制的每个事务的内容,无论数据是压缩的、加密的还是其他什么,它都会慢得多。