다음을 통해 공유


sp_dropextendedproperty(Transact-SQL)

업데이트: 2005년 12월 5일

기존의 확장 속성을 삭제합니다.

항목 링크 아이콘Transact-SQL 구문 표기 규칙

구문

sp_dropextendedproperty 
    [ @name = ] { 'property_name' }
      [ , [ @level0type = ] { 'level0_object_type' } 
                , [ @level0name = ] { 'level0_object_name' } 
            [ , [ @level1type = ] { 'level1_object_type' } 
                            , [ @level1name = ] { 'level1_object_name' } 
                [ , [ @level2type = ] { 'level2_object_type' } 
                                    , [ @level2name = ] { 'level2_object_name' } 
                ] 
            ] 
        ] 
    ] 

인수

  • [ @name= ]{ 'property_name'}
    삭제할 속성의 이름입니다. property_namesysname이며 NULL이 될 수 없습니다.
  • [ @level0type= ]{ 'level0_object_type'}
    지정된 수준 0 개체 유형의 이름입니다. level0_object_type은 **varchar(128)**이며 기본값은 NULL입니다.

    유효한 입력은 ASSEMBLY, CONTRACT, EVENT NOTIFICATION, FILEGROUP, MESSAGE TYPE, PARTITION FUNCTION, PARTITION SCHEME, REMOTE SERVICE BINDING, ROUTE, SCHEMA, SERVICE, USER, TRIGGER, TYPE 및 NULL입니다.

    ms178595.note(ko-kr,SQL.90).gif중요:
    수준 0 유형 USER와 TYPE은 나중 버전의 SQL Server에서 제거됩니다. 새 개발 작업에서는 이 기능을 사용하지 말고, 현재 이 기능을 사용하는 응용 프로그램은 수정하십시오. USER 대신 SCHEMA를 수준 0 유형으로 사용합니다. TYPE의 경우 수준 0 유형으로 SCHEMA를 사용하고 수준 1 유형으로 TYPE을 사용합니다.
  • [ @level0name= ]{ 'level0_object_name'}
    지정된 수준 0 개체 유형의 이름입니다. level0_object_namesysname이며 기본값은 NULL입니다.
  • [ @level1type= ]{ 'level1_object_type'}
    수준 1 개체의 유형입니다. level1_object_type은 **varchar(128)**이며 기본값은 NULL입니다. 유효한 입력은 AGGREGATE, DEFAULT, FUNCTION, LOGICAL FILE NAME, PROCEDURE, QUEUE, RULE, SYNONYM, TABLE, TYPE, VIEW, XML SCHEMA COLLECTION 및 NULL입니다.
  • [ @level1name= ]{ 'level1_object_name'}
    지정된 수준 1 개체 유형의 이름입니다. level1_object_namesysname이며 기본값은 NULL입니다.
  • [ @level2type= ]{ 'level2_object_type'}
    수준 2 개체의 유형입니다. level2_object_type은 **varchar(128)**이며 기본값은 NULL입니다. 유효한 입력은 COLUMN, CONSTRAINT, EVENT NOTIFICATION, INDEX, PARAMETER, TRIGGER 및 NULL입니다.
  • [ @level2name= ]{ 'level2_object_name'}
    지정된 수준 2 개체 유형의 이름입니다. level2_object_namesysname이며 기본값은 NULL입니다.

반환 코드 값

0(성공) 또는 1(실패)

주의

확장 속성을 지정하기 위해 SQL Server 데이터베이스의 개체는 3개 수준(0, 1, 2)으로 분류됩니다. 수준 0은 최고 수준이며 데이터베이스 범위에 포함된 개체로 정의됩니다. 수준 1 개체는 스키마나 사용자 범위에 포함되고 수준 2 개체는 수준 1 개체에 포함됩니다. 모든 수준의 개체에 대해 확장 속성을 정의할 수 있습니다. 한 수준에 있는 개체를 참조할 때는 모든 상위 수준 개체의 유형과 이름으로 한정해야 합니다.

유효한 property_name이 지정된 경우, 모든 개체 유형과 이름이 Null이고 현재 데이터베이스에 있는 속성이라면 해당 속성이 삭제됩니다. 아래의 예 2를 참조하십시오.

사용 권한

db_ownerdb_ddladmin 고정 데이터베이스 역할의 멤버는 모든 개체의 확장 속성을 삭제할 수 있으나 db_ddladmin은 데이터베이스 자체 또는 사용자나 역할에 속성을 추가할 수 없다는 예외가 있습니다.

사용자는 자신이 소유하고 있거나 ALTER 또는 CONTROL 권한을 가지고 있는 개체에 대한 확장 속성을 삭제할 수 있습니다. 필요한 사용 권한의 전체 목록은 데이터베이스 개체의 확장 속성 사용을 참조하십시오.

1. 열의 확장 속성 삭제

다음 예에서는 dbo 스키마에 포함되어 있는 T1 테이블의 id 열에서 'caption' 속성을 제거합니다.

CREATE TABLE T1 (id int , name char (20));
GO
EXEC sp_addextendedproperty 
    @name = 'caption' 
    ,@value = 'Employee ID' 
    ,@level0type = 'schema' 
    ,@level0name = dbo
    ,@level1type = 'table'
    ,@level1name = 'T1'
    ,@level2type = 'column'
    ,@level2name = id;
GO
EXEC sp_dropextendedproperty 
     @name = 'caption' 
    ,@level0type = 'schema' 
    ,@level0name = dbo
    ,@level1type = 'table'
    ,@level1name = 'T1'
    ,@level2type = 'column'
    ,@level2name = id;
GO
DROP TABLE T1;
GO

2. 데이터베이스의 확장 속성 삭제

다음 예에서는 AdventureWorks 예제 데이터베이스에서 MS_Description이라는 이름의 속성을 제거합니다. 이 속성은 데이터베이스 자체에 있으므로 개체 유형과 이름이 지정되지 않습니다.

USE AdventureWorks;
GO
EXEC sp_dropextendedproperty 
@name = N'MS_Description';
GO

참고 항목

참조

데이터베이스 엔진 저장 프로시저(Transact-SQL)
fn_listextendedproperty(Transact-SQL)
sp_addextendedproperty(Transact-SQL)
sp_updateextendedproperty(Transact-SQL)
sys.extended_properties(Transact-SQL)

관련 자료

데이터베이스 개체의 확장 속성 사용
확장 속성 보기

도움말 및 정보

SQL Server 2005 지원 받기

변경 내역

릴리스 내역

2005년 12월 5일

변경된 내용
  • @level0name@level0type의 정의를 수정했습니다.