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 权限。