Solución de errores relacionados con el tamaño del sector del disco del sistema superior a 4 KB
En este artículo se proporcionan soluciones para solucionar errores durante la instalación o iniciar una instancia de SQL Server en Windows. Este artículo es válido para todas las versiones publicadas de SQL Server.
Los errores descritos en este artículo están relacionados con el tamaño del sector del disco del sistema superior a 4 KB.
Se aplica a: SQL Server todas las versiones
Síntomas
Escenario 1: Instale cualquier versión de SQL Server. A continuación, verá errores similares al siguiente mensaje para el componente Motor de base de datos Services de SQL Server:
Feature: Database Engine Services
Status: Failed
Reason for failure: An error occurred during the setup process of the feature.
Next Step: Use the following information to resolve the error, uninstall this feature, and then run the setup process again.
Component name: SQL Server Database Engine Services Instance Features
Component error code: 0x851A001A
Error description: Wait on the Database Engine recovery handle failed. Check the SQL Server error log for potential causes.
O bien, verá errores en el registro de errores de SQL Server similar a:
2025-02-26 20:01:16.79 spid14s Starting up database 'master'.
2025-02-26 20:01:16.80 spid14s Error: 5178, Severity: 16, State: 1.
2025-02-26 20:01:16.80 spid14s Cannot use file 'C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\DATA\master.mdf' because it was originally formatted with sector size 4096 and is now on a volume with sector size 8192. Move the file to a volume with a sector size that is the same as or smaller than the original sector size.
Escenario 2: instale cualquier versión de SQL Server en un dispositivo Windows 10. A continuación, actualice el sistema operativo en el dispositivo a Windows 11. Al intentar iniciar SQL Server en un dispositivo Windows 11, el servicio no se inicia y, en el registro de errores de SQL Server, observa entradas similares a las siguientes:
2021-11-05 23:42:47.14 spid9s There have been 256 misaligned log IOs which required falling back to synchronous IO. The current IO is on file C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\DATA\master.mdf.
Escenario 3: instale cualquier versión de SQL Server en un dispositivo Windows 10. A continuación, actualice el sistema operativo en el dispositivo a Windows 11. Cuando intenta iniciar SQL Server en un dispositivo Windows 11, el servicio no se inicia. En el registro de errores de SQL Server, verá entradas similares a las siguientes:
Faulting application name: sqlservr.exe, version: 2019.150.2000.5, time stamp: 0x5d8a9215
Faulting module name: ntdll.dll, version: 10.0.22000.120, time stamp: 0x50702a8c
Exception code: 0xc0000005
Fault offset: 0x00000000000357ae
Faulting process id: 0x1124
Faulting application start time: 0x01d7bf67449d262c
Faulting application path: C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\Binn\sqlservr.exe
Faulting module path: C:\Windows\SYSTEM32\ntdll.dll
Escenario 4: Instalar LocalDB en un dispositivo Windows 11. El programa de instalación produce un error y, en el registro de errores de SQL Server, observa entradas similares a las siguientes:
2021-12-15 23:25:04.28 spid5s Cannot use file 'C:\Users\Administrator\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\TestInstance\master.mdf' because it was originally formatted with sector size 4096 and is now on a volume with sector size 16384. Move the file to a volume with a sector size that is the same as or smaller than the original sector size.
En el registro de eventos de la aplicación de Windows 11, observa entradas similares a las siguientes:
Message : Windows API call WaitForMultipleObjects returned error code: 575. Windows system error message is: {Application Error}
The application was unable to start correctly (0x%lx). Click OK to close the application.
Reported at line: 3621.
Source : SQLLocalDB 11.0
Nota:
Es posible que encuentre los errores mencionados en los escenarios anteriores de una instancia de SQL Server que instaló manualmente o en una instancia de LocalDB instalada por las aplicaciones.
Escenario 5: si intenta usar el tamaño del sector superior a 4 KB, verá el siguiente mensaje de error:
Error: 5179, Severity: 16, State: 1.
Cannot use file 'data file path', because it is on a volume with sector size 8192. SQL Server supports a maximum sector size of 4096 bytes. Move the file to a volume with a compatible sector size.
Causa
Durante el inicio del servicio, SQL Server inicia el proceso de recuperación de la base de datos para garantizar la coherencia de la base de datos. Parte de este proceso de recuperación de base de datos implica comprobaciones de coherencia en el sistema de archivos subyacente antes de intentar abrir archivos de base de datos de usuario y del sistema.
Algunos nuevos dispositivos de almacenamiento y controladores de dispositivos exponen un tamaño de sector de disco mayor que el tamaño de sector de 4 KB admitido.
Cuando esto ocurre, SQL Server no podrá iniciarse debido al sistema de archivos no admitido, ya que SQL Server admite actualmente tamaños de almacenamiento del sector de 512 bytes y 4 KB.
Para confirmar que encuentra este problema específico, ejecute el comando :
fsutil fsinfo sectorinfo <volume pathname>
Por ejemplo, para analizar el volumen E: , ejecute el siguiente comando:
fsutil fsinfo sectorinfo E:
Busque los valores PhysicalBytesPerSectorForAtomicity
y PhysicalBytesPerSectorForPerformance
, devueltos en bytes y, si son diferentes, conserve el mayor para determinar el tamaño del sector del disco. Un valor de 4096 indica un tamaño de almacenamiento del sector de 4 KB.
Además, tenga en cuenta la directiva de compatibilidad de Windows con compatibilidad con el sistema de archivos y el tamaño del sector de almacenamiento. Para obtener más información, consulte el artículo Directiva de soporte técnico de Microsoft para unidades de disco duro del sector de 4 KB en Windows .
Nota:
No hay ninguna versión publicada de SQL Server compatible con tamaños de sector superiores a 4 KB. Para obtener más información, consulte el artículo Límites de compatibilidad del tamaño del sector de la unidad de disco duro en SQL Server .
Resoluciones
Actualmente, la clave del
ForcedPhysicalSectorSizeInBytes
Registro es necesaria para instalar CORRECTAMENTE SQL Server cuando se usan plataformas de almacenamiento modernas, como NVMe, que proporcionan un tamaño de sector superior a 4 KB. Esta clave del Registro del sistema operativo Windows obliga a emular el tamaño del sector como 4 KB. Para agregar la clave del Registro, use elForcedPhysicalSectorSizeInBytes
Editor del Registro o ejecute comandos como se describe en la sección Símbolo del sistema o PowerShell. Debe reiniciar el dispositivo después de agregar la clave del Registro para que este cambio surta efecto. No es necesario agregar la marca de seguimiento 1800 para este escenario.Importante
Esta sección contiene pasos que le indican cómo modificar el Registro de Windows. No obstante, pueden producirse problemas graves si modifica el registro de manera incorrecta. Por lo tanto, asegúrese de que sigue estos pasos con atención. Para la protección añadida, realice una copia de seguridad del Registro antes de modificarlo. Después, puede restaurar el registro si se produce un problema. Para obtener más información sobre cómo realizar copias de seguridad y restaurar el registro, consulte el artículo Cómo realizar copias de seguridad y restaurar el registro en Windows .
- Ejecute el Editor del Registro como administrador.
- Vaya a
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\stornvme\Parameters\Device
. - Seleccione Editar>nuevo>valor de cadena múltiple y asígnelo como .
ForcedPhysicalSectorSizeInBytes
- Haga clic con el botón derecho en el nombre, seleccione Modificar y escriba
* 4095
el campo Datos de valor. - Seleccione Aceptar y cierre el Editor del Registro.
Si no agrega la clave del Registro y tiene varias unidades en este sistema, puede especificar una ubicación diferente para los archivos de base de datos una vez completada la instalación de SQL Server. Asegúrese de que la unidad refleja un tamaño de sector admitido al consultar los
fsutil
comandos. SQL Server admite actualmente tamaños de almacenamiento de sector de 512 bytes y 4096 bytes.
Más información
Los controladores NVMe nativos de Windows 11 se actualizaron para incluir el tamaño del sector real notificado directamente por los dispositivos de almacenamiento NVMe. Esto se hizo en lugar de basarse en la información emulada de los controladores del sistema de archivos.
Los controladores de Windows 10 no notifican el tamaño del sector de origen del almacenamiento físico.
Los controladores mejorados de Windows 11 ignoran la emulación que usan los dispositivos de almacenamiento NVMe comunes. Por ejemplo, fsutil
muestra un tamaño de sector de 8 KB o 16 KB, en lugar de simular el tamaño de sector de 4 KB requerido por Windows.
En la tabla siguiente se proporciona una comparación de los tamaños de sector notificados por los sistemas operativos. En este ejemplo se muestran las diferencias entre Windows 10 y Windows 11 con el mismo dispositivo de almacenamiento. Para los valores de PhysicalBytesPerSectorForAtomicity
y PhysicalBytesPerSectorForPerformance
, Windows 10 muestra 4 KB y Windows 11 muestra 16 KB.
Salida de ejemplo de fsutil fsinfo sectorinfo <volume pathname>
Windows 10 | Windows 11 |
---|---|
LogicalBytesPerSector : 512 |
LogicalBytesPerSector : 512 |
PhysicalBytesPerSectorForAtomicity : 4096 |
PhysicalBytesPerSectorForAtomicity : 16384 |
PhysicalBytesPerSectorForPerformance : 4096 |
PhysicalBytesPerSectorForPerformance : 16384 |
FileSystemEffectivePhysicalBytesPerSectorForAtomicity : 4096 |
FileSystemEffectivePhysicalBytesPerSectorForAtomicity : 4096 |
Device Alignment : Aligned (0x000) |
Device Alignment : Aligned (0x000) |
Partition alignment on device : Aligned (0x000) |
Partition alignment on device : Aligned (0x000) |
No Seek Penalty |
No Seek Penalty |
Trim Supported |
Trim Supported |
Not DAX capable |
Not DAX capable |
Not Thinly-Provisioned |
Not Thinly-Provisioned |
Contenido relacionado
- Tipos de almacenamiento de SQL Server para archivos de datos
- KB3009974: CORRECCIÓN: sincronización lenta cuando los discos tienen diferentes tamaños de sector para los archivos de registro de réplica principal y secundaria en el GRUPO de disponibilidad de SQL Server y entornos de logshipping
- SQL Server LocalDB