Par exemple, si je voulais connaître la valeur actuelle de l'option de serveur quoted_identifier
, y a-t-il une requête qui peut me donner cette information?Comment interroger la valeur d'une option de serveur dans Sybase?
Répondre
Certaines options de niveau session sont disponibles en tant que varbinary via la variable @@ options. Quelques conseils sur l'interprétation de la bitmask est donnée par
http://manuals.sybase.com/onlinebooks/group-as/asg1250e/sqlug/@Generic__BookTextView/41423;pt=42621
et
http://www.isug.com/Sybase_FAQ/ASE/code/sp_helpoptions.sql
, vous pouvez avoir recours pour les options de session qui ne sont pas documentés (comme quoted_identifier) à expérimentation. J'ai exécuté ce qui suit sur une instance Solaris x86 Sybase 15 et j'ai vu un changement dans le 'troisième bit de la droite' (compter à partir de zéro)
C'est une question intéressante et qui ne m'était pas venue dans mes sept ou donc des années d'administration Sybase.
pjjH
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 peut vous donner une liste d'options définissables ou réellement définir l'option: -
Liste définissables options
exec sp_dboption
définir une option
sp_dboption pubs2, "unique auto_identity index", true
Si vous voulez juste la liste les options définies sur un db, vous pouvez utiliser sp_helpdb
sp_helpdb pubs2
Cela donne un ensemble de résultats de plusieurs pages, mais le premier ensemble a une colonne appelée «état» qui montre toutes les options «vrai» dans la base de données nommée.
Il est possible d'interroger la valeur actuelle réglée sur l'option sélectionnée. Il est dans le code de sp_helpdb
procédure.
Vous pouvez vérifier sp_helptext
sp_helpdb
sur la base de données sybsystemprocs mais c'est très compliqué.
Bien qu'utile, sp_dboption ne fournit pas la valeur actuelle de l'option quoted_identifier – ninesided
D'accord, c'est pourquoi j'ai suggéré que vous pourriez utiliser sp_helpdb pour obtenir cette information. –
Je pense que c'est parce que quoted_identifier est une option de session, et non un serveur ou un paramètre de base de données. Il ne semble pas y avoir moyen d'interroger la valeur actuelle. Je pense que vous devrez définir explicitement le paramètre dont vous avez besoin. – AdamH