【问题标题】:How do I query the value of a server option in Sybase?如何在 Sybase 中查询服务器选项的值?
【发布时间】:2009-05-05 07:21:21
【问题描述】:

例如,如果我想知道quoted_identifier 服务器选项的当前值,是否有查询可以提供此信息?

【问题讨论】:

    标签: tsql sybase option


    【解决方案1】:

    您可以通过@@options 变量以varbinary 的形式使用一些会话级选项。

    给出了有关位掩码解释的一些指导

    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

    对于未记录的会话选项(例如quoted_identifier),您可能不得不求助于实验。我在 Solaris x86 Sybase 15 实例上运行以下命令,发现“右数第三位”发生了变化(从零开始计数)

    这是一个有趣的问题,在我担任 Sybase 管理员七年左右的时间里,我从未想过这个问题。

    pjjH

    262:1> 将quoted_identifier 设置为关闭 262:2> 去 263:1> 选择@@选项 263:2> 去 -------------------------- 80210000800f0144030010 (受影响的 1 行) 264:1> 将quoted_identifier 设置为 264:2> 去 265:1> 选择@@选项 265:2> 去 -------------------------- 80210001800f0144030018 (受影响的 1 行) 选择@@options 作为选项进入#foo

    【讨论】:

      【解决方案2】:

      sp_dboption 可以为您提供可设置选项的列表或实际设置选项:-

      列出可设置的选项

      exec sp_dboption
      

      设置选项

      sp_dboption pubs2, "unique auto_identity index", true
      

      如果您只想列出在 db 上设置的选项,可以使用 sp_helpdb

      sp_helpdb pubs2
      

      这会产生一个多页结果集,但第一组有一个名为“状态”的列,它显示了指定数据库中的所有“真实”选项。

      【讨论】:

      • 虽然有用,但 sp_dboption 不提供quoted_identifier 选项的当前值
      • 同意,这就是为什么我建议您可以使用 sp_helpdb 来获取此信息。
      • 我认为这是因为quoted_identifier 是一个会话选项,而不是服务器或数据库设置。似乎没有办法查询当前值。我认为您需要将其明确设置为您需要的任何设置。
      【解决方案3】:

      可以查询所选选项上设置的当前值。

      它在sp_helpdb 程序的代码中。

      你可以在sybsystemprocs数据库上查看sp_helptextsp_helpdb,但是非常复杂。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-10-14
        • 1970-01-01
        • 2018-01-31
        • 1970-01-01
        • 2018-05-27
        • 2017-12-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多