반응형

언젠가 SQL Server 2000에 대하여 다음과 같은 질문을 받은 적이 있습니다. DBCC 명령어를 실행하였는데 실행했다는 메시지만 나오니까 조금 황당했었나 봅니다. SQL Server 2005에서는 확실하게 결과를 제공하네요. 기뻐하세요. ㅋㅋㅋ


[질문]
DBCC SHOWCONTIG 를 실행했는데 결과가 나오지 않는데 이유가 뭘까요?
테이블에 인덱스가 없어서인가요?

[답변]
테이블에 데이터가 없으면 결과가 나오지 않습니다. 인덱스가 있건 없건 상관없이 데이터가 없으면 결과 행이 반환되지 않고 데이터가 한 건이라도 있으면 결과 행들이 반환됩니다.

SQL Server 2000에서는 다음과 같이 테이블에 행이 한 건도 없으면 "DBCC 실행이 완료되었습니다. DBCC에서 오류 메시지를 출력하면 시스템 관리자에게 문의하십시오." 라는 메시지만 반환되고 결과 행은 반환되지 않았습니다.

USE tempdb

GO

 

CREATE TABLE t1 (c1 int PRIMARY KEY)

GO

 

DBCC SHOWCONTIG ('t1')

GO

/*

DBCC 실행이완료되었습니다. DBCC에서오류메시지를출력하면시스템관리자에게문의하십시오.

*/

 

 

 

SQL Server 2005에서는테이블에데이터가없어도결과행이반환되는군요.

이제헷갈리는분들이줄어들겠네요. ^ ^

 

 

USE tempdb

GO

 

CREATE TABLE t1 (c1 int PRIMARY KEY)

GO

 

DBCC SHOWCONTIG ('t1')

GO

/* 결과

 

DBCC SHOWCONTIG() 't1' 테이블을검색하는중...

테이블: 't1'(165575628); 인덱스ID: 1, 데이터베이스ID: 2

TABLE 수준검색을수행했습니다.

- 검색한페이지................................: 0

- 검색한익스텐트..............................: 0

- 익스텐트스위치..............................: 0

- 익스텐트당평균페이지수........................: 0.0

- 검색밀도[최적:실제].......: 100.00% [0:0]

- 논리검색조각화상태..................: 0.00%

- 익스텐트검색조각화상태...................: 0.00%

- 페이지당사용가능한평균바이트수.....................: 0.0

- 평균페이지밀도(전체).....................: 0.00%

DBCC 실행이완료되었습니다. DBCC에서오류메시지를출력하면시스템관리자에게문의하십시오.

 

*/

 

반응형

+ Recent posts