从 ASE 中的另一个会话查询 'COMPATIBILITY_MODE' ON / OFF 的状态
Query the state of 'COMPATIBILITY_MODE' ON / OFF from another session in ASE
从 Sybase ASE 15.0.3 开始,可以在会话中将所谓的 COMPATIBILITY_MODE
设置为 ON
或 OFF
以及 SQL 或 ESQL/C 命令:
SQL SET COMPATIBILITY_MODE ON
这也可以配置为服务器范围的选项,但这并不是这里的意思。
问题是,如果可以从另一个会话查询,例如使用SQL,给定会话的实际值。
是的,对于给定的 SPID,您可以检查进程的 SUID 和 运行:
dbcc traceon(3604)
go
dbcc pss(@suid, @spid)
go
在你的输出中,例如:
...
poptions=7 (OPT_TRUNCABORT) 8 (OPT_ARITHABORT) 40 (OPT_PREFETCH)
41 (OPT_TRIGGERS) 42 (OPT_REPLICATION_1) 43 (OPT_REPLICATION_2)
48 (OPT_TRANSRPC) 58 (OPT_REMOTE_INDEXES) 62 (OPT_STMT_CACHE)
64 (OPT_PROC_RETURN_STATUS) 65 (OPT_PROC_OUTPUT_PARAMS)
84 (OPT_LITERAL_AUTOPARAM) 93 (OPT_COMPATIBILITY_MODE)
107 (OPT_FDP_CURRENCY)
...
标志OPT_COMPATIBILITY_MODE表示此会话已打开兼容模式。
从 Sybase ASE 15.0.3 开始,可以在会话中将所谓的 COMPATIBILITY_MODE
设置为 ON
或 OFF
以及 SQL 或 ESQL/C 命令:
SQL SET COMPATIBILITY_MODE ON
这也可以配置为服务器范围的选项,但这并不是这里的意思。
问题是,如果可以从另一个会话查询,例如使用SQL,给定会话的实际值。
是的,对于给定的 SPID,您可以检查进程的 SUID 和 运行:
dbcc traceon(3604)
go
dbcc pss(@suid, @spid)
go
在你的输出中,例如:
...
poptions=7 (OPT_TRUNCABORT) 8 (OPT_ARITHABORT) 40 (OPT_PREFETCH)
41 (OPT_TRIGGERS) 42 (OPT_REPLICATION_1) 43 (OPT_REPLICATION_2)
48 (OPT_TRANSRPC) 58 (OPT_REMOTE_INDEXES) 62 (OPT_STMT_CACHE)
64 (OPT_PROC_RETURN_STATUS) 65 (OPT_PROC_OUTPUT_PARAMS)
84 (OPT_LITERAL_AUTOPARAM) 93 (OPT_COMPATIBILITY_MODE)
107 (OPT_FDP_CURRENCY)
...
标志OPT_COMPATIBILITY_MODE表示此会话已打开兼容模式。