Desejo implementar a compactação de linha em alguns bancos de dados que estão em um grupo de disponibilidade. Há suporte para compactação de linha e página em bancos de dados de grupo de disponibilidade? Isso afeta a replicação, failover, configuração ou estrutura de alguma forma? A função e o modo do nó fazem diferença?
relate perguntas
-
SQL Server - Como as páginas de dados são armazenadas ao usar um índice clusterizado
-
Preciso de índices separados para cada tipo de consulta ou um índice de várias colunas funcionará?
-
Quando devo usar uma restrição exclusiva em vez de um índice exclusivo?
-
Quais são as principais causas de deadlocks e podem ser evitadas?
-
Como determinar se um Índice é necessário ou necessário
A compactação não está listada como uma restrição na documentação em Pré-requisitos, Restrições e Recomendações para Grupos de Disponibilidade AlwaysOn , portanto, essa é a referência oficial que indica que há suporte para grupos de disponibilidade. Não há considerações especiais para configuração e não importa se a replicação síncrona ou assíncrona é usada.
A compactação em nível de linha e página não terá impacto direto nos grupos de disponibilidade no que diz respeito à funcionalidade, mas haverá um pequeno aumento na utilização da CPU no servidor primário para compactar os dados quando gravados e descompactar quando lidos, portanto, é possível que o uso de recursos extras pode afetar a replicação do grupo de disponibilidade, pois também requer CPU. Em geral, porém, se o seu sistema tiver uma CPU adequada, isso não será motivo de preocupação. Além disso, se o secundário for usado para leitura, uma CPU adicional será usada para descompactar os dados. Mais uma vez, a CPU necessária para fazer isso é mínima e só será motivo de preocupação se houver outros fatores fazendo com que a utilização da CPU seja excessivamente alta.
O processo de replicação está simplesmente copiando transações do log de transações para os servidores secundários (para simplificar um pouco), então ele realmente não sabe ou se importa com quais dados estão realmente nessa transação. Quando o registro de log chega ao secundário, ele é colocado no log de transações e confirmado no banco de dados como se a transação tivesse sido originada localmente.
Se o processo de replicação tivesse que entender o conteúdo de cada transação que é replicada, sejam os dados compactados, criptografados ou qualquer outra coisa, seria muito mais lento.