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

適用対象: ○SQL Server (2008 以降) ○Azure SQL Database ○Azure SQL Data Warehouse ○Parallel Data Warehouse APPLIES TO: yesSQL Server (starting with 2008) yesAzure SQL Database yesAzure SQL Data Warehouse yesParallel Data Warehouse

SQL 言語定義モジュールであるオブジェクトごとに 1 行を返します SQL ServerSQL Server, 、ネイティブを含むユーザー定義のスカラー関数をコンパイルします。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カタログ ビューを参照してください。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.
definitiondefinition 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 モジュールは、SET 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 プロシージャは WITH 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 EXECUTE AS データベース プリンシパルの ID です。ID of the EXECUTE AS database principal.

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

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

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 プレビューSQL Server 2019 preview以降。Applies to: SQL Server 2019 プレビューSQL Server 2019 preview and later.

かどうかには、モジュールが lineable いないかどうかを示します。Indicates whether the module is inlineable or not. 変換が指定された条件に基づいてここします。Inlineability is based on the conditions specified here.

0 = inlineable しません0 = not inlineable

1 = lineable ではありません。1 = is inlineable.

スカラー udf の場合、値は、UDF inlineable、および 0 それ以外の場合 1 になります。For scalar UDFs, the value will be 1 if the UDF is inlineable, and 0 otherwise. インライン Tvf、およびその他のすべてのモジュール型の場合は 0 1 の値を常に含まれています。It always contains a value of 1 for inline TVFs, and 0 for all other module types.
inline_typeinline_type bitbit 適用対象:SQL Server 2019 プレビューSQL Server 2019 preview以降。Applies to: SQL Server 2019 プレビューSQL Server 2019 preview 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.


既定の制約では、種類 D のオブジェクトの SQL 式がある、 sys.default_constraintsカタログ ビューです。The SQL expression for a DEFAULT constraint, object of type D, is found in the sys.default_constraints catalog view. CHECK 制約、C の型のオブジェクトの SQL 式がある、 sys.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).


カタログ ビューでのメタデータの表示が、ユーザーが所有しているかそのユーザーが権限を許可されている、セキュリティ保護可能なメタデータに制限されます。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.


次の例では、現在のデータベース内の各モジュールの名前、型、および定義を返します。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;  

参照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)