有没有办法在使用 MySQL 作为数据库平台的 ServiceNow (SNC) 实例中定位底层 SQL?我的用户帐户无权观看 PROCESSLIST,因此我正在寻找一个可能存储基于 SNC 的报告 SQL 的表。
例如,我在 SNC 中创建了一个报告并手动执行它。我希望能够查看数据库中的某个表,以查看该报告所基于的 SQL 在观看 PROCESSLIST 之外是否可用。
有没有办法在使用 MySQL 作为数据库平台的 ServiceNow (SNC) 实例中定位底层 SQL?我的用户帐户无权观看 PROCESSLIST,因此我正在寻找一个可能存储基于 SNC 的报告 SQL 的表。
例如,我在 SNC 中创建了一个报告并手动执行它。我希望能够查看数据库中的某个表,以查看该报告所基于的 SQL 在观看 PROCESSLIST 之外是否可用。
忽略“为什么”的问题 (正常的托管实例不会向最终用户公开直接的数据库连接,所以我很好奇您打算用原始 sql 做什么),您可以通过激活 sql 调试来获取平台中任何地方使用的 sql。这需要admin
应用程序中的角色。
要激活 sql 调试,在左侧导航中,转到System Diagnostics > Session Debug > Debug SQL
这将导致会话中每个事务的 sql 语句被写入每个页面加载的底部。它还包括前一个事务的 sql,所以如果您需要获取 AJAX 事务或什么的 sql,只需触发它,然后导航到其他页面(/ui_page.do
这是一个不加载任何内容的简单页面,但仍然给你你的 sql 调试输出)