有没有办法在使用 MySQL 作为数据库平台的 ServiceNow (SNC) 实例中定位底层 SQL?我的用户帐户无权查看 PROCESSLIST,因此我正在寻找一个可能存储基于 SNC 的报告 SQL 的表。
例如,我在 SNC 中创建了一个报告并手动执行它。我希望能够访问数据库中的某个表,看看该报告所基于的 SQL 在查看 PROCESSLIST 之外是否可用。
最佳答案
忽略“为什么?”的问题(普通托管实例不会向最终用户公开直接数据库连接,因此我很好奇您打算如何处理原始 sql),您可以通过激活 sql 调试来获取在平台中任何位置使用的 sql。这需要应用程序中的admin
角色。
要激活 sql 调试,请在左侧导航栏中转到系统诊断 > session 调试 > 调试 SQL
这将导致 session 中的每个事务的 SQL 语句被写入每个页面加载的底部。它还包含前一个事务的 sql,因此如果您需要获取 AJAX 事务或其他事务的 sql,只需触发它,然后导航到其他页面(/ui_page. do
是一个简单的方法,不加载任何内容,但仍然为您提供 sql 调试输出)
关于mysql - ServiceNow SNC - 查找基础报表 SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30621050/