sqlcmd - как отобразить все установленные значения параметров - PullRequest
1 голос
/ 12 декабря 2011

Что такое команда в sqlcmd, чтобы показать все установленные параметры и связанные с ними настройки?

Например, как вы показываете текущее значение для nocount?

set
set nocount
set nocount ?

Ответы [ 3 ]

6 голосов
/ 12 декабря 2011

Определение параметров SET для текущего сеанса в SQL Server

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' 
2 голосов
/ 19 февраля 2013
select 'DISABLE_DEF_CNST_CHK', case when (1 & @@options) = 1 then 1 else 0 end
union
select 'IMPLICIT_TRANSACTIONS', case when (2 & @@options) = 2 then 1 else 0 end
union
select 'CURSOR_CLOSE_ON_COMMIT', case when (4 & @@options) = 4 then 1 else 0 end
union
select 'ANSI_WARNINGS', case when (8 & @@options) = 8 then 1 else 0 end
union
select 'ANSI_PADDING', case when (16 & @@options) = 16 then 1 else 0 end
union
select 'ANSI_NULLS', case when (32 & @@options) = 32 then 1 else 0 end
union
select 'ARITHABORT', case when (64 & @@options) = 64 then 1 else 0 end
union
select 'ARITHIGNORE', case when (128 & @@options) = 128 then 1 else 0 end
union
select 'QUOTED_IDENTIFIER', case when (256 & @@options) = 256 then 1 else 0 end
union
select 'NOCOUNT', case when (512 & @@options) = 512 then 1 else 0 end
union
select 'ANSI_NULL_DFLT_ON', case when (1024 & @@options) = 1024 then 1 else 0 end
union
select 'ANSI_NULL_DFLT_OFF', case when (2048 & @@options) = 2048 then 1 else 0 end
union
select 'CONCAT_NULL_YIELDS_NULL', case when (4096 & @@options) = 4096 then 1 else 0 end
union
select 'NUMERIC_ROUNDABORT', case when (8192 & @@options) = 8192 then 1 else 0 end
union
select 'XACT_ABORT', case when (16384 & @@options) = 16384 then 1 else 0 end;
0 голосов
/ 30 марта 2017

DBCC USEROPTIONS (SQL 2008 и новее)

https://docs.microsoft.com/en-us/sql/t-sql/database-console-commands/dbcc-useroptions-transact-sql

Вывод:

    textsize    2147483647
    language    us_english
    dateformat  mdy
    datefirst   7
    lock_timeout    -1
    quoted_identifier   SET
    arithabort  SET
    ansi_null_dflt_on   SET
    ansi_warnings   SET
    ansi_padding    SET
    ansi_nulls  SET
    concat_null_yields_null SET
    isolation level read committed
...