sys.sql_modules(Transact-SQL)sys.sql_modules (Transact-SQL)

적용 대상:Applies to: 예SQL ServerSQL Server(지원되는 모든 버전)yesSQL ServerSQL Server (all supported versions) 예Azure SQL DatabaseAzure SQL DatabaseYesAzure SQL DatabaseAzure SQL Database 예Azure SQL Managed InstanceAzure SQL Managed InstanceYesAzure SQL Managed InstanceAzure SQL Managed Instance 예Azure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics 예병렬 데이터 웨어하우스Parallel Data Warehouseyes병렬 데이터 웨어하우스Parallel Data Warehouse적용 대상:Applies to: 예SQL ServerSQL Server(지원되는 모든 버전)yesSQL ServerSQL Server (all supported versions) 예Azure SQL DatabaseAzure SQL DatabaseYesAzure SQL DatabaseAzure SQL Database 예Azure SQL Managed InstanceAzure SQL Managed InstanceYesAzure SQL Managed InstanceAzure SQL Managed Instance 예Azure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics 예병렬 데이터 웨어하우스Parallel Data Warehouseyes병렬 데이터 웨어하우스Parallel Data Warehouse

고유 하 게 SQL ServerSQL Server 컴파일된 스칼라 사용자 정의 함수를 포함 하 여의 SQL 언어로 정의 된 모듈인 각 개체에 대해 하나의 행을 반환 합니다.Returns a row for each object that is an SQL language-defined module in SQL ServerSQL Server, including natively compiled scalar user-defined function. P, RF, V, TR, FN, IF, TF 및 R 유형의 개체에는 연결된 SQL 모듈이 있습니다.Objects of type P, RF, V, TR, FN, IF, TF, and R have an associated SQL module. 이 뷰에는 독립 실행형 기본값인 유형 D 개체에 대한 SQL 모듈 정의도 있습니다.Stand-alone defaults, objects of type D, also have an SQL module definition in this view. 이러한 유형에 대 한 설명은 sys. objects 카탈로그 뷰의 type 열을 참조 하세요.For a description of these types, see the type column in the sys.objects catalog view.

자세한 내용은 메모리 내 OLTP에 대한 사용자 정의 스칼라 함수를 참조하세요.For more information, see Scalar User-Defined Functions for In-Memory OLTP.

열 이름Column name 데이터 형식Data type DescriptionDescription
object_idobject_id intint 포함하는 개체의 개체 ID입니다.ID of the object of the containing object. 데이터베이스 내에서 고유합니다.Is unique within a database.
정의definition nvarchar(max)nvarchar(max) 이 모듈을 정의하는 SQL 텍스트입니다.SQL text that defines this module. OBJECT_DEFINITION 기본 제공 함수를 사용 하 여이 값을 가져올 수도 있습니다.This value can also be obtained using the OBJECT_DEFINITION built-in function.

NULL = 암호화됨NULL = Encrypted.
uses_ansi_nullsuses_ansi_nulls bitbit SET ANSI_NULLS ON으로 모듈을 만들었습니다.Module was created with SET ANSI_NULLS ON.

규칙과 기본값에 대해서는 항상 0입니다.Will always be = 0 for rules and defaults.
uses_quoted_identifieruses_quoted_identifier bitbit SET QUOTED_IDENTIFIER ON으로 모듈을 만들었습니다.Module was created with SET QUOTED_IDENTIFIER ON.
is_schema_boundis_schema_bound bitbit SCHEMABINDING 옵션으로 모듈을 만들었습니다.Module was created with SCHEMABINDING option.

고유하게 컴파일된 저장 프로시저의 경우 항상 1 값을 포함합니다.Always contains a value of 1 for natively compiled stored procedures.
uses_database_collationuses_database_collation bitbit 1 = 스키마 바운드 모듈 정의는 정확한 평가를 위해 데이터베이스의 기본 데이터 정렬에 의존합니다. 그렇지 않으면 0입니다.1 = Schema-bound module definition depends on the default-collation of the database for correct evaluation; otherwise, 0. 이러한 종속성으로 인해 데이터베이스의 기본 데이터 정렬을 바꿀 수 없습니다.Such a dependency prevents changing the database's default collation.
is_recompiledis_recompiled bitbit WITH RECOMPILE 옵션으로 프로시저를 만들었습니다.Procedure was created WITH RECOMPILE option.
null_on_null_inputnull_on_null_input bitbit 임의의 NULL 입력에 대해 NULL 출력을 생성하기 위해 모듈을 선언했습니다.Module was declared to produce a NULL output on any NULL input.
execute_as_principal_idexecute_as_principal_id 정수Int EXECUTE AS 데이터베이스 보안 주체의 ID입니다.ID of the EXECUTE AS database principal.

기본값은 NULL이며 EXECUTE AS CALLER인 경우에도 NULL입니다.NULL by default or if EXECUTE AS CALLER.

EXECUTE AS SELF 또는 EXECUTE AS를 지정 하는 경우 지정 된 보안 주체의 ID입니다 <principal> .ID of the specified principal if EXECUTE AS SELF or EXECUTE AS <principal>.

-2 = EXECUTE AS OWNER-2 = EXECUTE AS OWNER.
uses_native_compilationuses_native_compilation bitbit 적용 대상: SQL Server 2014(12.x)SQL Server 2014 (12.x) 부터 SQL Server 2014(12.x)SQL Server 2014 (12.x)까지Applies to: SQL Server 2014(12.x)SQL Server 2014 (12.x) through SQL Server 2014(12.x)SQL Server 2014 (12.x).

0 = 고유 컴파일 아님0 = not natively compiled

1 = 고유 컴파일1 = is natively compiled

기본값은 0입니다.The default value is 0.
is_inlineableis_inlineable bitbit 적용 대상: SQL Server 2019 (15.x)SQL Server 2019 (15.x) 이상Applies to: SQL Server 2019 (15.x)SQL Server 2019 (15.x) and later.

모듈이 inlineable 인지 여부를 나타냅니다.Indicates whether the module is inlineable or not. Inlineability는 여기에 지정 된 조건을 기반으로 합니다.Inlineability is based on the conditions specified here.

0 = inlineable 안 함0 = not inlineable

1 = inlineable입니다.1 = is inlineable.

스칼라 Udf의 경우 UDF가 inlineable 인 경우 값은 1이 고, 그렇지 않으면 0입니다.For scalar UDFs, the value will be 1 if the UDF is inlineable, and 0 otherwise. 이 값은 항상 인라인 Tvf 값 1을 포함 하 고 다른 모든 모듈 형식에 대해 0을 포함 합니다.It always contains a value of 1 for inline TVFs, and 0 for all other module types.
inline_typeinline_type bitbit 적용 대상: SQL Server 2019 (15.x)SQL Server 2019 (15.x) 이상Applies to: SQL Server 2019 (15.x)SQL Server 2019 (15.x) and later.

현재 모듈에 대해 인라인이 설정 되어 있는지 여부를 나타냅니다.Indicates whether inlining is turned on for the module currently.

0 = 인라이닝을 해제 합니다.0 = inlining is turned off

1 = 인라인이 설정 되어 있습니다.1 = inlining is turned on.

스칼라 Udf의 경우 인라인을 명시적 또는 암시적으로 설정 하면 값은 1이 됩니다.For scalar UDFs, the value will be 1 if inlining is turned on (explicitly or implicitly). 인라인 Tvf 값은 항상 1이 고 다른 모듈 형식의 경우 0입니다.The value will always be 1 for inline TVFs, and 0 for other module types.

설명Remarks

기본 제약 조건에 대 한 SQL 식 인 D 형식의 개체는 default_constraints 카탈로그 뷰에서 찾을 수 있습니다.The SQL expression for a DEFAULT constraint, object of type D, is found in the sys.default_constraints catalog view. CHECK 제약 조건에 대 한 SQL 식 인 C 형식의 개체는 sys. check_constraints 카탈로그 뷰에 있습니다.The SQL expression for a CHECK constraint, object of type C, is found in the sys.check_constraints catalog view.

이 정보는 dm_db_uncontained_entities (transact-sql)에도 설명 되어 있습니다.This information is also described in sys.dm_db_uncontained_entities (Transact-SQL).

사용 권한Permissions

사용자가 소유하고 있거나 사용 권한을 부여 받은 보안 개체에 대해서만 카탈로그 뷰의 메타데이터를 볼 수 있습니다.The visibility of the metadata in catalog views is limited to securables that a user either owns or on which the user has been granted some permission. 자세한 내용은 Metadata Visibility Configuration을 참조하세요.For more information, see Metadata Visibility Configuration.

예제Examples

다음 예에서는 현재 데이터베이스의 각 모듈에 대한 이름, 유형 및 정의를 반환합니다.The following example returns the name, type, and definition of each module in the current database.

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  

참고 항목See Also

카탈로그 뷰(Transact-SQL) Catalog Views (Transact-SQL)
개체 카탈로그 뷰 (Transact-SQL) Object Catalog Views (Transact-SQL)
SQL Server 시스템 카탈로그 쿼리 FAQ Querying the SQL Server System Catalog FAQ
메모리 내 OLTP(메모리 내 최적화)In-Memory OLTP (In-Memory Optimization)