적용 대상:SQL 서버
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Microsoft Fabric
의 SQL 분석 엔드포인트Microsoft Fabric
의 웨어하우스Microsoft Fabric의 SQL 데이터베이스
고유하게 컴파일된 스칼라 사용자 정의 함수를 포함하여 SQL Server의 SQL 언어 정의 모듈인 각 개체에 대한 행을 반환합니다. 형식P, ,RF, V, TRFN, IFTFR 및 관련 SQL 모듈의 개체입니다. 독립 실행형 기본값인 형식 D의 개체에도 이 보기에 SQL 모듈 정의가 있습니다. 이러한 형식에 대한 설명은 sys.objectstype열을 참조 하세요.
자세한 내용은 메모리 내 OLTP에 대한 사용자 정의 스칼라 함수를 참조하세요.
| 열 이름 | 데이터 형식 | Description |
|---|---|---|
object_id |
int | 포함하는 개체의 개체 ID입니다. 데이터베이스 내에서 고유합니다. |
definition |
nvarchar(max) | 이 모듈을 정의하는 SQL 텍스트입니다. 이 값은 OBJECT_DEFINITION 기본 제공 함수를 사용하여 가져올 수도 있습니다.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 | 모든 입력에 대한 출력을 생성하기 위해 모듈이 NULLNULL 선언되었습니다. |
execute_as_principal_id |
Int | 데이터베이스 보안 주체의 EXECUTE AS ID입니다.NULL 기본적으로 또는 경우 EXECUTE AS CALLER.지정된 보안 주체의 ID(if EXECUTE AS SELF 또는 EXECUTE AS <principal>.-2
=
EXECUTE AS OWNER. |
uses_native_compilation |
bit |
0 = 고유하게 컴파일되지 않음1 = 고유하게 컴파일됨기본값은 0입니다.적용 대상: SQL Server 2014(12.x) 이상 버전. |
is_inlineable |
bit | 모듈을 인라인 처리할 수 있는지 여부를 나타냅니다. 인라인성은 요구 사항에 지정된 조건을 기반으로 합니다.0 = 인라인할 수 없습니다.1 = 인라인 처리할 수 있습니다.스칼라 UDF(사용자 정의 함수)의 경우 값은 UDF를 인라인 처리할 수 있는 경우이고 1, 그렇지 않으면 값입니다0. 인라인 TVF(테이블 반환 함수) 및 1 다른 모든 모듈 형식의 값 0 은 항상 포함됩니다.적용 대상: SQL Server 2019(15.x) 이상 버전 |
inline_type |
bit | 현재 모듈에 대해 인라인 처리가 설정되어 있는지 여부를 나타냅니다. 0 = 인라인이 꺼져 있습니다. 1 = 인라인이 켜져 있습니다. UDF(스칼라 사용자 정의 함수)의 경우 값은 1 인라인이 켜져 있는 경우(명시적 또는 암시적으로) 입니다. 이 값은 항상 1 TVF(인라인 테이블 반환 함수) 및 0 다른 모듈 형식에 사용됩니다.적용 대상: SQL Server 2019(15.x) 이상 버전 |
inline_eligibility_mask |
tinyint | 현재 해당 모듈에 적용 가능한 인라인 기법을 나타냅니다. 0 = 적격 인라인 기술 없음 1 = 스칼라 UDF 인라인 2 = 표현 블록을 통한 인라인 3 = 표현 블록 또는 스칼라 UDF 인라인을 통한 인라인 인라인. 스칼라 사용자 정의 함수(UDF)의 경우, 인 1 라인 기능이 (명시적이든 암묵적이든) 켜져 있을 때만 그 이상의 값이 가능합니다. 이 값은 항상 1 TVF(인라인 테이블 반환 함수) 및 0 다른 모듈 형식에 사용됩니다.적용 대상: Microsoft Fabric의 SQL 분석 엔드포인트 및 Warehouse 전용. |
Remarks
제약 조건, 형식 DEFAULT개체에 대한 D SQL 식은 sys.default_constraints 카탈로그 뷰에 있습니다. 형식의 CHECK개체인 C 제약 조건에 대한 SQL 식은 sys.check_constraints 카탈로그 뷰에 있습니다.
이 정보는 sys.dm_db_uncontained_entities 설명합니다.
저장 프로시저, 함수, 뷰 또는 트리거의 이름을 바꾸면 카탈로그 뷰의 정의 열에 있는 해당 개체의 sys.sql_modules 이름이나 OBJECT_DEFINITION 기본 제공 함수에서 반환된 정의가 변경되지 않습니다. 따라서 이러한 개체 형식의 이름을 바꾸는 데는 사용하지 sp_rename 않는 것이 좋습니다. 대신 새 이름으로 개체를 삭제하고 다시 만듭니다.
sp_rename 자세히 알아보세요.
Permissions
사용자가 소유하고 있거나 사용 권한을 부여 받은 보안 개체에 대해서만 카탈로그 뷰의 메타데이터를 볼 수 있습니다. 자세한 내용은 Metadata Visibility Configuration을 참조하세요.
Examples
다음 예시는 현재 데이터베이스에서 각 모듈의 스키마 이름, 객체 이름, 객체 유형, 정의를 object_id반환합니다.
SELECT sm.object_id,
ss.[name] AS [schema],
o.[name] AS object_name,
o.[type],
o.[type_desc],
sm.[definition]
FROM sys.sql_modules AS sm
INNER JOIN sys.objects AS o
ON sm.object_id = o.object_id
INNER JOIN sys.schemas AS ss
ON o.schema_id = ss.schema_id
ORDER BY o.[type], ss.[name], o.[name];