在 SQL Server 中,当函数sys.fn_get_audit_file()
从审计文件返回信息时,它包含列additional_information
。根据该专栏的文档,它包含 XML 格式的“一级 TSQL 堆栈”。
例子:
SELECT * FROM sys.fn_get_audit_file('\\myAuditPath\myAuditFile.sqlaudit', DEFAULT, DEFAULT)
返回 extra_information 值,如下所示:
<tsql_stack><frame nest_level = '1' database_name = 'myDBa' schema_name = 'mySchema' object_name = 'thisObject'/></tsql_stack>
<tsql_stack><frame nest_level = '1' database_name = 'myDBa' schema_name = 'mySchema' object_name = 'someObject'/></tsql_stack>
<tsql_stack><frame nest_level = '3' database_name = 'myDBb' schema_name = 'mySchema' object_name = 'thatObject'/></tsql_stack>
我的问题:框架的nest_level是什么?
文档只说“Frame Nest_level 表示框架的当前嵌套级别”。
该帧 Nest_level 包含值 1,2,3,4,...
它似乎不是返回的nest_level sys.dm_exec_requests
。(该视图的nest_level包括值-1和0,这似乎与上面的框架nest_level无关。)
而且好像和窗口函数没有关系。(搜索“frame”一词暂时引导我走上这条路。)即使在没有窗口函数的审计行上也可以看到上面的nest_level。
您能否向我指出有关该框架 Nest_level 的任何信息,或有关 TSQL 堆栈的信息?
通过搜索“tsql_stack”(肯定带有下划线),我发现了一些关于 TSQL 堆栈的结果。但仍在寻找有关详细信息(nest_level
如果有人可以提供帮助)。再次感谢。