Nota
Después de aplicar este hotfix, debe habilitar la marca de seguimiento 1800 como parámetro de inicio en todos los servidores o réplicas que tengan un tamaño de sector físico de 512 bytes y reiniciarlos para que este Hotfix funcione correctamente.
Síntomas
Imagine la siguiente situación:
-
Habilite la característica grupos de disponibilidad AlwaysOn o Logshipping en Microsoft SQL Server.
-
Los discos que almacenan los archivos de registro de la réplica principal y secundaria en un grupo de disponibilidad AlwaysOn (AG) tienen tamaños de sector diferentes. O en entornos Logshipping, los discos en los que se almacenan los archivos de registro de Logshipping servidores principales y servidores secundarios de Logshipping tienen tamaños de sector diferentes. Por ejemplo:
-
El archivo de registro de réplicas principal se encuentra en un disco con un tamaño de sector de 512 bytes. Sin embargo, el archivo de registro de réplicas secundarias se encuentra en un disco con el tamaño de sector de 4 kilobytes (KB).
-
El archivo de registro de réplicas principal se encuentra en un sistema local local que tiene un tamaño de sector de 512 bytes. Sin embargo, la réplica secundaria se encuentra en un disco de almacenamiento de Windows Azure con el tamaño de sector de 4 kilobytes (KB).
-
En este escenario, el mensaje de error siguiente se graba en el registro de errores de SQL Server. El mensaje de error puede continuar durante un tiempo después del reinicio si hubo registros que no se habían aplicado a la secundaria antes de reiniciar el servidor.
Se han recibido X registros de registro no alineados que requirieron volver a la e/s sincrónica. La e/s actual está en el archivo...
Además, la sincronización de AG o Logshipping se ejecuta muy lentamente a causa de la e/s sincrónica. Si la réplica secundaria está en el almacenamiento de Windows Azure, se tarda mucho más tiempo de lo esperado en finalizar el proceso de sincronización. Nota Este problema se produce cuando usa tanto las nuevas unidades que tienen un tamaño de sector de 4 KB como las unidades anteriores con un tamaño de sector de 512 bytes. Para obtener más información sobre las nuevas unidades, vea SQL Server-nuevas unidades use el tamaño de sector de 4k y SQL Server: espacios de almacenamiento/VHDx y tamaño de sector de 4k.
Resolución
El problema se solucionó por primera vez en la siguiente actualización acumulativa de SQL Server.
Actualización acumulativa 5 para SQL Server 2014 /en-us/help/3011055
Actualización acumulativa 3 para SQL Server 2012 SP2 /en-us/help/3002049
Actualización acumulativa 13 para SQL Server 2012 SP1 /en-us/help/3002044
Después de aplicar el Hotfix y habilitar la marca de seguimiento 1800 como parámetro de inicio en todas las réplicas de servidores que se ejecutan en un disco con un tamaño de sector de 512 bytes, observará un pequeño aumento del tamaño de los siguientes archivos:
-
Archivo de registro de transacciones
-
Copias de seguridad del registro
Además, observa que se registran los siguientes mensajes en el registro de errores de SQL Server del servidor principal:
El final del registro de la base de datos ' <nombre de base de datos> ' se está regrabando para coincidir con el nuevo tamaño de sector de 4096 bytes
Este es un mensaje informativo que puede ignorarse sin riesgos.
Cada actualización acumulativa para SQL Server contiene todas las revisiones y todas las revisiones de seguridad incluidas en la actualización acumulativa anterior. Vea las últimas actualizaciones acumulativas para SQL Server:
Solución alternativa
Para solucionar este problema, mueva el archivo de registro de transacciones en el destino a una unidad que tenga bytes por sector físico establecido como 512 bytes.
Estado
Microsoft ha confirmado que se trata de un problema de los productos de Microsoft enumerados en la sección "Se aplica a".
Más información
Como práctica recomendada, intente asegurarse de que todos los discos de todas las réplicas (al menos todos los discos que hospedan archivos de registro) tengan el mismo tamaño de sector. En entornos mixtos, donde el secundario tiene un sector físico de 512 bytes y el principal tiene un tamaño de sector de 4 KB, TF 1800 debe usarse como un indicador de inicio en todos los servidores o réplicas que tengan un tamaño de sector físico de 512 bytes y se reinicien . Esto garantiza que el formato de creación de registro en curso usa un tamaño de sector de 4 KB. Para obtener más información sobre cómo funciona SQL Server con tamaños de sector mayores, consulte la siguiente publicación en el blog de soporte técnico: SQL Server: espacios de almacenamiento/VHDx y tamaño del sector 4k Puede usar la herramienta de símbolo del sistema fsutil para determinar el valor de bytes por sector físico . Si este parámetro no está visible en el resultado, debe aplicar el Hotfix especificado en el artículo 982018 de KB. Para comprobar el tipo de unidad que tiene, siga estos pasos:
-
Ejecute el comando siguiente en un símbolo del sistema con privilegios elevados:
Fsutil fsinfo ntfsinfo x: Nota El marcador de posición x representa la unidad que está comprobando.
-
Use los valores de bytes por sector y bytes por sector físico para determinar el tipo de unidad que tiene. Para ello, use la tabla siguiente:
Valor "bytes por sector"
Valor "bytes por sector físico"
Tipo de unidad
4096
4096
4K nativo
512
4096
Formato avanzado (también conocido como 512E)
512
512
512 de bytes nativos