次の方法で共有


sys.sql_modules (Transact-SQL)

SQL Server の SQL 言語で定義されるモジュールであるオブジェクトごとに 1 行のデータを返します。 種類が P、RF、V、TR、FN、IF、TF、および R のオブジェクトには、SQL モジュールが関連付けられています。 スタンドアロンの既定値である種類 D のオブジェクトにも、このビューで SQL モジュール定義が関連付けられています。 これらの型の詳細については、sys.objects カタログ ビューの type 列を参照してください。

適用対象: SQL Server (SQL Server 2008 から現在のバージョンまで)、Windows Azure SQL データベース (初回のリリースから現在のバージョンまで)

列名

データ型

説明

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 オプションを使用して作成されました。

ネイティブ コンパイル ストアド プロシージャでは、常に値 1 が含まれます。

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。

uses_native_compilation

bit

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

1 = ネイティブでコンパイルされている

既定値は 0 です。

適用対象: SQL Server 2014 から SQL Server 2014。

説明

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)

オブジェクト カタログ ビュー (Transact-SQL)

概念

SQL Server システム カタログに対するクエリに関してよく寄せられる質問

インメモリ OLTP (インメモリ最適化)