DBCC
Ref.
[MsSQL] DBCC문 알아보기
MS-SQL은 데이터베이스 콘솔 명령어로써 DBCC문을 제공합니다.
콘솔 명령은 아래 4가지의 범주로 분류할 수 있습니다.
| 명령 범주 | 수행하는 작업 |
|---|
| 알림 | 다양한 정보를 수집하고 표시 |
| 유효성 검사 | 데이터베이스, 테이블, 인덱스, 카탈로그, 파일 그룹 또는 데이터베이스 페이지 할당에 대한 유효성 검사 |
| 유지 관리 | 데이터베이스, 인덱스 또는 파일 그룹에 대한 유지 관리 |
| 기타 | 추적 플래그 설정이나 메모리에서 DLL제거 같은 기타 작업 |
알림
| DBCC문 | 설명 |
|---|
| INPUTBUFFER | 클라이언트가 인스턴스에 마지막으로 전송한 문을 표시 |
| OPENTRAN | 트랜잭션 로그 내에서 가장 오래된 활성 트랜잭션과 가장 오래된 분산 및 비분산 복제 트랜잭션에 대한 정보를 표시 |
예) BEGIN TRAN
INSERT INTO dbo.A VALUES (4, 1, 5)
DBCC OPENTRAN;
ROLLBACK |
| OUTPUTBUFFER | 지정된 session_id의 현재 출력 버퍼를 16진수와 ASCII 형식으로 반환 |
| PROCCACHE | 프로시저 캐시에 대한 정보를 테이블 형식으로 표시 |
| SHOW_STATISTICS | 테이블 또는 인덱싱된 뷰에 대한 현재 쿼리의 최적화 통계를 표시
예) CREATE TABLE dbo.A (COL1 INT)
CREATE STATISTICS S_A ON dbo.A (COL1)
DBCC SHOW_STATISTICS("dbo.A", S_A) |
| SHOWCONTIG | 지정한 테이블이나 뷰의 데이터와 인덱스에 대한 조각화 정보를 표시 |
| SQLPERF | 모든 데이터베이스의 트랜잭션 로그 공간 사용량 통계를 제공 |
| TRACESTATUS | 추적 플래그의 상태를 표시
예) DBCC TRACESTATUS(-1)
DBCC TRACESTATUS()
| USEROPTIONS | 현재 연결에 설정된 SET옵션을 반환
예) DBCC USEROPTIONS |
유효성 검사
| DBCC문 | 설명 |
|---|
| CHECKALLOC | 디스크 공간 할당 구조의 일관성을 검사 |
예) DBCC CHECKALLOC |
| CHECKCATALOG | 카탈로그 일관성을 검사 |
| CHECKCONSTRAINTS | 테이블에서 특정 제약 조건이나 모든 제약 조건의 무결성을 검사 |
| CHECKDB | 모든 개체의 논리적 및 물리적 무결성을 검사 CHECKALLOC, CHECKTABLE, CHECKCATALOG 를 내부적으로 수행 |
| CHECKFILEGROUP | 파일 그룹에서 모든 테이블과 인덱싱된 뷰의 할당과 구조적 무결성을 검사 |
| CHECKIDENT | 지정한 테이블의 현재 ID값을 검사하고 필요에 따라 변경 |
| CHECKTABLE | 테이블 또는 인덱싱된 뷰를 구성하는 모든 페이지 및 구조의 무결성을 검사 |
유지관리
| DBCC문 | 설명 |
|---|
| CLEANTABLE | 테이블 또는 인덱싱된 뷰의 삭제된 가변 길이 열에서 공간을 반환 |
| DBREINDEX | 테이블에 대해 하나 이상의 인덱스를 다시 작성 |
| DROPCLEANBUFFERS | 버퍼 풀에서 빈 버퍼를 제거 |
| FREEPROCCACHE | 플랜 캐시에서 모든 요소를 제거 |
| INDEXDEFRAG | 테이블 또는 뷰의 인덱스를 조각 모음 |
| SHRINKDATABASE | 데이터베이스에 있는 데이터 및 로그 파일의 크기를 축소 |
| SHRINKFILE | 데이터베이스에 대헤 지정한 데이터 또는 로그 파일의 크기를 축소하거나 지정한 파일의 데이터를 같은 파일 그룹의 다른 파일로 이동하여 파일을 비우고 데이터베이스에서 제거할 수 있도록 함 |
| UPDATEUSAGE | 카탈로그 뷰의 부정확한 페이지와 행 개수를 보고하고 수정 |