SQL Server DBCC 명령을 실행한 후 오류 17053 및 926이 오류 로그에 기록될 수 있습니다.

이 문서에서는 SQL Server 명령을 실행할 DBCC 때 보고될 수 있는 오류 17053오류 926을 소개하고 기본 OS(운영 체제) 오류 112, 665 또는 1450의 문제 해결 단계를 제공합니다.

원래 제품 버전: SQL Server
원본 KB 번호: 926070

증상

Microsoft SQL Server 다음 DBCC 명령 중 하나를 실행합니다.

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

명령이 실패할 수 있으며 클라이언트 애플리케이션 출력 및 SQL Server 오류 로그에서 오류 17053, 926 및 기타 오류 메시지가 발생할 수 있습니다.

오류

오류 926은 데이터베이스가 용의자로 표시되었음을 나타냅니다. 이 오류 메시지는 실제 데이터베이스가 아닌 내부 스냅샷 나타냅니다. 데이터베이스의 상태 온라인이며 데이터베이스가 작동합니다.

오류 17053은 기본 OS 오류를 공개하는 데 사용되는 SQL Server 오류입니다. 내부 스냅샷 사용되는 파일의 이름을 포함합니다. 오류 메시지는 문제의 실제 이유를 나타냅니다.

다음 섹션에서는 얻을 수 있는 자세한 오류 메시지를 보여 드립니다. 이러한 오류 메시지에 대한 자세한 내용은 자세한 정보 섹션을 참조하세요.

OS 오류 112 - 디스크 공간이 부족합니다.

기본 OS 오류 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.

OS 오류 665 - 파일 시스템 제한, OS 오류 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 는 명령을 실행하는 세션 ID입니다 DBCC . SPID 53 는 사용자 트랜잭션을 실행하는 세션 ID입니다.
  • 이러한 오류 메시지는 트랜잭션을 롤백하고 트랜잭션을 롤백함을 나타냅니다. 메시지는 명령 실행의 DBCC 초기 단계에서 생성됩니다. 명령을 DBCC 실행할 DBCC 때 명령은 먼저 내부 스냅샷 만들려고 시도합니다. 스냅샷 만들면 이 스냅샷 대해 데이터베이스 복구가 수행되어 스냅샷 일관된 상태로 전환합니다. 오류 메시지는 이 활동을 반영합니다.
  • 내부 데이터베이스 스냅샷 실제 데이터베이스와 동일한 이름을 사용합니다. 따라서 이러한 오류 메시지에는 데이터베이스 이름이 포함됩니다.
  • 오류 로그 메시지가 완료되었음을 DBCC CHECKDB 나타내더라도 비정상적인 종료로 간주되어야 합니다. 데이터베이스의 일관성을 DBCC CHECKDB 평가하기 위해 완료될 때까지 명령을 실행할 수 있도록 명령을 다시 실행해야 합니다. 이러한 상황에서는 클라이언트로 다시 전송된 명령의 DBCC CHECKDB 출력을 참조하여 클린 확인 및 보고된 개체를 이해합니다.

원인

SQL Server DBCC 명령은 내부 읽기 전용 데이터베이스 스냅샷을 사용합니다. 자세한 내용은 DBCC CHECKDB가 SQL Server 2014부터 내부 스냅샷 데이터베이스를 만드는 방법을 참조하세요. 이러한 데이터베이스 스냅샷은 해당 데이터베이스 데이터 파일이 있는 동일한 드라이브에 만들어집니다. 데이터베이스 스냅샷은 명령이 DBCC 실행되는 데이터베이스의 데이터 변경 내용에 비례하여 증가합니다. 사용자 데이터베이스에서 트랜잭션 작업이 계속되면 명령으로 DBCC 만든 내부 데이터베이스 스냅샷이 계속 증가할 수 있으며 디스크 공간 문제가 발생할 수 있습니다. 데이터베이스 스냅샷에 대한 디스크 공간 요구 사항을 참조하세요. 데이터베이스 스냅샷 파일과 실제 데이터 파일은 동일한 디스크 드라이브에 있으므로 두 파일 집합 모두 디스크 공간을 놓고 경쟁합니다. 이 경우 애플리케이션 트랜잭션 또는 사용자 트랜잭션에 기본 설정이 지정됩니다. 에서 사용하는 DBCC 내부 데이터베이스 스냅샷 용의자로 표시됩니다. 따라서 DBCC 명령은 오류를 생성하고 완료할 수 없습니다.

디스크 공간이 부족하여 내부 데이터베이스 스냅샷 쓰기가 실패할 수 있습니다. OS 오류 665와 같은 다른 문제로 인해 비슷한 문제가 발생할 수 있으며 내부 데이터베이스 스냅샷 의심 상태로 렌더링할 수도 있습니다.

해결 방법

대응했을 수 있는 문제 중 하나에 해당하는 해결 섹션을 사용합니다.

OS 오류 112

SQL Server 오류 17053 내에서 발생한 OS 오류 112를 resolve 하려면 다음 대안 중 하나 이상을 사용합니다.

  • 데이터베이스 스냅샷 만들 수 있도록 데이터베이스가 DBCC CHECKDB 있는 드라이브의 사용 가능한 디스크 공간입니다.
  • 내부 스냅샷 만들지 않도록 WITH TABLOCK을 실행 DBCC CHECKDB 합니다.
  • 가용성 그룹, 로그 전달, 백업/복원 또는 SQL Server 복제 같은 복제 기술을 사용하고 다른 서버에 데이터베이스 복사본을 만듭니다. 그런 다음 해당 서버에서 DBCC CHECKDB 명령을 실행합니다.

OS 오류 665 및 1450

오류 17053 내에서 발생한 OS 오류 665 또는 1450을 resolve 위해 OS 오류 665 및 1450에 제공된 솔루션 중 하나 이상을 사용하여 SQL Server 파일에 대해 보고합니다.