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 です。

EXECUTE AS OWNER の場合は、-2 となります。

説明

DEFAULT 制約 (種類 D のオブジェクト) の SQL 式は、sys.default_constraints カタログ ビューで確認できます。CHECK 制約 (種類 C のオブジェクト) の SQL 式は、sys.check_constraints カタログ ビューで確認できます。

権限

SQL Server 2005 以降のバージョンでは、カタログ ビューでのメタデータの表示が、ユーザーが所有しているかそのユーザーが権限を許可されている、セキュリティ保護可能なメタデータに制限されます。詳細については、「メタデータ表示の構成」を参照してください。

次の例は、AdventureWorks2008R2 データベース内の各モジュールの名前、型、および定義を返します。

USE AdventureWorks2008R2;
GO
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