본문 바로가기
[ DataBase ]/DB&Query

sys.objects(Transact-SQL)

by 관이119 2012. 9. 12.

select * from sys.objects

sys.objects(Transact-SQL)

데이터베이스 내에 만들어진 각 사용자 정의 스키마 범위 개체에 대한 행을 포함합니다.

참고

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

 

열 이름

데이터 형식

설명

name

sysname

개체 이름입니다.

object_id

int

개체 ID입니다. 데이터베이스 내에서 고유합니다.

principal_id

int

스키마 소유자와 다른 경우 개별 소유자의 ID입니다. 기본적으로 스키마에 포함된 개체는 스키마 소유자가 소유합니다. 그러나 ALTER AUTHORIZATION 문으로 대체 소유자를 지정하여 소유권을 변경할 수 있습니다.

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

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

C = CHECK 제약 조건

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

F = FOREIGN KEY 제약 조건

PK = PRIMARY KEY 제약 조건

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

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

TR = SQL 트리거

UQ = UNIQUE 제약 조건

schema_id

int

개체가 포함된 스키마의 ID입니다.

스키마 범위 시스템 개체는 항상 sys 또는 INFORMATION_SCHEMA 스키마에 포함됩니다.

parent_object_id

int

이 개체가 속하는 개체의 ID입니다.

0 = 자식 개체가 아닙니다.

type

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 = 시퀀스 개체

SQ = 서비스 큐

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

TF = SQL 테이블 반환 함수

TR = SQL DML 트리거

TT = 테이블 유형

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

UQ = UNIQUE 제약 조건

V = 뷰

X = 확장 저장 프로시저

type_desc

nvarchar(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

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

datetime

개체를 만든 날짜입니다.

modify_date

datetime

ALTER 문을 사용하여 개체를 마지막으로 수정한 날짜입니다. 개체가 테이블이나 뷰인 경우 테이블이나 뷰에서 클러스터형 인덱스가 생성되거나 변경되면 modify_date도 변경됩니다.

is_ms_shipped

bit

개체가 내부 SQL Server 구성 요소로 만들어집니다.

is_published

bit

개체가 게시됩니다.

is_schema_published

bit

개체의 스키마만 게시됩니다.

OBJECT_ID, OBJECT_NAME, and OBJECTPROPERTY() built-in functions to the objects shown in sys.objects.'>sys.objects에 표시된 개체에 OBJECT_ID, OBJECT_NAMEOBJECTPROPERTY() 기본 제공 함수를 적용할 수 있습니다.

sys.system_objects, that shows system objects.'>이 뷰와 스키마가 같지만 시스템 개체를 표시하는 sys.system_objects 뷰 버전과 sys.all_objects that shows both system and user 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.'>사용자가 소유하고 있거나 사용 권한을 부여 받은 보안 개체에 대해서만 카탈로그 뷰의 메타데이터를 볼 수 있습니다. 자세한 내용은 메타데이터 표시 유형 구성을 참조하십시오.

1.최근 N일 동안 수정된 모든 개체 반환

&lt;database_name&gt; and &lt;n_days&gt; with valid values.'>다음 쿼리를 실행하기 전에 <database_name><n_days>를 올바른 값으로 대체합니다.

USE <database_name>;GOSELECT name AS object_name   ,SCHEMA_NAME(schema_id) AS schema_name  ,type_desc  ,create_date  ,modify_dateFROM sys.objectsWHERE modify_date > GETDATE() - <n_days>ORDER BY modify_date;GO

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

&lt;database_name&gt; and &lt;schema_name.object_name&gt; with valid names.'>다음 쿼리를 실행하기 전에 <database_name><schema_name.object_name>을 올바른 이름으로 대체합니다.

USE <database_name>;GOSELECT 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_outputFROM sys.objects AS oINNER JOIN sys.parameters AS p ON o.object_id = p.object_idWHERE o.object_id = OBJECT_ID('<schema_name.object_name>')ORDER BY schema_name, o.object_name, p.parameter_id;GO

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

&lt;database_name&gt; with a valid database name.'>다음 쿼리를 실행하기 전에 <database_name>을 올바른 데이터베이스 이름으로 대체합니다.

USE <database_name>;GOSELECT name AS function_name   ,SCHEMA_NAME(schema_id) AS schema_name  ,type_desc  ,create_date  ,modify_dateFROM sys.objectsWHERE type_desc LIKE '%FUNCTION%';GO

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

&lt;database_name&gt; and &lt;schema_name&gt; with valid names.'>다음 쿼리를 실행하기 전에 모든 <database_name><schema_name>을 올바른 이름으로 대체합니다.

USE <database_name>;GOSELECT '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>' UNIONSELECT '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_idWHERE s.name = '<schema_name>';GO
출처 : http://technet.microsoft.com/ko-kr/library/ms190324.aspx

'[ DataBase ] > DB&Query' 카테고리의 다른 글

[MySQL] Mysql에서의 서브쿼리(subquery)  (0) 2012.09.12
[SQL문] select문  (0) 2012.09.12
MS SQL Server 2008 실행하기  (0) 2012.09.12
[MSSQL] Select Insert  (0) 2012.09.12
동적쿼리 sp_executesql & exec()  (0) 2012.09.12

댓글