날짜 및 시간 문  
SET DATEFIRST 일주일의 첫 번째 요일을 1부터 7까지의 숫자로 설정
   
SET DATEFORMAT datetime 또는 smalldatetime 데이터 입력에 대한 날짜 부분의
   순서(월/일/년도)를 설정합 


잠금 문  
SET DEADLOCK_PRIORITY 교착 상태에 있을 때 세션이 반응하는 방법을 제어 
   
SET LOCK_TIMEOUT 잠금이 해제될 때가지 명령문이 기다려야 할 시간을 밀리초 
  단위로 지정 .-1(기본값)은 제한 시간이 없음(무기한 대기)
  기다리는 시간이 제한 시간 값을 초과하면 오류가 반환  
  0은 기다리지 않음을 나타내고 잠금이 있으면 바로 오류 
  메시지가 반환 


기타 문  
SET CONCAT_NULL_YIELDS_NULL 연결 결과를 NULL 값으로 처리할지 빈 문자열 값으로 처리할지
   여부를 제어
SET CURSOR_CLOSE_ON_COMMIT 트랜잭션이 커밋될 때 커서를 닫을지 여부를 제어
  ON이면 커밋 또는 롤백될 때 열려 있는 모든 커서를 닫음
SET DISABLE_DEF_CNST_CHK 이전 버전과의 호환성을 위해 포함
   
SET FIPS_FLAGGER FIPS표준(미국연방정보처리기준)과의 호환성 확인을 지정
   
SET IDENTITY_INSERT 명시적 값을 테이블의 ID 열에 삽입할 수 있도록 함
   
SET LANGUAGE 세션에 대한 언어 환경을 지정. 
  세션 언어는 datetime 형식과 시스템 메시지를 결정
SET OFFSETS 지정한 키워드의 오프셋(명령문 시작에 대한 상대적 위치)을 
  반환 
SET QUOTED_IDENTIFIER OFF이면 문자열을 작은 따옴표,큰따옴표로 구분가능
  문자열을 구분할때 큰 따옴표를 사용하면 아포스트로피
  같은 작은 따옴표가 들어갈 수 있다,


쿼리 실행 문  
SET ARITHABORT ON이면 오버플로 또는 0으로 나누기 오류 발생 시 쿼리나
  일괄 처리가 종료
  트랜잭션에서 해당 오류가 발생하면 트랜잭션이 롤백
  그러나 이 설정이 INSERT, UPDATE, DELETE 문 실행 중에 
  발생한 오류에는 영향을 주지 않는다.
SET ARITHIGNORE 쿼리 실행 중 오버플로 또는 0으로 나누기 오류에서 오류 
  메시지를 반환할지 여부를 제어
  오류 메시지가 반환될지 여부만 제어하며  
  이 설정에 상관 없이 오버플로 또는 0으로 나누기 오류를 
  발생시킨 계산에 NULL을 반환한다.
SET FMTONLY 클라이언트에게 메타데이터만 반환합니다
  ON으로 설정하면 어떤 행도 처리되거나 클라이언트에게
   보내지지 않는다.
  명령문 실행후 열정보만 반환되고 데이터행은 반환되지 않음
SET NOCOUNT Transact-SQL 문의 영향을 받은 행 수를 나타내는 메시지가
   결과의 일부로 반환되지 않도록 합니다
SET NOEXEC 각 쿼리를 컴파일하지만 실행하지는 않습니다
  코드의 개체 이름 유효성을 검사하도록 할 때 사용가능
SET NUMERIC_ROUNDABORT 식의 반올림에서 정밀도가 손실될 경우 생성되는 오류 보고의
  수준을 지정
  ON으로 설정하면 식에서 정밀도 손실이 발생할 경우 오류가 
  생성됩니다. OFF로 설정하면 정밀도 손실이 발생해도 오류 
  메시지가 생성되지 않으며 결과가 열 또는 결과를 저장한 
  변수의 정밀도로 반올림됩니다
SET PARSEONLY 구문을 검사한 후 문을 컴파일하거나 실행하지 않고 오류
   메시지를 반환합니다
  프로시저나 트리거에서는 PARSEONLY를 사용하지 않는다.
SET QUERY_GOVERNOR_COST_LIMIT  
   
SET ROWCOUNT 지정한 행 수가 반환된 후 쿼리 처리를 중지하도록 함
  이 옵션을 해제하려면SET ROWCOUNT 0을 지정
SET TEXTSIZE SELECT 문을 실행해 반환된 text ntext 데이터의 크기를 
  지정.기본값은 4kb이며 최대값은 2gb(0으로 설정->기본값)


SQL-92 설정 문  
SET ANSI_DEFAULTS 몇몇 SQL-92 표준 동작을 집합적으로 지정.이 옵션에 SQL-92 
  표준을 준수하는 데 필요한 모든 옵션이 포함되지는 않는다.
SET ANSI_NULL_DFLT_OFF 설정은 CREATE TABLE과 ALTER TABLE 문에 열의 Null 허용이 
  지정되어 있지 않을 때 새 열의 Null 허용에만 영향을 줌
SET ANSI_NULL_DFLT_ON 설정은 CREATE TABLE과 ALTER TABLE 문에 열의 Null 허용이 
  지정되어 있지 않을 때 새 열의 Null 허용에만 영향을 줌
SET ANSI_NULLS NULL 값과 함께 사용할 때 Equals(=)와 Not Equal(<>) 비교 다
  연산에 대해 SQL-92 표준 동작을 지정 
SET ANSI_PADDING 열이 정의된 열 크기보다 짧은 값을 저장하는 방법과, char,
  varchar, binary 및 varbinary 데이터에 후행 공백이 있는 값을
   저장하는 방법을 제어.기존의 열은 영향을 받지 않으면
  항상 ON으로 설정하는 것이 좋다.
SET ANSI_WARNINGS 여러 오류에 대한 SQL-92 표준 동작을 지정 


통계 문  
SET FORCEPLAN 쿼리 최적화 프로그램이 SELECT 문의 FROM 절에 테이블이
   나타난 순서대로만 조인을 처리하도록 함
  이 옵션 설정에 상관 없이 반환되는 데이터는 같으며
   쿼리를 충족시키기 위해 SQL Server가 테이블을 처리하는
   방법에만 차이가 있다
SET SHOWPLAN_ALL Microsoft® SQL Server™가 Transact-SQL 문을 실행하지 
  않도록 한다. 대신 SQL Server가 문이 실행된 방법에 대한 
  자세한 정보를 반환하고 해당 명령문에 대한 예상 리소스 요구 
  사항을 제공
SET SHOWPLAN_TEXT ON으로 설정하면 SQL Server가 각 Transact-SQL 문을 
  실행하지 않고 실행 정보만 반환 
SET STATISTICS IO Microsoft® SQL Server™가 Transact-SQL 문이 생성한 디스크
   작동 양에 대한 정보를 표시 
SET STATISTICS PROFILE 명령문에 대한 프로필 정보를 표시합니다. STATISTICS 
  PROFILE은 임의 쿼리, 뷰, 트리거 및 저장 프로시저에서 작동
  Rows:각 연산자에서 만든 실제 행 수
  Exucutes : 연산자가 실행된 횟수
SET STATISTICS TIME 각 명령문을 구문 분석, 컴파일 및 실행하는 데 필요한 시간을
   밀리초 단위로 표시 


트랜잭션 문  
SET IMPLICIT_TRANSACTIONS 연결에 대해 암시적 트랜잭션 모드를 설정 
  OFF로 설정하면 연결이 다시 자동 커밋 트랜잭션 모드로 복귀
SET REMOTE_PROC_TRANSACTIONS ON으로 설정하면 로컬 트랜잭션에서 원격 저장 프로시저를 
  실행할 때 Transact-SQL 분산 트랜잭션이 시작됩니다. 
  OFF로 설정할 경우 로컬 트랜잭션에서 원격 저장 프로시저를 
  호출해도 Transact-SQL 분산 트랜잭션이 시작되지 않는다.
   
SET TRANSACTION ISOLATION LEVEL 한 연결에서 실행한 모든  SELECT 문에 대해 기본 트랜잭션 
  잠금 동작을 제어 
  READ COMMITTED:기본값
  데이터를 읽을 때는 공유 잠금이 유지되도록 해서
  커밋되지 않은 데이터 읽기가 이루어지지 않도록 지정하지만,
   트랜잭션이 끝나기 전에 데이터가 변경되어 반복하지 않는 
  읽기 또는 팬텀 데이터가 만들어질 수 있다.
   
  READ UNCOMMITTED:
  불필요한 읽기나 격리 수준 0을 구현 
  이렇게 하면 공유 잠금이 만들어지지 않고 단독 잠금이 무시
  된다. 이 옵션을 설정하면 커밋되지 않은 데이터나 불필요한 
  데이터를 읽을 수 있다.
  네 가지 격리 수준 중 제한이 가장 적다.
   
  REPEATABLE READ:
  쿼리에서 사용되는 모든 데이터에 잠금을 배치해 다른 사용자
  가 데이터를 업데이트할 수 없도록 하지만, 다른 사용자가 
  데이터 집합에 새 허위 행을 삽입해 현재 트랜잭션의 이후 
  읽기에 포함될 수 있도록 한다.
   
  SERIALIZABLE:
  데이터 집합에 범위 잠금을 배치해 트랜잭션이 완료될 때까지 
  다른 사용자가 행을 업데이트하거나 데이터 집합에 삽입할 수 
  없도록 한다. 네 가지 격리 수준 중 제한이 가장 많다
   
SET XACT_ABORT SQL 문에서 런타임 오류가 발생할 경우 자동으로 현재 
  트랜잭션을 롤백하게 할지 여부를 지정

'DB' 카테고리의 다른 글

WITH(NOLOCK)  (0) 2012.09.12
문자열 입력받아 split 하기..  (0) 2012.09.06
암호화 예제  (0) 2012.04.15
백업/복구  (0) 2012.04.12
MSSQL  (0) 2011.01.29
RAID  (0) 2011.01.29
mysql  (0) 2010.12.13
Oracle architecture  (0) 2010.07.31