sys.sql_modules (Transact-SQL)
SQL 言語で定義されるモジュールであるオブジェクトごとに 1 行のデータを返します。種類が P、RF、V、TR、FN、IF、TF、および R のオブジェクトには、SQL モジュールが関連付けられています。スタンドアロンの既定値である種類 D のオブジェクトにも、このビューで SQL モジュール定義が関連付けられています。これらの型の詳細については、sys.objects カタログ ビューの type 列を参照してください。
列名 |
データ型 |
説明 |
---|---|---|
object_id |
int |
このオブジェクトが属するオブジェクトの ID です。データベース内で一意です。 |
definition |
nvarchar(max) |
このモジュールを定義する SQL テキスト。 NULL は、暗号化されていることを示します。 |
uses_ansi_nulls |
bit |
モジュールは、SET ANSI_NULLS ON で作成されました。 ルールとデフォルトに対しては、常に 0 になります。 |
uses_quoted_identifier |
bit |
モジュールは、SET QUOTED_IDENTIFIER ON で作成されました。 |
is_schema_bound |
bit |
モジュールは SCHEMABINDING オプションを使用して作成されました。 |
uses_database_collation |
bit |
1 = スキーマ バインド モジュールの定義は、適切な評価のためのデータベースの既定の照合順序に依存します。その他の場合には 0 となります。こうした依存関係によって、データベースの既定の照合順序が変更されないことになります。 |
is_recompiled |
bit |
プロシージャは WITH RECOMPILE オプションを使用して作成されました。 |
null_on_null_input |
bit |
モジュールは、任意の NULL 入力上で NULL 出力を生成するように宣言されました。 |
execute_as_principal_id |
Int |
EXECUTE AS データベース プリンシパルの ID です。 既定値または EXECUTE AS CALLER の場合は、NULL になります。 EXECUTE AS SELF または EXECUTE AS <principal> の場合は指定されたプリンシパルの ID になります。 -2 = EXECUTE AS OWNER。 |
説明
DEFAULT 制約 (種類 D のオブジェクト) の SQL 式は、sys.default_constraints カタログ ビューで確認できます。CHECK 制約 (種類 C のオブジェクト) の SQL 式は、sys.check_constraints カタログ ビューで確認できます。
これに関する情報は、「sys.dm_db_uncontained_entities (Transact-SQL)」にも記載されています。
権限
カタログ ビューでのメタデータの表示が、ユーザーが所有しているかそのユーザーが権限を許可されている、セキュリティ保護可能なメタデータに制限されます。 詳細については、「メタデータ表示の構成」を参照してください。
使用例
次の例では、現在のデータベース内の各モジュールの名前、型、および定義を返します。
SELECT sm.object_id, OBJECT_NAME(sm.object_id) AS object_name, o.type, o.type_desc, sm.definition
FROM sys.sql_modules AS sm
JOIN sys.objects AS o ON sm.object_id = o.object_id
ORDER BY o.type;
GO
関連項目
参照
オブジェクト カタログ ビュー (Transact-SQL)