ARITHABORT 및 ARITHIGNORE가 ON으로 설정된 경우의 동작

ARITHABORT 및 ARITHIGNORE 쿼리 처리 옵션이 모두 ON으로 설정되면 ARITHABORT가 우선권을 갖습니다.

ARITHABORT 및 ARITHIGNORE는 별개의 옵션입니다. 하나를 ON으로 설정해도 다른 옵션이 자동으로 OFF로 설정되지 않습니다. 예를 들어 응용 프로그램에 다음과 같은 문이 있으면 두 옵션이 모두 ON으로 설정됩니다.

SET ARITHABORT ON
SET ARITHIGNORE ON
GO

저장 프로시저에서 SET 문을 실행하면 해당 프로시저가 완료될 때까지 새 설정이 적용됩니다. 프로시저가 완료되면 해당 옵션을 위한 연결의 설정이 프로시저 실행 전 상태로 되돌려집니다.

ANSI_WARNINGS 설정의 효과

ANSI_WARNINGS 설정은 현재 ARITHABORT 및 ARITHIGNORE 설정에 관계없이 쿼리 프로세서 동작에 영향을 줍니다.

예를 들어 SET ARITHABORT 또는 SET ARITHIGNORE가 OFF로 설정되어도 SET ANSI_WARNINGS가 ON으로 설정되어 있으면 MicrosoftSQL Server에서는 0으로 나누기 오류나 오버플로 오류가 발생할 때 계속 오류 메시지를 반환합니다.

다음은 두 동작을 요약한 표입니다.

ARITHABORT

ANSI_WARNINGS

동작

ON

ON

문만 중단합니다.

ON

OFF

일괄 처리를 중단합니다.

OFF

ON

문만 중단합니다.

OFF

OFF

계속 진행되지만 값은 NULL입니다.