Los errores 17053 y 926 se pueden registrar en el registro de errores después de ejecutar un comando DBCC en SQL Server

En este artículo se presentan los errores 17053 y 926 que se pueden notificar al ejecutar un DBCC comando en SQL Server y se proporcionan los pasos para solucionar problemas de los errores 112, 665 o 1450 del sistema operativo subyacente.

Versión del producto original: SQL Server
Número de KB original: 926070

Síntomas

Ejecute uno de los siguientes DBCC comandos en Microsoft SQL Server:

  • DBCC CHECKDB
  • DBCC CHECKALLOC
  • DBCC CHECKTABLE
  • DBCC CHECKCATALOG
  • DBCC CHECKFILEGROUP

El comando puede producir un error y puede obtener los errores 17053, 926 y otros mensajes de error en la salida de la aplicación cliente y el registro de errores SQL Server.

Errores

El error 926 indica que la base de datos está marcada como sospechosa. Este mensaje de error hace referencia a la instantánea interna y no a la base de datos real. El estado de la base de datos está en línea y la base de datos es funcional.

El error 17053 es un error SQL Server que se usa para revelar el error del sistema operativo subyacente. Contiene el nombre de los archivos que se usan para la instantánea interna. El mensaje de error indica el motivo real del problema.

En las secciones siguientes se muestran los mensajes de error detallados que puede obtener. Para obtener más información sobre estos mensajes de error, consulte la sección Más información .

Error 112 del sistema operativo: no hay suficiente espacio en disco

Los mensajes de error que muestran el error 112 del sistema operativo subyacente, "No hay suficiente espacio en el disco", se pueden registrar en el registro de errores de SQL Server.

2022-09-01 17:33:24.48 spid54 35 transactions rolled forward in database 'ProductionData' (11). This is an informational message only. No user action is required.
2022-09-01 17:35:39.16 spid54 4 transactions rolled back in database 'ProductionData' (11). This is an informational message only. No user action is required.
2022-09-01 17:36:31.76 spid53 Error: 17053, Severity: 16, State: 1.
2022-09-01 17:36:31.76 spid53 E:\SQLData\ProductionData.mdf:MSSQL_DBCC11: Operating system error 112(There is not enough space on the disk.) encountered.
2022-09-01 17:36:31.76 spid53 Error: 17053, Severity: 16, State: 1.
2022-09-01 17:36:31.76 spid53 E:\SQLData\ProductionData.mdf:MSSQL_DBCC11: Operating system error 112(There is not enough space on the disk.) encountered.
2022-09-01 17:36:31.77 spid53 Error: 17053, Severity: 16, State: 1.
2022-09-01 17:36:31.77 spid53 E:\SQLData\ProductionData.mdf:MSSQL_DBCC11: Operating system error 112(There is not enough space on the disk.) encountered.
2022-09-01 17:36:31.80 spid54 DBCC CHECKDB (ProductionData) executed by DomainName\UserName found 0 errors and repaired 0 errors. Elapsed time: 0 hours 3 minutes 19 seconds.
2022-09-01 17:36:31.90 spid53 Error: 17053, Severity: 16, State: 1.
2022-09-01 17:36:31.90 spid53 E:\SQLData\ProductionData.mdf:MSSQL_DBCC11: Operating system error 112(There is not enough space on the disk.) encountered.
2022-09-01 17:36:31.90 spid53 Error: 17053, Severity: 16, State: 1.
2022-09-01 17:36:31.90 spid53 E:\SQLData\ProductionData.mdf:MSSQL_DBCC11: Operating system error 112(There is not enough space on the disk.) encountered.
2022-09-01 17:36:32.30 spid54 Error: 926, Severity: 21, State: 6.
2022-09-01 17:36:32.30 spid54 Database 'ProductionData' cannot be opened. It has been marked SUSPECT by recovery. See the SQL Server errorlog for more information.

En algunos casos, puede recibir el siguiente mensaje de error:

Msg 5128, Level 17, State 2, Line 6
Write to sparse file `E:\CreateFile\ProductionData.mdf:MSSQL_DBCC11` failed due to lack of disk space.

En estos casos, la aplicación cliente que ejecuta los DBCC comandos puede mostrar las siguientes entradas en el conjunto de resultados de la aplicación:

DBCC results for 'ProductionData'.
CHECKDB found 0 allocation errors and 0 consistency errors in database 'ProductionData'.
Msg 926, Level 21, State 6, Line 1
Database 'ProductionData' cannot be opened. It has been marked SUSPECT by recovery. See the SQL Server errorlog for more information.
Msg 0, Level 20, State 0, Line 0
A severe error occurred on the current command. The results, if any, should be discarded.

Si no se pudo crear la instantánea de base de datos interna que usan los DBCC comandos, recibirá los siguientes errores en la aplicación cliente que emite los DBCC comandos:

Msg 1823, Level 16, State 1, Line 1
A database snapshot cannot be created because it failed to start.

Msg 7928, Level 16, State 1, Line 1
The database snapshot for online checks could not be created. Either the reason is given in a previous error or one of the underlying volumes does not support sparse files or alternate streams. Attempting to get exclusive access to run checks offline.

Msg 5030, Level 16, State 12, Line 1
The database could not be exclusively locked to perform the operation.

Msg 7926, Level 16, State 1, Line 1
Check statement aborted. The database could not be checked as a database snapshot could not be created and the database or table could not be locked. See Books Online for details of when this behavior is expected and what workarounds exist. Also see previous errors for more details.

Msg 5106, Level 17, State 2, Line 1
Write to sparse file 'E:\Data\LogFUllTest_Data.mdf:MSSQL_DBCC10' failed due to lack of disk space.

Error del sistema operativo 665: limitación del sistema de archivos, error del sistema operativo 1450 :recursos del sistema insuficientes

Si la instantánea de base de datos interna se ejecuta en errores 1450 o 665, esta es una secuencia típica que puede observar en el registro de errores de SQL Server:

2008-05-21 13:03:45.67 spid500 272 transactions rolled forward in database 'MYDATABASE' (12). This is an informational message only. No user action is required.
2008-05-21 13:03:45.84 spid500 2 transactions rolled back in database 'MYDATABASE' (12). This is an informational message only. No user action is required.
2008-05-21 13:03:46.97 spid500 Recovery completed for database MYDATABASE (database ID 12) in 5 second(s) (analysis 602 ms, redo 3954 ms, undo 105 ms.) This is an informational message only. No user action is required.
2008-05-21 13:36:48.25 spid480 The operating system returned error 665(The requested operation could not be completed due to a file system limitation) to SQL Server during a write at offset 0x00001b35138000 in file 'I:\MSSQL\DATA\mscrm_data1.ndf:MSSQL_DBCC12'.
2008-05-21 13:36:48.26 spid480 Error: 17053, Severity: 16, State: 1.
2008-05-21 13:36:48.26 spid480 C:\MSSQL\DATA\MyDatabase.mdf:MSSQL_DBCC12: Operating system error 665(The requested operation could not be completed due to a file system limitation) encountered.
2008-05-21 13:36:48.27 spid480 The operating system returned error 665(The requested operation could not be completed due to a file system limitation) to SQL Server during a write at offset 0x00001b35138000 in file 'C:\MSSQL\DATA\MyDatabase.mdf:MSSQL_DBCC12'.
2008-05-21 13:36:48.27 spid480 Error: 17053, Severity: 16, State: 1.
2008-05-21 13:36:48.27 spid480 C:\MSSQL\DATA\MyDatabase.mdf:MSSQL_DBCC12: Operating system error 665(The requested operation could not be completed due to a file system limitation) encountered.
2008-05-21 13:36:48.37 spid480 The operating system returned error 665(The requested operation could not be completed due to a file system limitation) to SQL Server during a write at offset 0x00001b35138000 in file 'C:\MSSQL\DATA\MyDatabase.mdf:MSSQL_DBCC12'.
2008-05-21 13:36:48.37 spid480 Error: 17053, Severity: 16, State: 1.
2008-05-21 13:36:48.37 spid480 C:\MSSQL\DATA\MyDatabase.mdf:MSSQL_DBCC12: Operating system error 665(The requested operation could not be completed due to a file system limitation) encountered.
2008-05-21 13:36:48.37 spid500 DBCC CHECKDB (MYDATABASE) executed by DomainName\UserName found 0 errors and repaired 0 errors. Elapsed time: 0 hours 33 minutes 16 seconds. Internal database snapshot has split point LSN = 0000759c:002547bc:0040 and first LSN = 0000759c:0023696d:0049. This is an informational message only. No user action is required.

Más información

  • Estos mensajes de error proceden de diferentes sesiones activas (SPID). SPID 54 es el identificador de sesión que ejecuta el DBCC comando. SPID 53 es el identificador de sesión que ejecuta una transacción de usuario.
  • Estos mensajes de error indican transacciones graduales y reversión de transacciones. Los mensajes se generan durante la fase inicial de la ejecución del DBCC comando. Al ejecutar un DBCC comando, el DBCC comando primero intenta crear una instantánea interna. Cuando se crea la instantánea, la recuperación de la base de datos se realiza en esta instantánea para que la instantánea entre en un estado coherente. Los mensajes de error reflejan esta actividad.
  • La instantánea de base de datos interna usa el mismo nombre que la base de datos real. Por lo tanto, estos mensajes de error contienen el nombre de la base de datos.
  • Aunque el mensaje de registro de errores indica que DBCC CHECKDB se completó, debe considerarse como una terminación anómala. Debe volver a ejecutar el DBCC CHECKDB comando para permitir que se ejecute hasta que se complete para evaluar la coherencia de la base de datos. En estas situaciones, consulte la salida del DBCC CHECKDB comando enviado de vuelta al cliente para comprender qué objetos se comprobaron y notificaron limpios.

Causa

En SQL Server, DBCC los comandos usan instantáneas internas de base de datos de solo lectura. Para obtener más información, consulte Cómo DBCC CHECKDB crea una base de datos de instantáneas interna a partir de SQL Server 2014. Estas instantáneas de base de datos se crean en la misma unidad donde se encuentran los archivos de datos de base de datos correspondientes. Las instantáneas de base de datos aumentan en proporción a los cambios de datos en la base de datos donde DBCC se ejecutan los comandos. Si la actividad transaccional continúa en la base de datos de usuario, las instantáneas internas de base de datos creadas por DBCC los comandos pueden seguir creciendo y pueden producirse problemas de espacio en disco. Consulte Requisitos de espacio en disco para instantáneas de base de datos. Dado que los archivos de instantáneas de base de datos y los archivos de datos reales residen en la misma unidad de disco, ambos conjuntos de archivos compiten por espacio en disco. En este caso, se prefieren las transacciones de aplicación o las transacciones de usuario. La instantánea de base de datos interna usada por DBCC se marca como sospechosa. Por lo tanto, los DBCC comandos generan errores y no se pueden completar.

Las escrituras en la instantánea de base de datos interna pueden producir un error debido a que no hay suficiente espacio en disco. Otros problemas, como el error 665 del sistema operativo, también pueden provocar problemas similares y representar la instantánea de base de datos interna en un estado sospechoso.

Solución

Use la sección de resolución correspondiente a uno de los problemas que puede haber corregido:

Error 112 del sistema operativo

Para resolver el error 112 del sistema operativo que se genera dentro de SQL Server error 17053, use una o varias de estas alternativas:

  • Espacio libre en disco en la unidad donde reside la base de datos para que DBCC CHECKDB pueda crear una instantánea de base de datos.
  • Ejecute DBCC CHECKDBWITH TABLOCK para evitar la creación de una instantánea interna.
  • Use una tecnología de replicación como grupos de disponibilidad, trasvase de registros, copia de seguridad o restauración o Replicación de SQL Server y cree una copia de la base de datos en otro servidor. A continuación, ejecute el DBCC CHECKDB comando en ese servidor.

Errores del sistema operativo 665 y 1450

Para resolver los errores del sistema operativo 665 o 1450 generados dentro del error 17053, use una o varias de las soluciones proporcionadas en los errores del sistema operativo 665 y 1450 se notifican para los archivos SQL Server.