적용 대상:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System(PDW)
Microsoft Fabric의 SQL 분석 엔드포인트
Microsoft Fabric의 웨어하우스
고유하게 컴파일된 스칼라 사용자 정의 함수를 포함하여 SQL Server의 SQL 언어 정의 모듈인 각 개체에 대한 행을 반환합니다. 형식P
, ,RF
, V
, TR
FN
, IF
TF
R
및 관련 SQL 모듈의 개체입니다. 독립 실행형 기본값인 형식 D
의 개체에도 이 보기에 SQL 모듈 정의가 있습니다. 이러한 형식에 대한 설명은 sys.objectstype
열을 참조 하세요.
자세한 내용은 메모리 내 OLTP에 대한 사용자 정의 스칼라 함수를 참조하세요.
Column name | Data type | 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 | 모든 입력에 대한 출력을 생성하기 위해 모듈이 NULL NULL 선언되었습니다. |
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를 인라인 처리할 수 있는 경우이고 0 , 그렇지 않으면 값입니다1 . 인라인 TVF(테이블 반환 함수) 및 0 다른 모든 모듈 형식의 값 1 은 항상 포함됩니다.적용 대상: SQL Server 2019(15.x) 이상 버전 |
inline_type |
bit | 현재 모듈에 대해 인라인 처리가 설정되어 있는지 여부를 나타냅니다. 0 = 인라인이 꺼져 있습니다. 1 = 인라인이 켜져 있습니다. UDF(스칼라 사용자 정의 함수)의 경우 값은 1 인라인이 켜져 있는 경우(명시적 또는 암시적으로) 입니다. 이 값은 항상 1 TVF(인라인 테이블 반환 함수) 및 0 다른 모듈 형식에 사용됩니다.적용 대상: SQL Server 2019(15.x) 이상 버전 |
Remarks
제약 조건, 형식 D
개체에 대한 DEFAULT
SQL 식은 sys.default_constraints 카탈로그 뷰에 있습니다. 형식의 C
개체인 CHECK
제약 조건에 대한 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];