2010-08-24 14 views
14

Estoy depurando un comportamiento extraño que parece estar relacionado con ARITHABORT. ¿Cómo puedo recuperar el valor actual de ARITHABORT para la conexión activa?Recuperar el valor actual de ARITHABORT

aplausos, Achim

Respuesta

23
select SESSIONPROPERTY('ARITHABORT') 

returns 1 or 0, dependiendo de si es dentro o fuera de

+1

+1 sin duda gana en el departamento de KISS. –

4

@@OPTIONS le permite obtener el campo de bits de un valor actual que se establecen para la sesión actual.
El bitfield se puede interpretar con la siguiente secuencia de comandos.

DECLARE @options INT 
SELECT @options = @@OPTIONS 

PRINT @options 
IF ((1 & @options) = 1) PRINT 'DISABLE_DEF_CNST_CHK' 
IF ((2 & @options) = 2) PRINT 'IMPLICIT_TRANSACTIONS' 
IF ((4 & @options) = 4) PRINT 'CURSOR_CLOSE_ON_COMMIT' 
IF ((8 & @options) = 8) PRINT 'ANSI_WARNINGS' 
IF ((16 & @options) = 16) PRINT 'ANSI_PADDING' 
IF ((32 & @options) = 32) PRINT 'ANSI_NULLS' 
IF ((64 & @options) = 64) PRINT 'ARITHABORT' 
IF ((128 & @options) = 128) PRINT 'ARITHIGNORE' 
IF ((256 & @options) = 256) PRINT 'QUOTED_IDENTIFIER' 
IF ((512 & @options) = 512) PRINT 'NOCOUNT' 
IF ((1024 & @options) = 1024) PRINT 'ANSI_NULL_DFLT_ON' 
IF ((2048 & @options) = 2048) PRINT 'ANSI_NULL_DFLT_OFF' 
IF ((4096 & @options) = 4096) PRINT 'CONCAT_NULL_YIELDS_NULL' 
IF ((8192 & @options) = 8192) PRINT 'NUMERIC_ROUNDABORT' 
IF ((16384 & @options) = 16384) PRINT 'XACT_ABORT' 
Cuestiones relacionadas