적용 대상:SQL Server
Azure SQL 데이터베이스
Azure SQL Managed Instance
Azure Synapse Analytics
Microsoft Fabric의 SQL 분석 엔드포인트
Microsoft Fabric의 웨어하우스
고유하게 컴파일된 스칼라 사용자 정의 함수를 포함하여 데이터베이스 내에서 만들어진 각 사용자 정의 스키마 범위 개체에 대한 행을 포함합니다.
자세한 내용은 메모리 내 OLTP에 대한 사용자 정의 스칼라 함수를 참조하세요.
참고 항목
sys.objects 는 스키마 범위가 아니므로 DDL 트리거를 표시하지 않습니다. DML 및 DDL의 모든 트리거는 sys.triggers에서 찾을 수 있습니다.
sys.triggers 는 다양한 종류의 트리거에 대한 이름 범위 지정 규칙의 혼합을 지원합니다.
| 열 이름 | 데이터 형식 | 설명 |
|---|---|---|
name |
sysname | 개체 이름입니다. |
object_id |
int | 개체 ID 번호입니다. 데이터베이스 내에서 고유합니다. |
principal_id |
int | 스키마 소유자와 다른 경우 개별 소유자의 ID입니다. 기본적으로 스키마가 포함된 개체는 스키마 소유자가 소유합니다. 그러나 대체 소유자는 문을 사용하여 소유권을 ALTER AUTHORIZATION 변경하여 지정할 수 있습니다.NULL 대체 개별 소유자가 없으면 입니다.NULL 개체 형식이 다음 값 중 하나인 경우입니다.C = Check 제약 조건D = 기본값(제약 조건 또는 독립 실행형)F = 외래 키 제약 조건PK = 기본 키 제약 조건R = 규칙(이전 스타일, 독립 실행형)TA = 어셈블리(CLR 통합) 트리거TR = SQL 트리거UQ = Unique 제약 조건EC = Edge 제약 조건 |
schema_id |
int | 개체가 포함된 스키마의 ID입니다. 스키마 범위 시스템 개체는 항상 sys 또는 INFORMATION_SCHEMA 스키마에 포함됩니다. |
parent_object_id |
int | 이 개체가 속하는 개체의 ID입니다.0 = 자식 개체가 아닙니다. |
type |
char(2) | 개체 유형:AF = 집계 함수(CLR)C = Check 제약 조건D = 기본값(제약 조건 또는 독립 실행형)F = 외래 키 제약 조건FN = SQL 스칼라 함수FS = 어셈블리(CLR) 스칼라 함수FT = 어셈블리(CLR) 테이블 반환 함수IF = SQL TVF(인라인 테이블 반환 함수)IT = 내부 테이블P = SQL 저장 프로시저PC = 어셈블리(CLR) 저장 프로시저PG = 계획 가이드PK = 기본 키 제약 조건R = 규칙(이전 스타일, 독립 실행형)RF = 복제-필터-절차S = 시스템 기본 테이블SN = 동의어SO = Sequence 개체U = 테이블(사용자 정의)V = 보기적용 대상: SQL Server 2012(11.x) 이상 버전 SQ = 서비스 큐TA = 어셈블리(CLR) DML 트리거TF = SQL 테이블 반환 함수(TVF)TR = SQL DML 트리거TT = 테이블 형식UQ = 고유 제약 조건X = 확장 저장 프로시저적용 대상: SQL Server 2014 (12.x) 및 이후 버전, Azure SQL Database, Azure Synapse Analytics ST = 통계 트리적용 대상: SQL Server 2016 (13.x) 및 이후 버전, Azure SQL Database, Azure Synapse Analytics ET = 외부 테이블적용 대상: SQL Server 2017 (14.x) 및 이후 버전, Azure SQL Database, Azure Synapse Analytics EC = Edge 제약 조건 |
type_desc |
nvarchar(60) | 개체 형식에 대한 설명:AGGREGATE_FUNCTIONCHECK_CONSTRAINTCLR_SCALAR_FUNCTIONCLR_STORED_PROCEDURECLR_TABLE_VALUED_FUNCTIONCLR_TRIGGERDEFAULT_CONSTRAINTEDGE_CONSTRAINTEXTENDED_STORED_PROCEDUREFOREIGN_KEY_CONSTRAINTINTERNAL_TABLEPLAN_GUIDEPRIMARY_KEY_CONSTRAINTREPLICATION_FILTER_PROCEDURERULESEQUENCE_OBJECTSERVICE_QUEUESQL_INLINE_TABLE_VALUED_FUNCTIONSQL_SCALAR_FUNCTIONSQL_STORED_PROCEDURESQL_TABLE_VALUED_FUNCTIONSQL_TRIGGERSYNONYMSYSTEM_TABLETYPE_TABLEUNIQUE_CONSTRAINTUSER_TABLEVIEW |
create_date |
날짜/시간 | 개체를 만든 날짜입니다. |
modify_date |
날짜/시간 | 문을 사용하여 개체를 마지막으로 수정한 날짜입니다 ALTER . 개체가 테이블 또는 뷰인 경우 테이블 또는 뷰의 인덱스가 만들어지거나 변경될 때도 modify_date 변경됩니다. |
is_ms_shipped |
bit | 개체는 내부 SQL Server 구성 요소에 의해 만들어집니다. |
is_published |
bit | 개체가 게시됩니다. |
is_schema_published |
bit | 개체의 스키마만 게시됩니다. |
설명
OBJECT_ID, OBJECT_NAME 및 OBJECTPROPERTY 기본 제공 함수를 표시된 개체에 적용할 수 있습니다.sys.objects
시스템 개체를 보여 주는 sys.system_objects 같은 스키마가 있는 이 보기의 버전이 있습니다. sys.all_objects라는 또 다른 보기는 시스템 및 사용자 개체를 모두 표시합니다. 세 카탈로그 뷰 모두 구조가 동일합니다.
이 버전의 SQL Server에서는 XML 인덱스 또는 공간 인덱스와 같은 확장 인덱스가 내부 테이블 sys.objects 로 간주됩니다.typeITtype_descINTERNAL_TABLE 확장 인덱스:
-
name인덱스 테이블의 내부 이름입니다. -
parent_object_id은object_id기본 테이블의 -
is_ms_shipped,is_published및is_schema_published열이 0
관련 시스템 뷰
개체의 하위 집합은 다음과 같은 특정 유형의 개체에 대한 시스템 뷰를 사용하여 볼 수 있습니다.
사용 권한
사용자가 소유하고 있거나 사용 권한을 부여 받은 보안 개체에 대해서만 카탈로그 뷰의 메타데이터를 볼 수 있습니다. 자세한 내용은 Metadata Visibility Configuration을 참조하세요.
예제
A. 지난 N일 동안 수정된 모든 개체를 반환합니다.
다음 쿼리를 실행하기 전에 유효한 값으로 바꿉 <database_name><n_days> 다.
USE <database_name>;
GO
SELECT name AS object_name,
SCHEMA_NAME(schema_id) AS schema_name,
type_desc,
create_date,
modify_date
FROM sys.objects
WHERE modify_date > GETDATE() - <n_days>
ORDER BY modify_date;
GO
B. 지정된 저장 프로시저 또는 함수에 대한 매개 변수 반환
다음 쿼리를 실행하기 전에 올바른 이름으로 바꿉 <database_name><schema_name.object_name> 니다.
USE <database_name>;
GO
SELECT SCHEMA_NAME(schema_id) AS schema_name,
o.name AS object_name,
o.type_desc,
p.parameter_id,
p.name AS parameter_name,
TYPE_NAME(p.user_type_id) AS parameter_type,
p.max_length,
p.precision,
p.scale,
p.is_output
FROM sys.objects AS o
INNER JOIN sys.parameters AS p
ON o.object_id = p.object_id
WHERE o.object_id = OBJECT_ID('<schema_name.object_name>')
ORDER BY schema_name,
object_name,
p.parameter_id;
GO
C. 데이터베이스의 모든 사용자 정의 함수 반환
다음 쿼리를 실행하기 전에 유효한 데이터베이스 이름으로 바꿉 <database_name> 다.
USE <database_name>;
GO
SELECT name AS function_name,
SCHEMA_NAME(schema_id) AS schema_name,
type_desc,
create_date,
modify_date
FROM sys.objects
WHERE type_desc LIKE '%FUNCTION%';
GO
D. 스키마에서 각 개체의 소유자를 반환합니다.
다음 쿼리를 실행하기 전에 모든 항목을 유효한 이름으로 바꿉니다 <database_name><schema_name> .
USE <database_name>;
GO
SELECT 'OBJECT' AS entity_type,
USER_NAME(OBJECTPROPERTY(object_id, 'OwnerId')) AS owner_name,
name
FROM sys.objects
WHERE SCHEMA_NAME(schema_id) = '<schema_name>'
UNION
SELECT 'TYPE' AS entity_type,
USER_NAME(TYPEPROPERTY(SCHEMA_NAME(schema_id) + '.' + name, 'OwnerId')) AS owner_name,
name
FROM sys.types
WHERE SCHEMA_NAME(schema_id) = '<schema_name>'
UNION
SELECT 'XML SCHEMA COLLECTION' AS entity_type,
COALESCE(USER_NAME(xsc.principal_id), USER_NAME(s.principal_id)) AS owner_name,
xsc.name
FROM sys.xml_schema_collections AS xsc
INNER JOIN sys.schemas AS s
ON s.schema_id = xsc.schema_id
WHERE s.name = '<schema_name>';
GO