sys.assembly_modules (Transact-SQL)

适用于: 是SQL Server(所有支持的版本) 是Azure SQL 托管实例 是Azure Synapse Analytics 是并行数据仓库

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

列名称 数据类型 说明
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)