sys.sql_modules(Transact-SQL)
SQL 언어로 정의된 모듈인 각 개체에 대해 하나의 행을 반환합니다. 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입니다. 기본값은 NULL이며 EXECUTE AS CALLER인 경우에도 NULL입니다. EXECUTE AS SELF 또는 EXECUTE AS <principal>인 경우 지정한 보안 주체의 ID입니다. -2 = EXECUTE AS OWNER |
주의
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