sys.assembly_modules (Transact-SQL)
共通言語ランタイム (CLR) アセンブリによって定義されている関数、プロシージャ、またはトリガごとに 1 行のデータを返します。このカタログ ビューは、CLR ストアド プロシージャ、CLR トリガ、または CLR 関数を、基になる実装にマップします。種類が TA、AF、PC、FS、および FT のオブジェクトには、関連するアセンブリ モジュールがあります。オブジェクトとアセンブリの間の関連を見つけるには、このカタログ ビューを他のカタログ ビューに結合します。たとえば CLR ストアド プロシージャを作成すると、その CLR ストアド プロシージャは、sys.objects、sys.procedures (sys.objects を継承)、および sys.assembly_modules の各カタログ ビューの 1 行ずつのデータによって表されます。ストアド プロシージャ自体は、sys.objects と sys.procedures のメタデータによって表されます。プロシージャの基になる CLR 実装への参照は、sys.assembly_modules にあります。
列名 |
データ型 |
説明 |
---|---|---|
object_id |
int |
SQL オブジェクトのオブジェクト ID 番号です。データベース内で一意です。 |
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 |
CLR 関数、ストアド プロシージャ、またはトリガの EXECUTE AS 句によって指定されている、コンテキストの実行が行われるデータベース プリンシパルの ID です。 NULL = EXECUTE AS CALLER。これは既定のオプションです。 指定されているデータベース プリンシパルの ID = EXECUTE AS SELF、EXECUTE AS user_name、または EXECUTE AS login_name。 -2 = EXECUTE AS OWNER。 |
権限
SQL Server 2005 以降のバージョンでは、カタログ ビューでのメタデータの表示が、ユーザーが所有しているかそのユーザーが権限を許可されている、セキュリティ保護可能なメタデータに制限されます。詳細については、「メタデータ表示の構成」を参照してください。