SET(Transact-SQL)
특정 정보를 처리하는 현재 세션을 변경할 수 있는 몇 가지 SET 문을 제공
날짜 및 시간 문 | |
SET DATEFIRST |
일주일의 첫 번째 요일을 1부터 7까지의 숫자로 설정 |
SET DATEFORMAT |
datetime 또는 smalldatetime 데이터 입력에 대한 날짜 부분의 순서(월/일/년도)를 설정 |
잠금 문 | |
SET DEADLOCK_PRIORITY |
현재 세션이 다른 세션과 교착 상태에 있는 경우 현재 세션이 계속 실행되도록 하는 상대적 중요도를 지정 |
SET LOCK_TIMEOUT |
잠금이 해제될 때가지 문이 기다려야 할 시간(밀리초)을 지정. -1(기본값)은 제한 시간이 없음(무기한 대기) 오류 메시지가 반 |
기타 문 | |
SET CONCAT_NULL_YIELDS_NULL |
연결된 결과를 Null 값 또는 빈 문자열 값으로 다룰 것인지 제어 |
SET CURSOR_CLOSE_ON_COMMIT |
Transact-SQL COMMIT TRANSACTION 문의 동작을 제어. |
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으로 나누기 오류에서 오류 메시지를 반환할지 여부를 제어. 계산에 NULL을 반환 |
SET FMTONLY |
클라이언트에게 메타데이터만 반환. 보내지지 않음 |
SET NOCOUNT |
Transact-SQL 문의 영향을 받은 행 수를 나타내는 메시지가 결과의 일부로 반환되지 않음 |
SET NOEXEC |
각 쿼리를 컴파일하지만 실행하지는 않음. |
SET NUMERIC_ROUNDABORT |
식의 반올림에서 정밀도가 손실될 경우 생성되는 오류 보고의 수준을 지정 않으며 결과가 열 또는 결과를 저장한 변수의 정밀도로 반올림 |
SET PARSEONLY |
구문을 검사한 후 문을 컴파일하거나 실행하지 않고 오류 메시지를 반환 |
SET QUERY_GOVERNOR_COST_LIMIT |
쿼리가 실행될 수 있는 가장 긴 시간을 지정하는 숫자 또는 정수 값. 그값을 초과하는 예상 비용을 갖는 쿼리 실행 허용하지 않음 |
SET ROWCOUNT |
지정한 행 수가 반환된 후 쿼리 처리를 중지하도록 함 |
SET TEXTSIZE |
SELECT 문을 실행해 반환된 text 및ntext 데이터의 크기를 지정. 기본값은 4kb이며 최대값은 2gb(0으로 설정->기본값) |
통계 문 | |
SET FORCEPLAN |
쿼리 최적화 프로그램이 SELECT 문의 FROM 절에 테이블이 나타난 순서대로만 조인을 처리하도록 함. ON으로 설정하면 쿼리 계획을 구성하는 데 다른 유형의 조인이 필요하거나 조인 힌트 또는 쿼리 힌트로 요청되지 않은 경우 중첩 루프 조인이 강제로 사용 |
SET SHOWPLAN_ALL |
Transact-SQL 문을 실행하지 않음. 대신 SQL Server가 문이 실행된 방법에 대한 자세한 정보를 반환하고 해당 명령문에 대한 예상 리소스 요구 사항을 제공 |
SET SHOWPLAN_TEXT |
ON으로 설정하면 SQL Server가 각 Transact-SQL 문을 실행하지 않고 실행 정보만 반환 |
SET STATISTICS IO |
Transact-SQL 문이 생성한 디스크 작동 양 정보 표시 또는 큰 값 유형(varchar(max), nvarchar(max), varbinary(max)) 의 페이지 큰 값 유형의 페이지 수 image 또는 큰 값 유형의 페이지 수 |
SET STATISTICS PROFILE |
명령문에 대한 프로필 정보를 표시합니다. STATISTICS PROFILE은 임의 쿼리, 뷰, 트리거 및 저장 프로시저에서 작동 |
SET STATISTICS TIME |
각 명령문을 구문 분석, 컴파일 및 실행하는 데 필요한 시간을 밀리초 단위로 표시 |
트랜잭션 문 | |
SET IMPLICIT_TRANSACTIONS |
연결에 대해 암시적 트랜잭션 모드를 설정. OFF로 설정하면 연결이 다시 자동 커밋 트랜잭션 모드로 복귀 |
SET REMOTE_PROC_TRANSACTIONS |
ON으로 설정하면 로컬 트랜잭션에서 원격 저장 프로시저를 실행할 때 Transact-SQL 분산 트랜잭션이 시작 호출해도 Transact-SQL 분산 트랜잭션이 시작되지 않음 |
SET TRANSACTION ISOLATION LEVEL |
한 연결에서 실행한 모든 SELECT 문에 대해 기본 트랜잭션 잠금 동작을 제어 데이터 읽기가 이루어지지 않도록 지정하지만, 트랜잭션이 끝나기 전에 데이터가 변경되어 반복하지 않는 읽기 또는 팬텀 데이터가 만들어질 수 있음 않고 단독 잠금 무시. 데이터를 업데이트할 수 없도록하지만, 다른 사용자가 데이터 집합에 새 허위 행을 삽입해 현재 트랜잭션 이후 읽기에 포함 될 수 있도록함 다른 사용자가 행을 업데이트하거나 데이터 집합에 삽입할 수 없도록 함. 가장 강한 격리 수준 |
SET XACT_ABORT |
SQL 문에서 런타임 오류가 발생할 경우 자동으로 현재 트랜잭션을 롤백하게 할지 여부를 지정 오류의 심각도에 따라 전체 트랜잭션 롤백 가능성 있음 |
출처 : http://blog.naver.com/lovzip?Redirect=Log&logNo=20053246109
'DBMS > SQL Server' 카테고리의 다른 글
[SQL Server] 산술 오버플로 오류 (0) | 2013.02.14 |
---|---|
[SQL Server] Index Depth 확인하기 (0) | 2013.01.23 |
[SQL Server] 데이터 저장과 관련한 세 가지 프로세스 (0) | 2013.01.22 |
[SQL Server] 여러 개의 스크립트 한 번에 생성하기 (0) | 2013.01.22 |
[SQL Server] 중복된 Row 제거하기 (0) | 2013.01.22 |