sys.dm_clr_tasks (Transact-SQL)

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

对于当前正在运行的所有公共语言运行时 (CLR) 任务,相应地返回一行。 包含对 CLR 例程的引用的 Transact-SQL 批处理会创建一个单独的任务来执行该批处理中的所有托管代码。 如果批中的多个语句需要执行托管代码,那么这些批将使用相同的 CLR 任务。 CLR 任务负责维护与托管代码执行相关的对象和状态,以及 SQL Server 实例与公共语言运行时之间的转换。

列名称 数据类型 描述
task_address varbinary(8) CLR 任务的地址。
sos_task_address varbinary(8) 基础 Transact-SQL 批处理任务的地址。
appdomain_address varbinary(8) 此任务在其中运行的应用程序域的地址。
State nvarchar(128) 任务的当前状态。
abort_state nvarchar(128) 中止任务时当前所处的状态(如果取消任务)。中止任务时涉及多个状态。
type nvarchar(128) 任务类型。
affinity_count int 任务的关联。
forced_yield_count int 强制产生任务的次数。

权限

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

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

SQL Server 2022 及更高版本的权限

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

另请参阅

动态管理视图和函数 (Transact-SQL)
公共语言运行时相关的动态管理视图 (Transact-SQL)