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 です。
|
説明
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)