Después de aplicar esta revisión, debe habilitar la marca de seguimiento 1800 como parámetro de inicio en todos los servidores o réplicas que tienen el tamaño del sector físico de 512 bytes y reiniciarlos, para que esta revisión funcione correctamente.
Síntomas
Imagine la siguiente situación:
-
Habilita la característica Grupos de disponibilidad AlwaysOn o Registro 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 distintos tamaños de sector. O bien, en entornos de logshipping, los discos que almacenan los archivos de registro para los servidores principales de Logshipping y los servidores secundarios logshipping tienen distintos tamaños de sector. Por ejemplo:
-
El archivo de registro de réplica principal se encuentra en un disco que tiene un tamaño sector de 512 bytes. Sin embargo, el archivo de registro de réplica secundario se encuentra en un disco que tiene el tamaño sector de 4 kilobytes (KB).
-
El archivo de registro de réplica principal se encuentra en un sistema 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 que tiene el tamaño del sector de 4 kilobytes (KB).
-
En este escenario, se registra el siguiente mensaje de error en el registro de SQL Server error. El mensaje de error puede continuar durante un tiempo después de reiniciar si había registros que no se aplicaron a la versión secundaria antes de reiniciar el servidor.
Se han producido X E/S de registro mal alineadas que requerían 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 debido a los E/S sincrónicos. Si la réplica secundaria está en Windows Azure Storage, tarda mucho más de lo esperado en finalizar el proceso de sincronización.
Nota Este problema se produce al usar las unidades nuevas que tienen un tamaño de sector de 4 KB y las unidades antiguas que tienen un tamaño de sector de 512 bytes. Para obtener más información sobre las nuevas unidades, consulta SQL Server - Nuevas unidades Use el tamaño del sector 4K y SQL Server-Espacios de almacenamiento/VHDx y tamaño del sector 4K.
Solución
El problema se corrigió por primera vez en la siguiente actualización acumulativa de SQL Server.
Actualización acumulativa 5 de SQL Server 2014 /help/3011055
Actualización acumulativa 3 para SQL Server 2012 SP2 /help/3002049
Actualización acumulativa 13 para SQL Server 2012 SP1 /help/3002044
Después de aplicar la revisión 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 que tiene un tamaño sector de 512 bytes, observa un pequeño aumento en el tamaño de los siguientes archivos:
-
Archivo de registro de transacciones
-
Copias de seguridad de registros
Además, observa que los siguientes mensajes se registran en el registro de SQL Server error del servidor principal:
La cola del registro de la base de datos "<nombre de base de datos>" se está reescribiendo para que coincida con el nuevo tamaño de sector de 4096 bytes
Este es un mensaje informativo que se puede pasar por alto de forma segura.
Cada nueva actualización acumulativa de SQL Server contiene todas las revisiones y todas las correcciones de seguridad que se incluyeron con la actualización acumulativa anterior. Consulta las últimas actualizaciones acumulativas de 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 establecidos 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 procedimiento recomendado, 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 primario tiene un tamaño de sector de 4 KB, TF 1800 debe usarse como marca de inicio en todos los servidores o réplicas que tengan el tamaño del sector físico de 512 bytes y se reinicie. Esto garantiza que el formato de creación de registros en curso use un tamaño del sector de 4 KB.
Para obtener más información sobre cómo funciona SQL Server con tamaños de sector más grandes, consulta 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 utilidad del símbolo del sistema Fsutil para determinar el valor bytes por sector físico. Si este parámetro no es visible en el resultado, debe aplicar la revisión especificada en el artículo de KB 982018.
Para comprobar el tipo de unidad que tienes, sigue estos pasos:
-
Ejecuta el siguiente comando 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
Nativa 4K
512
4096
Formato avanzado (también conocido como 512E)
512
512
Nativo de 512 bytes