Поделиться через


Ошибки 17053 и 926 могут быть зарегистрированы в журнале ошибок после выполнения команды DBCC в SQL Server

В этой статье приводится сообщение об ошибках 17053 и ошибках 926 , которые могут отображаться при выполнении DBCC команды в SQL Server, а также приводятся инструкции по устранению неполадок с ошибками базовой операционной системы 112, 665 или 1450.

Исходная версия продукта: SQL Server
Исходный номер базы знаний: 926070

Симптомы

Выполните одну из следующих DBCC команд в Microsoft SQL Server:

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

Команда может завершиться ошибкой, и вы можете получить ошибки 17053, 926 и другие сообщения об ошибках в выходных данных клиентского приложения и журнал ошибок SQL Server.

ошибки

Ошибка 926 указывает, что база данных помечена как подозрительная. Это сообщение об ошибке ссылается на внутренний моментальный снимок, а не на фактическую базу данных. Состояние базы данных находится в сети, и база данных работает.

Ошибка 17053 — это ошибка SQL Server, используемая для раскрытия базовой ошибки ОС. Он содержит имя файлов, используемых для внутреннего моментального снимка. Сообщение об ошибке указывает реальную причину проблемы.

В следующих разделах показаны подробные сообщения об ошибках, которые вы можете получить. Дополнительные сведения об этих сообщениях об ошибках см. в разделе "Дополнительные сведения ".

Ошибка ОС 112 — недостаточно места на диске

Сообщения об ошибках, отображающие базовую ошибку ОС 112, "Недостаточно места на диске" может быть зарегистрировано в журнале ошибок 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.

В некоторых случаях может появиться следующее сообщение об ошибке:

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.

В таких случаях клиентское приложение, выполняющее DBCC команды, может отображать следующие записи в результирующем наборе приложений:

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.

Если внутренний моментальный снимок базы данных, который DBCC не удалось создать команды, вы получите следующие ошибки в клиентском приложении, которые выдает DBCC команды:

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.

Ошибка ОС 665 — ограничение файловой системы, ошибка ОС 1450 -недостаточно системных ресурсов

Если внутренний моментальный снимок базы данных выполняется в 1450 или 665 ошибках, ниже приведена типичная последовательность, которую можно заметить в журнале ошибок 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.

Дополнительная информация

  • Эти сообщения об ошибках относятся к разным активным сеансам (SPID). SPID 54 — это идентификатор сеанса DBCC , выполняющий команду. SPID 53 — это идентификатор сеанса, который выполняет транзакцию пользователя.
  • Эти сообщения об ошибках указывают на перекат транзакций и откат транзакций. Сообщения создаются на начальном DBCC этапе выполнения команды. При выполнении DBCC команды DBCC команда сначала пытается создать внутренний моментальный снимок. При создании моментального снимка восстановление базы данных выполняется для этого моментального снимка, чтобы обеспечить согласованное состояние моментального снимка. Сообщения об ошибках отражают это действие.
  • Внутренний моментальный снимок базы данных использует то же имя, что и фактическая база данных. Таким образом, эти сообщения об ошибках содержат имя базы данных.
  • Несмотря на то, что сообщение журнала ошибок указывает, что DBCC CHECKDB завершено, оно должно рассматриваться как ненормальное завершение. Необходимо повторно запустить DBCC CHECKDB команду, чтобы разрешить ей выполняться, пока она не завершится, чтобы оценить согласованность базы данных. В таких ситуациях обратитесь к выходным данным DBCC CHECKDB команды, отправляемой клиенту, чтобы понять, какие объекты были проверены и сообщили о очистке.

Причина

В SQL Server DBCC команды используют моментальные снимки базы данных только для чтения. Дополнительные сведения см. в статье о создании внутренней базы данных моментальных снимков DBCC CHECKDB, начиная с SQL Server 2014. Эти моментальные снимки базы данных создаются на том же диске, где находятся соответствующие файлы данных базы данных. Моментальные снимки базы данных увеличиваются в пропорции к изменениям данных в базе данных, в которой DBCC выполняются команды. Если транзакционная активность продолжается в пользовательской базе данных, внутренние моментальные снимки базы данных, созданные DBCC командами, могут продолжать расти и могут столкнуться с проблемами с местом на диске. См. сведения о требованиях к месту на диске для моментальных снимков базы данных. Так как файлы моментальных снимков базы данных и фактические файлы данных находятся на одном диске, оба набора файлов конкурируют за дисковое пространство. В этом случае транзакции приложений или пользовательские транзакции задаются предпочтениями. Внутренний моментальный снимок базы данных, используемый как DBCC подозреваемый. DBCC Поэтому команды создают ошибки и не могут завершиться.

Запись во внутренний моментальный снимок базы данных может завершиться сбоем из-за нехватки места на диске. Другие проблемы, такие как ошибка ОС 665, также могут привести к аналогичным проблемам и отрисовке внутреннего моментального снимка базы данных в подозрительном состоянии.

Решение

Используйте раздел решения, соответствующий одной из проблем, которые могут возникнуть при счетчике:

Ошибка ОС 112

Чтобы устранить ошибку ОС 112, которая возникла внутри ошибки SQL Server 17053, используйте один или несколько из следующих вариантов:

  • Свободное место на диске, на котором находится база данных, чтобы DBCC CHECKDB создать моментальный снимок базы данных.
  • Запустите DBCC CHECKDB WITH TABLOCK , чтобы предотвратить создание внутреннего моментального снимка.
  • Используйте технологию репликации, например группы доступности, доставку журналов, резервное копирование и восстановление или Репликация SQL Server и создайте копию базы данных на другом сервере. Затем выполните DBCC CHECKDB команду на этом сервере.

Ошибки ОС 665 и 1450

Чтобы устранить ошибки ОС 665 или 1450, вызванные ошибкой 17053, используйте одно или несколько решений, предоставляемых в ошибках ОС 665 и 1450, для файлов SQL Server.