sys.assembly_modules (Transact-SQL)

适用于:SQL ServerAzure SQL 托管实例Azure Synapse AnalyticsAnalytics Platform System (PDW)Microsoft Fabric 中的 SQL 分析终结点Microsoft Fabric 中的仓库

为公共语言运行时 (CLR) 程序集所定义的每个函数、过程或触发器返回一行。 此目录视图将 CLR 存储过程、CLR 触发器或 CLR 函数映射到其基础实现。 类型为 TA、AF、PC、FS 和 FT 的对象具有相关联的程序集模块。 若要查找对象和程序集之间的关联,可以将此目录视图联接到其他目录视图。 例如,在创建 CLR 存储过程时,该存储过程由 sys.objects 中的一行、sys.procedures(继承自 sys.objects)中的一行以及 sys.assembly_modules 中的一行表示。 该存储过程本身由 sys.objects 和 sys.procedures 中的元数据表示。 在 sys.assembly_modules 中可以找到对该过程的基础 CLR 实现的引用。

列名称 数据类型 说明
object_id int SQL 对象的对象标识号。 在数据库中是唯一的。
assembly_id int 创建此模块所基于的程序集的 ID。
assembly_class sysname 定义此模块的程序集中的类名。
assembly_method sysname 定义此模块的 assembly_class 中的方法名称。

对于聚合函数 (AF),该参数的值为 NULL。
null_on_null_input bit 将模块声明为针对任意 NULL 输入生成 NULL 输出。
execute_as_principal_id int 在其中执行上下文的数据库主体的 ID,该 ID 由 CLR 函数、存储过程或触发器的 EXECUTE AS 子句指定。

NULL = EXECUTE AS CALLER。 这是默认值。

指定的数据库主体的 ID = EXECUTE AS SELF、EXECUTE AS user_name 或 EXECUTE AS login_name。

-2 = EXECUTE AS OWNER。

权限

目录视图中元数据的可见性仅限于用户拥有的安全对象,或者向用户授予了某些权限的安全对象。 有关详细信息,请参阅 Metadata Visibility Configuration

另请参阅

对象目录视图 (Transact-SQL)
目录视图 (Transact-SQL)