sys.sql_modules (Transact-SQL)sys.sql_modules (Transact-SQL)

適用対象:Applies to: はいSQL ServerSQL Server (サポートされているすべてのバージョン) yesSQL ServerSQL Server (all supported versions) はいAzure SQL データベースAzure SQL DatabaseYesAzure SQL データベースAzure SQL Database はいAzure SQL Managed InstanceAzure SQL Managed InstanceYesAzure SQL Managed InstanceAzure SQL Managed Instance はいAzure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics はいParallel Data WarehouseParallel Data WarehouseyesParallel Data WarehouseParallel Data Warehouse適用対象:Applies to: はいSQL ServerSQL Server (サポートされているすべてのバージョン) yesSQL ServerSQL Server (all supported versions) はいAzure SQL データベースAzure SQL DatabaseYesAzure SQL データベースAzure SQL Database はいAzure SQL Managed InstanceAzure SQL Managed InstanceYesAzure SQL Managed InstanceAzure SQL Managed Instance はいAzure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics はいParallel Data WarehouseParallel Data WarehouseyesParallel Data WarehouseParallel Data Warehouse

SQL ServerSQL Serverネイティブコンパイルのスカラーユーザー定義関数を含む、の SQL 言語定義モジュールであるオブジェクトごとに1行の値を返します。Returns a row for each object that is an SQL language-defined module in SQL ServerSQL Server, including natively compiled scalar user-defined function. 型 P、RF、V、TR、FN、IF、TF、および R のオブジェクトには、SQL モジュールが関連付けられています。Objects of type P, RF, V, TR, FN, IF, TF, and R have an associated SQL module. スタンドアロンの既定値である種類 D のオブジェクトにも、このビューで SQL モジュール定義が関連付けられています。Stand-alone defaults, objects of type D, also have an SQL module definition in this view. これらの型の詳細については、「 sys. objectsカタログビューのtype列」を参照してください。For a description of these types, see the type column in the sys.objects catalog view.

詳しくは、「インメモリ OLTP でのユーザー定義のスカラー関数」をご覧ください。For more information, see Scalar User-Defined Functions for In-Memory OLTP.

列名Column name データ型Data type 説明Description
object_idobject_id intint このオブジェクトが属するオブジェクトの ID です。ID of the object of the containing object. データベース内で一意です。Is unique within a database.
カスタムdefinition nvarchar(max)nvarchar(max) このモジュールを定義する SQL テキスト。SQL text that defines this module. この値は OBJECT_DEFINITION 組み込み関数を使用して取得することもできます。This value can also be obtained using the OBJECT_DEFINITION built-in function.

NULL = 暗号化されています。NULL = Encrypted.
uses_ansi_nullsuses_ansi_nulls bitbit モジュールは、SET ANSI_NULLS ON で作成されました。Module was created with SET ANSI_NULLS ON.

ルールと既定値の場合、は常に0になります。Will always be = 0 for rules and defaults.
uses_quoted_identifieruses_quoted_identifier bitbit モジュールは QUOTED_IDENTIFIER ON に設定して作成されました。Module was created with SET QUOTED_IDENTIFIER ON.
is_schema_boundis_schema_bound bitbit モジュールは SCHEMABINDING オプションを使用して作成されました。Module was created with SCHEMABINDING option.

ネイティブコンパイルストアドプロシージャの場合は、常に値1が格納されます。Always contains a value of 1 for natively compiled stored procedures.
uses_database_collationuses_database_collation bitbit スキーマ バインドのモジュール定義が適切な評価のためにデータベースの既定の照合順序に依存する場合は 1 になります。それ以外の場合は 0 になります。1 = Schema-bound module definition depends on the default-collation of the database for correct evaluation; otherwise, 0. このような依存関係によって、データベースの既定の照合順序が変更されることはありません。Such a dependency prevents changing the database's default collation.
is_recompiledis_recompiled bitbit プロシージャは、RECOMPILE オプションを使用して作成されました。Procedure was created WITH RECOMPILE option.
null_on_null_inputnull_on_null_input bitbit モジュールは、任意の NULL 入力上で NULL 出力を生成するように宣言されました。Module was declared to produce a NULL output on any NULL input.
execute_as_principal_idexecute_as_principal_id IntInt 実行データベースプリンシパルの ID。ID of the EXECUTE AS database principal.

既定では NULL、または EXECUTE AS CALLER の場合は NULL です。NULL by default or if EXECUTE AS CALLER.

SELF として実行する場合は指定したプリンシパルの ID、または EXECUTE AS にする場合は <principal> です。ID of the specified principal if EXECUTE AS SELF or EXECUTE AS <principal>.

-2 = EXECUTE AS OWNER。-2 = EXECUTE AS OWNER.
uses_native_compilationuses_native_compilation bitbit 適用対象: SQL Server 2014 (12.x)SQL Server 2014 (12.x) から SQL Server 2014 (12.x)SQL Server 2014 (12.x)Applies to: SQL Server 2014 (12.x)SQL Server 2014 (12.x) through SQL Server 2014 (12.x)SQL Server 2014 (12.x).

0 = ネイティブでコンパイルされていない0 = not natively compiled

1 = ネイティブコンパイル1 = is natively compiled

既定値は 0 です。The default value is 0.
is_inlineableis_inlineable bitbit 適用対象: SQL Server 2019 (15.x)SQL Server 2019 (15.x) 以降。Applies to: SQL Server 2019 (15.x)SQL Server 2019 (15.x) and later.

モジュールがインライン化可能かどうかを示します。Indicates whether the module is inlineable or not. Inlineability は、 ここで指定した条件に基づいています。Inlineability is based on the conditions specified here.

0 = not インライン化可能0 = not inlineable

1 = はインライン化可能です。1 = is inlineable.

スカラー Udf の場合、UDF がインライン化可能の場合、値は1になり、それ以外の場合は0になります。For scalar UDFs, the value will be 1 if the UDF is inlineable, and 0 otherwise. インライン Tvf の場合は値1、その他のすべてのモジュール型の場合は0を格納します。It always contains a value of 1 for inline TVFs, and 0 for all other module types.
inline_typeinline_type bitbit 適用対象: SQL Server 2019 (15.x)SQL Server 2019 (15.x) 以降。Applies to: SQL Server 2019 (15.x)SQL Server 2019 (15.x) and later.

現在モジュールに対してインライン展開が有効になっているかどうかを示します。Indicates whether inlining is turned on for the module currently.

0 = インライン展開は無効になっています0 = inlining is turned off

1 = インライン展開が有効になっています。1 = inlining is turned on.

スカラー Udf では、インライン展開が有効になっている場合 (明示的または暗黙的)、値は1になります。For scalar UDFs, the value will be 1 if inlining is turned on (explicitly or implicitly). インライン Tvf の場合、値は常に1になり、その他のモジュールの種類では0になります。The value will always be 1 for inline TVFs, and 0 for other module types.

解説Remarks

既定の制約の SQL 式、D 型のオブジェクトは、 default_constraints カタログビューにあります。The SQL expression for a DEFAULT constraint, object of type D, is found in the sys.default_constraints catalog view. CHECK 制約の SQL 式、C 型のオブジェクトは、 check_constraints カタログビューにあります。The SQL expression for a CHECK constraint, object of type C, is found in the sys.check_constraints catalog view.

この情報については、「 sys. dm_db_uncontained_entities (transact-sql)」を参照してください。This information is also described in sys.dm_db_uncontained_entities (Transact-SQL).

アクセス許可Permissions

カタログ ビューでのメタデータの表示が、ユーザーが所有しているかそのユーザーが権限を許可されている、セキュリティ保護可能なメタデータに制限されます。The visibility of the metadata in catalog views is limited to securables that a user either owns or on which the user has been granted some permission. 詳細については、「 Metadata Visibility Configuration」を参照してください。For more information, see Metadata Visibility Configuration.

Examples

次の例では、現在のデータベース内の各モジュールの名前、型、および定義を返します。The following example returns the name, type, and definition of each module in the current database.

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  

参照See Also

カタログ ビュー (Transact-SQL) Catalog Views (Transact-SQL)
オブジェクト カタログ ビュー (Transact-SQL) Object Catalog Views (Transact-SQL)
SQL Server システムカタログに対するクエリについてよく寄せられる質問 Querying the SQL Server System Catalog FAQ
インメモリ OLTP (インメモリ最適化)In-Memory OLTP (In-Memory Optimization)