Как мне запросить значение опции сервера в Sybase?
Вопрос
Например, если бы я хотел узнать текущее значение quoted_identifier
вариант сервера, есть ли запрос, который может дать мне эту информацию?
Решение
Некоторые параметры уровня сеанса доступны вам в виде varbinary через переменную @@options.Некоторые рекомендации по интерпретации битовой маски даны:
http://manuals.sybase.com/onlinebooks/group-as/asg1250e/sqlug/@Generic__BookTextView/41423;pt=42621
и
http://www.isug.com/Sybase_FAQ/ASE/code/sp_helpoptions.sql
Для параметров сеанса, которые не документированы (например, Quote_identifier), вам, возможно, придется прибегнуть к экспериментам.Я запустил следующее на экземпляре Solaris x86 Sybase 15 и увидел изменение в «третьем бите справа» (считая с нуля):
Это интересный вопрос, который не приходил мне в голову за семь лет работы администратором Sybase.
пижжх
262:1> set quoted_identifier off 262:2> go 263:1> select @@options 263:2> go -------------------------- 80210000800f0144030010 (1 row affected) 264:1> set quoted_identifier on 264:2> go 265:1> select @@options 265:2> go -------------------------- 80210001800f0144030018 (1 row affected) select @@options as options into #foo
Другие советы
sp_dboption может предоставить вам список настраиваемых параметров или фактически установить параметр: -
Список настраиваемых параметров
exec sp_dboption
установить опцию
sp_dboption pubs2, "unique auto_identity index", true
Если вы просто хотите перечислить параметры, установленные на БД, вы можете использовать sp_helpdb
sp_helpdb pubs2
Это приводит к многостраничному набору результатов, но в первом наборе есть столбец с именем «status», в котором отображаются все «истинные» параметры в назначенной базе данных.
Можно запросить текущее значение, установленное для выбранной опции.
Он находится в коде процедуры sp_helpdb
. Р>
Вы можете проверить sp_helptext
sp_helpdb
в базе данных sybsystemprocs, но это очень сложно.