다음을 통해 공유


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