http://reboot.co.kr/entry/spdboption
 

sp_dboption '디비명', '선택한 옵션', 'true'

sp_dboption '디비명', '선택한 옵션', 'false'

 

로 사용하실 수 있습니다.  TURE는 당연히 옵션을 사용한다는 것이고 FALSE는

사용 안한다는 의미겠지요. ^_^

"선택한 옵션" 부분에 아래의 옵션중 하나를 넣으시면 되지요.

이 옵션에 대한 내용을 보시면.. 아래와 같습니다. 역시나 코난이가 자주 사용하는

옵션을 설명 드리지요.

옵션설명
auto create statistics true로 설정된 경우, 쿼리 최적화에 필요한 누락된 통계가 최적화 동안 모두 자동으로 작성됩니다. 자세한 내용은 CREATE STATISTICS를 참조하십시오.
auto update statistics true로 설정된 경우, 쿼리 최적화에 필요한 오래된 통계가 최적화 동안 모두 자동으로 업데이트됩니다. 자세한 내용은 UPDATE STATISTICS를 참조하십시오.
autoclose true로 설정된 경우, 데이터베이스가 완전히 종료되며, 마지막 사용자가 로그오프한 다음에 데이터베이스의 리소스가 해제됩니다.
autoshrink true로 설정된 경우, 데이터베이스 파일이 자동 정기 축소의 후보가 됩니다.
ANSI null default true로 설정된 경우, CREATE TABLE이 열의 NULL 값 허용 여부를 결정하는 데 SQL-92 규칙을 따르게 됩니다.
ANSI nulls true로 설정된 경우, NULL 값에 대한 모든 비교가 UNKNOWN으로 평가됩니다. false로 설정된 경우, NULL 값에 대한 UNICODE가 아닌 값의 비교는 두 값이 모두 NULL인 경우에 TRUE로 평가됩니다.
ANSI warnings true로 설정된 경우, "0으로 나누기" 등의 조건이 발생할 때 오류 또는 경고가 발생합니다.
arithabort true로 설정된 경우, 오버플로 또는 0으로 나누기로 인해 쿼리 또는 일괄 처리가 종료됩니다. 트랜잭션에 오류가 발생했을 경우, 트랜잭션은 롤백됩니다. false로 설정된 경우, 경고 메시지가 표시되지만 쿼리, 일괄 처리 또는 트랜잭션은 오류가 발생하지 않은 상태와 같이 계속 진행됩니다.
concat null yields null true로 설정된 경우, 결합 연산 중에 NULL인 연산자가 있을 때 결과는 NULL이 됩니다.
cursor close on commit true로 설정된 경우, 트랜잭션이 커밋되거나 롤백될 때 열려 있던 모든 커서가 닫힙니다. false로 설정된 경우, 트랜잭션이 커밋될 때 해당 커서가 열린 상태로 남게 됩니다. false로 설정된 경우, 트랜잭션을 롤백하면 INSENSITIVE 또는 STATIC으로 정의된 커서를 제외하고는 모든 커서가 닫힙니다.
dbo use only true로 설정된 경우, 데이터베이스 소유자만이 데이터베이스를 사용할 수 있습니다.
default to local cursor true로 설정된 경우, 커서 선언이 LOCAL에 대한 기본값이 됩니다.
merge publish true로 설정된 경우, 병합 복제에 대해 데이터베이스를 게시할 수 있습니다.
numeric roundabort true로 설정된 경우, 식에서 정밀도 손실이 발생할 경우 오류가 생성됩니다. false로 설정된 경우, 정밀도 손실은 오류 메시지를 생성하지 않고 열의 정밀도 또는 해당 결과를 저장하는 변수로 반올림합니다.
offline true로 설정된 경우, 데이터베이스가 오프라인됩니다.
published true로 설정된 경우, 복제에 대해 데이터베이스를 게시할 수 있습니다.
quoted identifier true로 설정된 경우, 구분 식별자를 묶을 때 큰 따옴표를 사용할 수 있습니다.
read only true로 설정된 경우, 데이터베이스의 데이터를 읽을 수는 있으나 수정할 수 없습니다. read only 옵션에 대한 새value가 지정된 경우에는 데이터베이스를 사용할 수 없습니다. master 데이터베이스는 예외인데, read only 옵션이 설정된 경우에도 시스템 관리자만이 master를 사용할 수 있습니다.
recursive triggers true로 설정된 경우, 트리거의 재귀를 시작할 수 있습니다.false로 설정된 경우, 직접 재귀 전용을 금지합니다. 간접 재귀를 해제하려면 sp_configure를 사용하여 nested triggers 서버 옵션을 0으로 설정하십시오..
select into/bulkcopy true로 설정된 경우, SELECT INTO 문과 빠른 대량 복사를 사용할 수 있습니다.
single user true로 설정된 경우, 한 번에 한 사용자만이 데이터베이스에 액세스할 수 있습니다.
subscribed true로 설정된 경우, 게시를 위해 데이터베이스를 구독할 수 있습니다.
torn page detection true로 설정된 경우, 조각난 페이지를 검색할 수 있습니다.
trunc. log on chkpt. true로 설정된 경우, 데이터베이스가 로그 잘림 모드일 때 로그의 비활성화 부분이 검사점에서 잘립니다. 이 옵션은 master 데이터베이스에 대해서만 설정할 수 있습니다.

dbo use only

설명을 드렸으니.  어떤건지 아실 겁니다. 주로 관리자만이 작업해야 할 경우가

있을때 사용하시면 됩니다. 안타깝게도.. single user 옵션과 함께 사용할 수는 없으니

혼자만, 관리자만 작업을 할 경우에 적절하게 이용해 보시길 바랍니다.

 

offline

음.. 이것은 이럴때 유용합니다. sp_attach_db로 데이터베이스를 붙이기 위해..

mdf화일과 ldf 화일을 복사하고 싶습니다만... SQL서버가 동작중에는 카피가 불가하지요.

다른 DB들이 함께 수행중이며.. 이 DB들은 대단히 중요해서 멈추면 안됩니다.

이럴때.. 필요한 하나의 DB만 잠시 연결을 제거할때 유용한 것이 이 offline입니다.

해당하는 DB만 잠시 오프라인이 되는 것이지요. 가끔 사용한답니다. ^_^

 

select into/bulkcopy

SQL2000은 기본이 사용 이기 때문에 거의 사용하지 않지만..

SQL7까지만 해도.. bulk insert나 BCP와 같은 작업을 위해서 반드시 ON이 되어 있어야

했습니다. SQL2000은 기본 TRUE설정이 되어 있으니 참고 하시길 바랍니다.

 

trunc. log on chkpt.

체크포인트시마다 트랜젝션 로그를 비우는 것으로... 백업 부분에서 설명을 드렸지요 ^_^

마찬가지로 DB의 복구 모델을 SIMPLE로 하는 것과 같습니다.

참고 하시길 바랍니다.

+ Recent posts