세이박스

SQL 2000 Server 서비스 팩3,4 설치시 '스크립트 실행 중 오류 발생'

데이타베이스

SQL 2000 Server 서비스 팩3,4 설치시 오류 대처방법

스크립트 실행 중 오류 발생 '80sp1-tools.sql (1)'



1. 쿼리분석기로 SQL Server 에 접속한다.


2. DBCC CHECKDB('dbname', NOINDEX) 로 지정한 데이터베이스에서 모든 개체의 할당과 구조적 무결성을 검사한다.

NOINDEX - 시스템 테이블이 아닌 테이블의 클러스터되지 않은 인덱스를 검사하지 않도록 지정한다. NOINDEX는 사용자 정의 테이블의 클러스터되지 않은 인덱스를 검사하지 않으므로 전체 실행 시간이 줄어든다. DBCC CHECKDB에서 모든 시스템 테이블 인덱스를 검사하므로 NOINDEX는 시스템 테이블에 어떤 영향도 주지 않는다.

-------------------------------------
NOINDEX 에 쓰일 수 있는 다른 옵션들 ↓

REPAIR_ALLOW_DATA_LOSS - REPAIR_REBUILD에서 수행하는 모든 복구 작업을 수행하며 할당 오류, 구조적 행 오류나 페이지 오류, 손상된 텍스트 개체 삭제를 수정하기 위한 행과 페이지의 할당 및 할당 취소가 포함된다. 이러한 복구를 할 경우 일부 데이터가 손실될 수 있다. 복구 작업은 사용자가 변경 사항을 롤백할 수 있도록 사용자 트랜잭션 내에서 수행된다. 복구가 롤백되어도 데이터베이스에는 오류가 그대로 포함되므로 백업에서 데이터베이스를 복원해야 한다. 제공된 복구 수준 때문에 오류 복구를 생략한 경우 해당 복구에 종속적인 모든 복구도 생략된다. 복구를 완료한 후 데이터베이스를 백업한다.

REPAIR_FAST - 클러스터되지 않은 인덱스의 별도 키를 복구하는 것과 같이 사소하고 시간이 소요되지 않는 복구 작업을 수행한다. 이러한 복구는 데이터 손실의 위험 없이 빨리 실행할 수 있다.

REPAIR_REBUILD - REPAIR_FAST에서 이루어지는 모든 복구 작업을 수행하고 인덱스 다시 작성과 같이 시간이 소요되는 복구를 포함한다. 이러한 복구는 데이터 손실의 위험 없이 실행할 수 있다.
-------------------------------------


3. 검사하여 오류가 발생하는 데이터베이스를 위의 옵션으로 적절히 사용하여 복구한다.


4. 이때 단일사용자 모드로 설정해야 한다.


sp_dboption dbname, single, true


5. 복구되면 단일사용자 모드 해제한다.


sp_dboption dbname, single, false


6. 서비스 팩을 다시 설치한다.