DBCC CHECKDB SQL Server 데이터베이스 손상 문제 해결
Resumen: DBCC CHECKDB, DBCC, 데이터베이스 복구, 데이터베이스, 손상된 데이터베이스
Este artículo se aplica a
Este artículo no se aplica a
Este artículo no está vinculado a ningún producto específico.
No se identifican todas las versiones del producto en este artículo.
Síntomas
문제: MS SQL Server 데이터베이스가 손상되었으며 안정성과 일관성을 유지하기 위해 복구해야 합니다.
Causa
MS SQL Server 데이터베이스, 로그 및 애플리케이션 파일에 대한 소프트웨어 손상.
Resolución
DBCC는 Microsoft SQL Server 데이터베이스를 확인하고 복구하도록 설계된 Microsoft SQL Server의 기본 툴입니다. 이 문서에서는 데이터베이스 논리적 및 물리적 무결성을 확인하는 DBCC CHECKDB 명령 및 옵션에 대해 설명합니다.
DBCC CHECKDB(Transact-SQL):
DBCC CHECKDB를 실행하는 단계:
- SQL Server Studio Management 열기
- 쿼리 창을 엽니다.
- "DBCC CHECKDB(Database Name)"를 입력합니다.

4. 쿼리 결과 하단 부근에서 할당 및 정합성 보장 오류를 확인합니다.
5. 결과에 할당 및 정합성 오류가 나타나는 경우 데이터베이스를 백업에서 복원하거나 DBCC CHECKDB를 사용하여 데이터베이스 복구를 수행해야 합니다.
DBCC 복구 옵션
- REPAIR_REBUILD: 아래 명령을 실행하면 데이터베이스가 복구를 허용하는 모드로 전환됩니다.
USE Master; GO ALTER DATABASE TSQL2012 SET SINGLE_USER WITH ROLLBACK IMMEDIATE; GO DBCC CHECKDB (TSQL2012, REPAIR_REBUILD) GO ALTER DATABASE TSQL2012 SET MULTI_USER; GO
아래 명령을 복사하여 올바른 데이터베이스 이름을 입력하는 쿼리 세션에 붙여 넣습니다.
--Command below performs a Database repair not allowing Data loss USE Master; GO ALTER DATABASE TSQL2012 SET SINGLE_USER WITH ROLLBACK IMMEDIATE; GO DBCC CHECKDB (TSQL2012,REPAIR_REBUILD) GO ALTER DATABASE TSQL2012 SET MULTI_USER; GO
2. REPAIR_ALLOW_DATA_LOSS: 아래 명령은 데이터베이스 복구를 수행하며 데이터 손실로 인해 복구 프로세스를 완료할 수 있습니다.
--Command below performs a database repair that may result in data loss, --replace TSQL2012 with the database name of database being repaired USE Master GO ALTER DATABASE TSQL2012 SET SINGLE_USER WITH ROLLBACK IMMEDIATE GO DBCC CHECKDB (TSQL2012, REPAIR_ALLOW_DATA_LOSS) GO ALTERDATABASE TSQL2012 SET MULTI_USER GO
아래 명령을 복사하여 올바른 데이터베이스 이름을 입력하는 쿼리 세션에 붙여 넣습니다.
아래 명령은 데이터베이스 물리적 디스크 공간이 부족할 경우 유용합니다.
--Command below estimates the size TEMPDB must be to complete the DBCC CHECKDB job USE Master; GO ALTER DATABASE TSQL2012 SET SINGLE_USER WITH ROLLBACK IMMEDIATE; GO DBCC CHECKDB (TSQL2012, REPAIR_REBUILD) WITH ESTIMATEONLY; GO ALTER DATABASE TSQL2012 SET MULTI_USER GO
아래 명령을 복사하여 올바른 데이터베이스 이름을 입력하는 쿼리 세션에 붙여 넣습니다.
--Command below estimates the size TEMPDB must be to complete the DBCC CHECKDB job USE Master; GO ALTER DATABASE TSQL2012 SET SINGLE_USER WITH ROLLBACK IMMEDIATE; GO DBCC CHECKDB (TSQL2012, REPAIR_REBUILD) WITH ESTIMATEONLY; GO ALTER DATABASE TSQL2012 SET MULTI_USER GO
--Command below will run DBCC CHECKDB without using TEMDB and creating a DB --snapshot. When not using TEMPDB with a DB snapshot all data will be checked in -- the live database not not a database snapshot. USE Master; GO ALTER DATABASE TSQL2012 SET SINGLE_USER WITH ROLLBACK IMMEDIATE; GO DBCC CHECKDB (TSQL2012, REPAIR_REBUILD) WITH TABLOCK; GO ALTER DATABASE TSQL2012 SET MULTI_USER GO
아래 명령을 복사하여 쿼리 세션에 붙여 넣고 올바른 데이터베이스 이름을 입력합니다.
--Command below will run DBCC CHECKDB without using TEMPDB and creating a DB --snapshot. When not using TEMPDB with a DB snapshot all data will be checked in ---the live database not a database snapshot. USE Master; GO ALTER DATABASE TSQL2012 SET SINGLE_USER WITH ROLLBACK IMMEDIATE; GO DBCC CHECKDB (TSQL2012, REPAIR_REBUILD) WITH TABLOCK; GO ALTER DATABASE TSQL2012 SET MULTI_USER GO

Productos afectados
Dell Quickstart Data Warehouse Appliance, Prosupport for Microsoft SoftwarePropiedades del artículo
Número del artículo: 000134529
Tipo de artículo: Solution
Última modificación: 18 mar. 2025
Versión: 5
Encuentre respuestas a sus preguntas de otros usuarios de Dell
Servicios de soporte
Compruebe si el dispositivo está cubierto por los servicios de soporte.