sys.dm_os_stacks (Transact-SQL)

适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例

SQL Server 在内部使用此动态管理视图执行以下操作:

  • 跟踪调试数据(例如,未完成的分配)。

  • 假设或验证 SQL Server 组件在组件假定已进行特定调用的位置使用的逻辑。

列名称 数据类型 描述
stack_address varbinary(8) 是该堆栈分配的唯一地址。 不可为 null。
frame_index int 每行表示一个函数调用,当按特定 stack_address的帧索引按升序排序时,将返回完整的调用堆栈。 不可为 null。
frame_address varbinary(8) 函数调用的地址。 不可为 null。

注解

sys.dm_os_stacks要求服务器上存在服务器和其他组件的符号才能正确显示信息。

权限

对于 SQL Server 和 SQL 托管实例,需要 VIEW SERVER STATE 权限。

在SQL 数据库基本、S0S1 服务目标以及弹性池中的数据库、服务器管理员帐户、Microsoft Entra 管理员帐户或服务器角色的成员##MS_ServerStateReader##身份是必需的。 对于所有其他 SQL 数据库服务目标,需要数据库的 VIEW DATABASE STATE 权限或 ##MS_ServerStateReader## 服务器角色中的成员身份。

SQL Server 2022 及更高版本的权限

要求对服务器具有 VIEW SERVER PERFORMANCE STATE 权限。

另请参阅

与 SQL Server 操作系统相关的动态管理视图 (Transact-SQL)