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