특정 정보를 처리하는 현재 세션을 변경할 수 있는 SET 문에 대해서 알아봅니다.
설명에서 문장 앞의 SET은 생략되어 있습니다.
날짜 및 시간문
문장 |
설명 |
DATEFIRST |
일주일의 시작 요일을 1부터 7까지의 숫자로 설정 옵션: 1 ~ 7 (1: 월요일 .. 7: 일요일) 예) SET DATEFIRST 1 -- 월요일로 설정 |
DATEFORMAT |
문자열 해석을 위한 월,일 및 연도 날짜 부분의 순서를 지정 옵션: dmy, dym, mdy, myd, ymd, ydm 예) SET DATEFORMAT dmy -- {day/month/year} |
잠금문
문장 |
설명 |
DEADLOCK_PRIORITY |
현재 세션이 다른 세션과 교착 상태에 있는 경우 현재 세션이 계속 실행되도록 하는 상대적 중요도를 지정 옵션: LOW(-5), NORMAL(0), HIGH(5), -10 ~ 10 예) SET DEADLOCK_PRIORITY LOW |
LOCK_TIMEOUT |
잠금이 해체될 때까지 문장이 기다려야 할 밀리초 시간을 지정 옵션: -1(무기한 대기), 0(기다리지 않음) 예) SET LOCK_TIMEOUT 1000 |
기타문
문장 |
설명 |
CONCAT_NULL_YIELDS_NULL |
연결된 결과를 NULL값으로 다룰 것인지 또는 빈 문자열 값으로 다룰 것인지를 제어 옵션: ON, OFF 예) SET CONCAT_NULL_YIELDS_NULL ON -- 'abc' + NULL = NULL |
CURSOR_CLOSE_ON_COMMIT |
트랜잭션을 커밋할 때 서버가 커서를 닫지 않음 옵션: ON, OFF 예) SET CURSOR_CLOSE_ON_COMMIT ON |
FIPS_FLAGGER |
FIPS 127-2 표준 준수를 확인하도록 지정 옵션: ENTRY, FULL, INTERMEDIATE, OFF 예) SET FIPS_FLAGGER ENTRY |
IDENTITY_INSERT |
명시적 값을 테이블의 Identity 컬럼열에 삽입할 수 있도록 변경 옵션: ON, OFF 예) SET IDENTITY_INSERT database_name.schema_name.table_name ON |
LANGUAGE |
언어 환경을 지정 옵션: sys.syslanguages에 지정된 언어의 이름 예) SET LANGUAGE N'language' |
OFFSETS |
지정한 키워드의 오프셋을 반환 옵션: ON, OFF 예) SET OFFSETS keyword_list ON |
QUOTED_IDENTIFIER |
인용 부호 구분 식별자 및 리터럴 문자열에 관해 ISO 규칙을 따르도록 지정 옵션: ON, OFF 예) SET QUOTED_IDENTIFIER ON |
쿼리실행문
문장 |
설명 |
ARITHABORT |
오버플로우 또는 0으로 나누기 오류가 발생하면 쿼리를 종료 옵션: ON, OFF 예) SET ARITHABORT ON |
ARITHIGNORE |
오버플로우 또는 0으로 나누기 오류에서 오류 메시지를 반환할지 여부 옵션: ON, OFF 예) SET ARITHIGNORE ON |
FMTONLY |
클라이언트에 메타 데이터만 반환 - 이 기능은 더이상 지원하지 않음 |
NOCOUNT |
T-SQL 또는 SP로 인해 영향을 받은 행 수를 나타내는 메시지가 결과 집합의 일부로 반환되지 않도록 함 이 옵션이 ON으로 설정되어 있더라도 @@ROWCOUNT 함수는 업데이트됨 ON으로 설정 시 네트워크 트래픽이 크게 줄어 성능이 눈에 띄게 향상 옵션: ON, OFF 예) SET NOCOUNT ON |
NOEXEC |
각 쿼리를 컴파일하지만 실행하지는 않음 옵션: ON, OFF 예) SET NOEXEC ON |
NUMERIC_ROUNDABORT |
식의 반올림에서 정밀도가 손실될 경우 생성되는 오류 보고의 수준을 지정 위의 ARITHABORT, ARITHIGNORE와 연관이 있음 옵션: ON, OFF 예) SET NUMERIC_ROUNDABORT |
PARSEONLY |
T-SQL문의 구문을 검사한 후 컴파일하거나 실행하지 않고 오류 메시지를 반환 옵션: ON, OFF 예) SET PARSEONLY ON |
QUERY_GOVERNOR_COST_LIMIT |
쿼리가 실행될 수 있는 가장 긴 시간을 지정 쿼리 관리자는 예상 비용이 해당 값을 초과하는 쿼리의 실행을 허용하지 않음 옵션: 0(무기한 실행) 예) SET QUERY_GOVERNOR_COST_LIMIT 10 |
ROWCOUNT |
지정된 행 수가 반환된 후 쿼리 처리가 중지 옵션: 0(모든 행이 반환) 예) SET ROWCOUNT 10 |
TEXTSIZE | SELECT문에서 반환된 varchar(max), varbinary(max), text, image 데이터의 크기를 지정 옵션: -1(무제한), 0(기본값4KB), 2147483647(2GB) 예) SET TEXTSIZE 0 |
ISO 설정문
문장 |
설명 |
ANSI_DEFAULTS |
ISO표준 동작을 전체적으로 지정하는 SQL Server설정 그룹을 제어 OFF로 설정된 경우 아래 옵션을 사용할 수 없음 옵션: ON, OFF 예) SET ANSI_DEFAULTS OFF |
ANSI_NULL_DFLT_OFF |
새 열의 기본 NULL 허용 여부를 설정 ON인 경우 ALTER TABLE이나 CREATE TABLE문을 사용해 만든 새 열의 기본값을 NOT NULL로 설정 옵션: ON, OFF 예) SET ANSI_NULL_DFLT_OFF ON |
ANSI_NULL_DFLT_ON |
새 열의 기본 NULL 허용 여부를 설정 OFF인 경우 ALTER TABLE이나 CREATE TABLE문을 사용해 만든 새 열의 기본값을 NOT NULL로 설정 옵션: ON, OFF 예) SET ANSI_NULL_DFLT_ON OFF |
ANSI_NULLS |
NULL값과 함께 사용될 경우 = 와 <> 비교 연산자의 ISO 호환 동작을 지정 옵션: ON, OFF 예) SET ANSI_NULLS ON |
ANSI_PADDING |
열 크기보다 짧은 값을 저장하는 방법과 후행 공백이 있는 값을 저장하는 방법을 제어 옵션: ON, OFF 예) SET ANSI_PADDING ON |
ANSI_WARNINGS |
오류 상황에 대한 ISO 표준 동작을 지정 옵션: ON, OFF 예) SET ANSI_WARNINGS ON |
통계문
문장 |
설명 |
FORCEPLAN |
쿼리의 FROM절에 테이블이 나타나는 순서대로 조인을 처리 옵션: ON, OFF 예) SET FORCEPLAN ON |
SHOWPLAN_ALL |
문장은 실행하지 않고 실행된 방법에 대한 자세한 정보를 반환하고 해당 문에 대한 예상 리소스 요구 사항을 제공 옵션: ON, OFF 예) SET SHOWPLAN_ALL ON |
SHOWPLAN_TEXT |
문장은 실행되지 않고 실행 방법에 대한 자세한 정보를 텍스트 형식으로 반환 옵션: ON, OFF 예) SET SHOWPLAN_TEXT ON |
SHOWPLAN_XML |
문장은 실행되지 않고 실행 방법에 대한 자세한 정보를 XML 형식으로 반환 옵션: ON, OFF 예) SET SHOWPLAN_XML ON |
STATISTICS IO |
문에 의해 생성된 디스크 작동 크기에 대한 정보가 표시 옵션: ON, OFF 예) SET STATISTICS IO ON |
STATISTICS XML |
문장을 실행하고 해당 문이 실행된 방법에 대한 자세한 정보를 XML 문서 형식으로 반환 옵션: ON, OFF 예) SET STATISTICS XML ON |
STATISTICS PROFILE |
문장에 대한 프로필 정보를 표시 옵션: ON, OFF 예) SET STATISTICS PROFILE ON |
STATISTICS TIME |
각 문장을 구문 분석, 컴파일 및 실행하는데 필요한 밀리초 시간을 표시 옵션: ON, OFF 예) SET STATISTICS TIME ON |
트랜잭션문
문장 |
설명 |
IMPLICIT_TRANSACTIONS |
트랜잭션 모드를 암시적으로 설정 옵션: ON, OFF 예) SET IMPLICIT_TRANSACTIONS ON |
REMOTE_PROC_TRANSACTIONS |
로컬 트랜잭션이 활성 트랜잭션일 때 원격 저장 프로시저를 실행하면 MSDTC에서 관리하는 분산 트랜잭션이 시작되도록 지정 옵션: ON, OFF 예) SET REMOTE_PROC_TRANSACTIONS ON |
TRANSACTION ISOLATION LEVEL |
트랜잭션 잠금 및 행 버전 레벨을 제어 옵션: READ UNCOMMITTED, READ COMMITTED, REPEATABLE READ, SNAPSHOT, SERIALIZABLE 예) SET TRANSACTION ISOLATION LEVEL READ COMMITTED |
XACT_ABORT |
런타임 오류가 발생할 경우 현재 트랜잭션을 자동 롤백할 것인지에 대한 여부 지정 옵션: ON, OFF 예) SET XACT_ABORT ON |
'SQL Server > SQL Server 기타' 카테고리의 다른 글
[MsSQL] DBCC문 알아보기 (0) | 2019.02.08 |
---|---|
[MsSQL] sp_executesql 을 사용하여 동적 쿼리의 실행계획을 재사용하기 (0) | 2019.02.07 |
[MsSQL] SQL Server 2017 에 SQL Server Management Studio 2017 (SSMS 2017)설치하기 (0) | 2019.01.20 |
[MsSQL] Windows Server 2016 에 SQL Server 2017 설치하기 (0) | 2019.01.19 |
[MsSQL] Windows Server 2016 에 한글팩 설치하기 (0) | 2019.01.19 |