sys.objects(Transact-SQL)

 

이 항목은 다음에 적용됩니다.예SQL Server(2008부터 시작)예Azure SQL 데이터베이스예Azure SQL 데이터 웨어하우스예병렬 데이터 웨어하우스

고유 하 게 컴파일된 스칼라 사용자 정의 함수를 포함 하는 데이터베이스 내에서 만든 각 사용자 정의 스키마 범위 개체에 대 한 행을 포함 합니다.

자세한 내용은 참조 메모리 내 OLTP에 대 한 Scalar User-Defined 함수합니다.

System_CAPS_ICON_note.jpg 참고


sys.objects는 스키마 범위가 아니기 때문에 DDL 트리거를 표시하지 않습니다. 모든 트리거, DML 및 DDL 모두 sys.triggers합니다. sys.triggers는 다양한 종류의 트리거에 대한 이름-범위 혼합 규칙을 지원합니다.

열 이름데이터 형식설명
namesysname개체 이름입니다.
object_idint개체 ID입니다. 데이터베이스 내에서 고유합니다.
principal_idint스키마 소유자와 다른 경우 개별 소유자의 ID입니다. 기본적으로 스키마에 포함된 개체는 스키마 소유자가 소유합니다. 그러나 ALTER AUTHORIZATION 문으로 대체 소유자를 지정하여 소유권을 변경할 수 있습니다.

대체 개별 소유자가 없으면 NULL입니다.

개체 형식이 다음 중 하나인 경우 NULL입니다.

C = CHECK 제약 조건

D = DEFAULT(제약 조건 또는 독립 실행형)

F = FOREIGN KEY 제약 조건

PK = PRIMARY KEY 제약 조건

R = 규칙 (이전 스타일, 독립 실행형)

TA = 어셈블리(CLR 통합) 트리거

TR = SQL 트리거

UQ = UNIQUE 제약 조건
schema_idint개체가 포함된 스키마의 ID입니다.

스키마 범위 시스템 개체는 항상 sys 또는 INFORMATION_SCHEMA 스키마에 포함됩니다.
parent_object_idint이 개체가 속하는 개체의 ID입니다.

0 = 자식 개체가 아닙니다.
유형char(2)개체 유형:

AF = 집계 함수(CLR)

C = CHECK 제약 조건

D = DEFAULT(제약 조건 또는 독립 실행형)

F = FOREIGN KEY 제약 조건

FN = SQL 스칼라 함수

FS = 어셈블리(CLR) 스칼라 함수

FT = 어셈블리(CLR) 테이블 반환 함수

IF = SQL 인라인 테이블 반환 함수

IT = 내부 테이블

P = SQL 저장 프로시저

PC = 어셈블리(CLR) 저장 프로시저

PG = 계획 지침

PK = PRIMARY KEY 제약 조건

R = 규칙 (이전 스타일, 독립 실행형)

RF = 복제 필터 프로시저

S = 시스템 기본 테이블

SN = 동의어

SO = 시퀀스 개체

 

 적용 대상: SQL Server 2012 부터 SQL Server 2016까지

 

SQ = 서비스 큐

TA = 어셈블리(CLR) DML 트리거

TF = SQL 테이블 반환 함수

TR = SQL DML 트리거

TT = 테이블 유형

U = 테이블(사용자 정의)

UQ = UNIQUE 제약 조건

V = 뷰

X = 확장 저장 프로시저

 

 적용 대상: SQL Server 2016 통해 SQL Server 2016, Azure SQL 데이터베이스, Azure SQL 데이터 웨어하우스, 병렬 데이터 웨어하우스합니다.

 

ET = 외부 테이블
type_descnvarchar (60)개체 유형에 대한 설명:

AGGREGATE_FUNCTION

CHECK_CONSTRAINT

CLR_SCALAR_FUNCTION

CLR_STORED_PROCEDURE

CLR_TABLE_VALUED_FUNCTION

CLR_TRIGGER

DEFAULT_CONSTRAINT

EXTENDED_STORED_PROCEDURE

FOREIGN_KEY_CONSTRAINT

INTERNAL_TABLE

PLAN_GUIDE

PRIMARY_KEY_CONSTRAINT

REPLICATION_FILTER_PROCEDURE

RULE

SEQUENCE_OBJECT

 

 적용 대상: SQL Server 2012 부터 SQL Server 2016까지

 

SERVICE_QUEUE

SQL_INLINE_TABLE_VALUED_FUNCTION

SQL_SCALAR_FUNCTION

SQL_STORED_PROCEDURE

SQL_TABLE_VALUED_FUNCTION

SQL_TRIGGER

SYNONYM

SYSTEM_TABLE

TABLE_TYPE

UNIQUE_CONSTRAINT

USER_TABLE

VIEW
create_date날짜/시간개체를 만든 날짜입니다.
modify_date날짜/시간ALTER 문을 사용하여 개체를 마지막으로 수정한 날짜입니다. 개체가 테이블이나 뷰인 경우 테이블이나 뷰에서 클러스터형 인덱스가 생성되거나 변경되면 modify_date도 변경됩니다.
is_ms_shipped비트개체가 내부 SQL Server 구성 요소로 만들어집니다.
is_published비트개체가 게시됩니다.
is_schema_published비트개체의 스키마만 게시됩니다.

적용할 수는 OBJECT_ID, OBJECT_NAME, 및 OBJECTPROPERTYsys.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으로 설정됩니다.

사용자가 소유하고 있거나 사용 권한을 부여 받은 보안 개체에 대해서만 카탈로그 뷰의 메타데이터를 볼 수 있습니다. 자세한 내용은 참조 메타 데이터 표시 유형 구성은합니다.

1. 최근 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  
  

2. 지정한 저장 프로시저나 함수에 대한 매개 변수 반환

다음 쿼리를 실행하기 전에 <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  
  

3. 데이터베이스의 모든 사용자 정의 함수 반환

다음 쿼리를 실행하기 전에 <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  
  

4. 스키마에서 각 개체의 소유자 반환

다음 쿼리를 실행하기 전에 모든 <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 JOIN sys.schemas AS s  
    ON s.schema_id = xsc.schema_id  
WHERE s.name = '<schema_name>';  
GO  
  

카탈로그 뷰 및(입니다. TRANSACT-SQL )
sys.all_objects (입니다. TRANSACT-SQL )
sys.system_objects (입니다. TRANSACT-SQL )
sys.triggers (입니다. TRANSACT-SQL )
개체 카탈로그 뷰 및(입니다. TRANSACT-SQL )
SQL Server 시스템 카탈로그 FAQ
sys.internal_tables (입니다. TRANSACT-SQL )

커뮤니티 추가 항목

추가
표시: