적용 대상:SQL Server
세부 정보
항목 | 값 |
---|---|
제품 이름 | SQL 서버 |
이벤트 ID | 8992 |
이벤트 원본 | MSSQLSERVER |
구성 요소 | SQLEngine |
심볼 이름 | DBCC3_CHECK_CATALOG |
메시지 텍스트 | 카탈로그 Msg 오류 수준 수준 상태: MESSAGE를 확인합니다. |
참고 항목
8992 오류 메시지는 실제 불일치에 대한 다른 특정 메시지(3851~3858)를 참조합니다.
설명
DBCC CHECKCATALOG
또는 DBCC CHECKDB
지정된 개체에 대한 시스템 메타데이터 테이블에서 불일치를 발견했습니다. 즉, 기록된 개체 ID와 오류 메시지에 지정된 개체 간에 불일치가 있습니다.
이 오류는 시스템 메타데이터에서 불일치를 만드는 방식으로 하나 이상의 시스템 테이블을 수동으로 업데이트할 때 발생할 수 있습니다. 예를 들어 다음과 같은 sysobjects
sysindexes
다른 테이블에서 연결된 행을 제거하지 않고 테이블에서 개체 syscolumns
를 수동으로 삭제할 수 있습니다.
이 오류는 SQL Server 2000(8.x)에서 이후 버전의 SQL Server로 업그레이드된 데이터베이스에 대해 실행할 DBCC CHECKDB
때 발생할 수 있습니다. SQL Server 2000(8.x) DBCC CHECKDB
에서는 기능이 포함되지 DBCC CHECKCATALOG
않았으므로 SQL Server 2000(8.x)의 데이터베이스에 대해 특별히 실행되지 않는 한 DBCC CHECKCATALOG
업그레이드 전에 오류가 catch되지 않습니다.
오류 8992와 함께 다음 오류가 표시될 수 있습니다.
메시지 아이디 | 메시지 내용 |
---|---|
3851 |
An invalid row (%ls) was found in the system table sys.%ls%ls. |
3852 |
Row (%ls) in sys.%ls%ls does not have a matching row (%ls) in sys.%ls%ls. |
3853 |
Attribute (%ls) of row (%ls) in sys.%ls%ls does not have a matching row (%ls) in sys.%ls%ls. |
3854 |
Attribute (%ls) of row (%ls) in sys.%ls%ls has a matching row (%ls) in sys.%ls%ls that is invalid. |
3855 |
Attribute (%ls) exists without a row (%ls) in sys.%ls%ls. |
3856 |
Attribute (%ls) exists but should not for row (%ls) in sys.%ls%ls. |
3857 |
The attribute (%ls) is required but is missing for row (%ls) in sys.%ls%ls. |
3858 |
The attribute (%ls) of row (%ls) in sys.%ls%ls has an invalid value. |
사용자 작업
지정한 개체 삭제 및 다시 만들기
가능한 경우 지정된 개체를 삭제하고 다시 만드십시오. 예를 들어 개체가 저장 프로시저 또는 사용자 정의 형식인 경우 개체를 다시 만들면 문제가 해결될 수 있습니다.
백업에서 복원
문제가 하드웨어와 관련이 없고 알려진 정리 백업을 사용할 수 있는 경우 백업에서 데이터베이스를 복원합니다. 이 작업은 백업에 메타데이터 오류가 포함되지 않은 경우에만 적용됩니다.
새 데이터베이스로 데이터 내보내기
백업에 메타데이터 불일치도 포함된 경우 새 데이터베이스를 만들고 기존 데이터베이스의 내용을 새 데이터베이스로 내보내야 합니다.
DBCC CHECKDB에서 이 오류를 복구할 수 없습니다.
이 오류는 복구할 수 없습니다. 백업에서 데이터베이스를 복원할 수 없는 경우 Microsoft 지원에 문의하세요.
시스템 테이블을 수동으로 업데이트하지 않음
시스템 테이블을 수동으로 업데이트하지 마세요. SQL Server는 시스템 데이터베이스에 대한 수동 변경을 지원하지 않습니다. SQL Server 데이터베이스에서 시스템 테이블을 업데이트하는 경우 다음 이벤트가 기록됩니다.
시스템 테이블을 수동으로 업데이트하는 경우
Msg 17659: Warning: System table ID <id> has been updated directly in database ID <id> and cache coherence may not have been maintained. SQL Server should be restarted.
수동으로 업데이트된 시스템 테이블로 데이터베이스 시작
Msg 3859: Warning: The system catalog was updated directly in database ID <id>, most recently at date_time.
시스템 테이블이 수동으로 업데이트된 후 DBCC CHECKDB 명령을 실행합니다.
Msg 3859: Warning: The system catalog was updated directly in database ID <id>, most recently at date_time.