sys.objects(Transact-SQL)
적용 대상: Microsoft Fabric의 Microsoft Fabric Warehouse에 있는 SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Platform System(PDW) SQL 분석 엔드포인트
고유하게 컴파일된 스칼라 사용자 정의 함수를 포함하여 데이터베이스 내에서 만들어진 각 사용자 정의 스키마 범위 개체에 대한 행을 포함합니다.
자세한 내용은 메모리 내 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 = Replication-filter-procedureS = 시스템 기본 테이블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, Analytics Platform System(PDW) ST = 통계 트리적용 대상: SQL Server 2016(13.x) 이상 버전, Azure SQL Database, Azure Synapse Analytics, Analytics Platform System(PDW) ET = 외부 테이블적용 대상: SQL Server 2017(14.x) 이상 버전, Azure SQL Database, Azure Synapse Analytics, Analytics Platform System(PDW) EC = Edge 제약 조건 |
type_desc |
nvarchar(60) | 개체 형식에 대한 설명:AGGREGATE_FUNCTION CHECK_CONSTRAINT CLR_SCALAR_FUNCTION CLR_STORED_PROCEDURE CLR_TABLE_VALUED_FUNCTION CLR_TRIGGER DEFAULT_CONSTRAINT EDGE_CONSTRAINT EXTENDED_STORED_PROCEDURE FOREIGN_KEY_CONSTRAINT INTERNAL_TABLE PLAN_GUIDE PRIMARY_KEY_CONSTRAINT REPLICATION_FILTER_PROCEDURE RULE SEQUENCE_OBJECT SERVICE_QUEUE SQL_INLINE_TABLE_VALUED_FUNCTION SQL_SCALAR_FUNCTION SQL_STORED_PROCEDURE SQL_TABLE_VALUED_FUNCTION SQL_TRIGGER SYNONYM SYSTEM_TABLE TYPE_TABLE UNIQUE_CONSTRAINT USER_TABLE VIEW |
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
로 간주됩니다.type
IT
type_desc
INTERNAL_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