sys.objects(Transact-SQL)sys.objects (Transact-SQL)

이 항목은 다음에 적용됩니다. 예SQL Server(2008부터)예Azure SQL Database예Azure SQL Data Warehouse 예병렬 데이터 웨어하우스 THIS TOPIC APPLIES TO: yesSQL Server (starting with 2008)yesAzure SQL DatabaseyesAzure SQL Data Warehouse yesParallel Data Warehouse

고유 하 게 컴파일된 스칼라 사용자 정의 함수를 포함 하는 데이터베이스 내에서 만든 각 사용자 정의 스키마 범위 개체에 대 한 행을 포함 합니다.Contains a row for each user-defined, schema-scoped object that is created within a database, including natively compiled scalar user-defined function.

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

참고

sys.objects는 스키마 범위가 아니기 때문에 DDL 트리거를 표시하지 않습니다.sys.objects does not show DDL triggers, because they are not schema-scoped. 모든 트리거, DML 및 DDL 모두 sys.triggers합니다.All triggers, both DML and DDL, are found in sys.triggers. sys.triggers는 다양한 종류의 트리거에 대한 이름-범위 혼합 규칙을 지원합니다.sys.triggers supports a mixture of name-scoping rules for the various kinds of triggers.

열 이름Column name 데이터 형식Data type 설명Description
namename sysnamesysname 개체 이름입니다.Object name.
object_idobject_id intint 개체 ID입니다.Object identification number. 데이터베이스 내에서 고유합니다.Is unique within a database.
principal_idprincipal_id intint 스키마 소유자와 다른 경우 개별 소유자의 ID입니다.ID of the individual owner, if different from the schema owner. 기본적으로 스키마에 포함된 개체는 스키마 소유자가 소유합니다.By default, schema-contained objects are owned by the schema owner. 그러나 ALTER AUTHORIZATION 문으로 대체 소유자를 지정하여 소유권을 변경할 수 있습니다.However, an alternate owner can be specified by using the ALTER AUTHORIZATION statement to change ownership.

대체 개별 소유자가 없으면 NULL입니다.Is NULL if there is no alternate individual owner.

개체 형식이 다음 중 하나인 경우 NULL입니다.Is NULL if the object type is one of the following:

C = CHECK 제약 조건C = CHECK constraint

D = DEFAULT(제약 조건 또는 독립 실행형)D = DEFAULT (constraint or stand-alone)

F = FOREIGN KEY 제약 조건F = FOREIGN KEY constraint

PK = PRIMARY KEY 제약 조건PK = PRIMARY KEY constraint

R = 규칙 (이전 스타일, 독립 실행형)R = Rule (old-style, stand-alone)

TA = 어셈블리(CLR 통합) 트리거TA = Assembly (CLR-integration) trigger

TR = SQL 트리거TR = SQL trigger

UQ = UNIQUE 제약 조건UQ = UNIQUE constraint
schema_idschema_id intint 개체가 포함된 스키마의 ID입니다.ID of the schema that the object is contained in.

스키마 범위 시스템 개체는 항상 sys 또는 INFORMATION_SCHEMA 스키마에 포함됩니다.Schema-scoped system objects are always contained in the sys or INFORMATION_SCHEMA schemas.
parent_object_idparent_object_id intint 이 개체가 속하는 개체의 ID입니다.ID of the object to which this object belongs.

0 = 자식 개체가 아닙니다.0 = Not a child object.
형식type char(2)char(2) 개체 유형:Object type:

AF = 집계 함수(CLR)AF = Aggregate function (CLR)

C = CHECK 제약 조건C = CHECK constraint

D = DEFAULT(제약 조건 또는 독립 실행형)D = DEFAULT (constraint or stand-alone)

F = FOREIGN KEY 제약 조건F = FOREIGN KEY constraint

FN = SQL 스칼라 함수FN = SQL scalar function

FS = 어셈블리(CLR) 스칼라 함수FS = Assembly (CLR) scalar-function

FT = 어셈블리(CLR) 테이블 반환 함수FT = Assembly (CLR) table-valued function

IF = SQL 인라인 테이블 반환 함수IF = SQL inline table-valued function

IT = 내부 테이블IT = Internal table

P = SQL 저장 프로시저P = SQL Stored Procedure

PC = 어셈블리(CLR) 저장 프로시저PC = Assembly (CLR) stored-procedure

PG = 계획 지침PG = Plan guide

PK = PRIMARY KEY 제약 조건PK = PRIMARY KEY constraint

R = 규칙 (이전 스타일, 독립 실행형)R = Rule (old-style, stand-alone)

RF = 복제 필터 프로시저RF = Replication-filter-procedure

S = 시스템 기본 테이블S = System base table

SN = 동의어SN = Synonym

SO = 시퀀스 개체SO = Sequence object

U = 테이블(사용자 정의)U = Table (user-defined)

V = 뷰V = View



적용 대상: SQL Server 2012SQL Server 2012 부터 SQL Server 2017SQL Server 2017까지Applies to: SQL Server 2012SQL Server 2012 through SQL Server 2017SQL Server 2017.



SQ = 서비스 큐SQ = Service queue

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

TF = SQL 테이블 반환 함수TF = SQL table-valued-function

TR = SQL DML 트리거TR = SQL DML trigger

TT = 테이블 유형TT = Table type

UQ = UNIQUE 제약 조건UQ = UNIQUE constraint

X = 확장 저장 프로시저X = Extended stored procedure



적용 대상: SQL Server 2016SQL Server 2016 통해 SQL Server 2017SQL Server 2017, Azure SQL 데이터베이스Azure SQL Database, Azure SQL 데이터 웨어하우스Azure SQL Data Warehouse, 병렬 데이터 웨어하우스Parallel Data Warehouse합니다.Applies to: SQL Server 2016SQL Server 2016 through SQL Server 2017SQL Server 2017, Azure SQL 데이터베이스Azure SQL Database, Azure SQL 데이터 웨어하우스Azure SQL Data Warehouse, 병렬 데이터 웨어하우스Parallel Data Warehouse.



ET = 외부 테이블ET = External Table
type_desctype_desc nvarchar (60)nvarchar(60) 개체 유형에 대한 설명:Description of the object type:

AGGREGATE_FUNCTIONAGGREGATE_FUNCTION

CHECK_CONSTRAINTCHECK_CONSTRAINT

CLR_SCALAR_FUNCTIONCLR_SCALAR_FUNCTION

CLR_STORED_PROCEDURECLR_STORED_PROCEDURE

CLR_TABLE_VALUED_FUNCTIONCLR_TABLE_VALUED_FUNCTION

CLR_TRIGGERCLR_TRIGGER

DEFAULT_CONSTRAINTDEFAULT_CONSTRAINT

EXTENDED_STORED_PROCEDUREEXTENDED_STORED_PROCEDURE

FOREIGN_KEY_CONSTRAINTFOREIGN_KEY_CONSTRAINT

INTERNAL_TABLEINTERNAL_TABLE

PLAN_GUIDEPLAN_GUIDE

PRIMARY_KEY_CONSTRAINTPRIMARY_KEY_CONSTRAINT

REPLICATION_FILTER_PROCEDUREREPLICATION_FILTER_PROCEDURE

RULERULE

SEQUENCE_OBJECTSEQUENCE_OBJECT



적용 대상: SQL Server 2012SQL Server 2012 부터 SQL Server 2017SQL Server 2017까지Applies to: SQL Server 2012SQL Server 2012 through SQL Server 2017SQL Server 2017.



SERVICE_QUEUESERVICE_QUEUE

SQL_INLINE_TABLE_VALUED_FUNCTIONSQL_INLINE_TABLE_VALUED_FUNCTION

SQL_SCALAR_FUNCTIONSQL_SCALAR_FUNCTION

SQL_STORED_PROCEDURESQL_STORED_PROCEDURE

SQL_TABLE_VALUED_FUNCTIONSQL_TABLE_VALUED_FUNCTION

SQL_TRIGGERSQL_TRIGGER

SYNONYMSYNONYM

SYSTEM_TABLESYSTEM_TABLE

TABLE_TYPETABLE_TYPE

UNIQUE_CONSTRAINTUNIQUE_CONSTRAINT

USER_TABLEUSER_TABLE

VIEWVIEW
create_datecreate_date datetimedatetime 개체를 만든 날짜입니다.Date the object was created.
modify_datemodify_date datetimedatetime ALTER 문을 사용하여 개체를 마지막으로 수정한 날짜입니다.Date the object was last modified by using an ALTER statement. 개체가 테이블이나 뷰인 경우 테이블이나 뷰에서 클러스터형 인덱스가 생성되거나 변경되면 modify_date도 변경됩니다.If the object is a table or a view, modify_date also changes when a clustered index on the table or view is created or altered.
is_ms_shippedis_ms_shipped bitbit 개체가 내부 SQL ServerSQL Server 구성 요소로 만들어집니다.Object is created by an internal SQL ServerSQL Server component.
is_publishedis_published bitbit 개체가 게시됩니다.Object is published.
is_schema_publishedis_schema_published bitbit 개체의 스키마만 게시됩니다.Only the schema of the object is published.

주의Remarks

적용할 수는 OBJECT_ID, OBJECT_NAME, 및 OBJECTPROPERTYsys.objects에 표시 된 개체에 기본 제공 함수 ().You can apply the OBJECT_ID, OBJECT_NAME, and OBJECTPROPERTY() built-in functions to the objects shown in sys.objects.

이 뷰 라는 스키마가 같은 버전 sys.system_objects, 시스템 개체를 보여 주는 합니다.There is a version of this view with the same schema, called sys.system_objects, that shows system objects. 호출 뷰 sys.all_objects 시스템 및 사용자 개체를 보여 주는 합니다.There is another view called sys.all_objects that shows both system and user objects. 세 카탈로그 뷰 모두 구조가 같습니다.All three catalog views have the same structure.

SQL ServerSQL Server 버전에서는 XML 인덱스 또는 공간 인덱스와 같은 확장 인덱스를 sys.objects(type = IT 및 type_desc = INTERNAL_TABLE)의 내부 테이블로 간주합니다.In this version of SQL ServerSQL Server, an extended index, such as an XML index or spatial index, is considered an internal table in sys.objects (type = IT and type_desc = INTERNAL_TABLE). 확장 인덱스에 대한 설명은 다음과 같습니다.For an extended index:

  • name은 인덱스 테이블의 내부 이름입니다.name is the internal name of the index table.

  • parent_object_id는 기본 테이블의 object_id입니다.parent_object_id is the object_id of the base table.

  • is_ms_shipped, is_published 및 is_schema_published 열은 0으로 설정됩니다.is_ms_shipped, is_published and is_schema_published columns are set to 0.

관련된 유용한 시스템 뷰Related useful system views
와 같은 특정 유형의 개체에 대 한 시스템 뷰를 사용 하 여 개체의 하위 집합을 볼 수 있습니다.Subsets of the objects can be viewed by using system views for a specific type of object, such as:

PermissionsPermissions

사용자가 소유하고 있거나 사용 권한을 부여 받은 보안 개체에 대해서만 카탈로그 뷰의 메타데이터를 볼 수 있습니다.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

1.A. 최근 N일 동안 수정된 모든 개체 반환Returning all the objects that have been modified in the last N days

다음 쿼리를 실행하기 전에 <database_name><n_days>를 올바른 값으로 대체합니다.Before you run the following query, replace <database_name> and <n_days> with valid values.

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.B. 지정한 저장 프로시저나 함수에 대한 매개 변수 반환Returning the parameters for a specified stored procedure or function

다음 쿼리를 실행하기 전에 <database_name><schema_name.object_name>을 올바른 이름으로 대체합니다.Before you run the following query, replace <database_name> and <schema_name.object_name> with valid names.

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.C. 데이터베이스의 모든 사용자 정의 함수 반환Returning all the user-defined functions in a database

다음 쿼리를 실행하기 전에 <database_name>을 올바른 데이터베이스 이름으로 대체합니다.Before you run the following query, replace <database_name> with a valid 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.D. 스키마에서 각 개체의 소유자 반환Returning the owner of each object in a schema.

다음 쿼리를 실행하기 전에 모든 <database_name><schema_name>을 올바른 이름으로 대체합니다.Before you run the following query, replace all occurrences of <database_name> and <schema_name> with valid names.

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  

관련 항목:See Also

카탈로그 뷰(Transact-SQL) Catalog Views (Transact-SQL)
sys.all_objects ( Transact SQL ) sys.all_objects (Transact-SQL)
sys.system_objects ( Transact SQL ) sys.system_objects (Transact-SQL)
sys.triggers(Transact-SQL) sys.triggers (Transact-SQL)
개체 카탈로그 뷰 ( Transact SQL ) Object Catalog Views (Transact-SQL)
SQL Server 시스템 카탈로그 FAQ Querying the SQL Server System Catalog FAQ
sys.internal_tables( Transact SQL )sys.internal_tables (Transact-SQL)