Udostępnij za pośrednictwem


sp_dropextendedproperty (języka Transact-SQL)

Już istniejącej właściwość rozszerzona.

Topic link iconKonwencje składni języka 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' } 
                ] 
            ] 
        ] 
    ] 

Argumenty

  • [ @name= ]{ 'property_name'}
    Is the name of the property to be dropped.property_name is sysname and cannot be NULL.

  • [ @level0type= ]{ 'level0_object_type'}
    Is the name of the level 0 object type specified.level0_object_type is varchar(128), with a default of NULL.

    Prawidłowe dane wejściowe są MONTAŻOWYCH, kontrakt, powiadomienie o zdarzeniu, grupa plików, wiadomości typu PARTITION funkcja PARTITION schemat, REMOTE usługa wiążące, trasa SCHEMA, usługa USER, TRIGGER, typ i NULL.

    Important noteImportant Note:

    USER i typ jako poziom 0 typy zostaną usunięte w przyszłej wersja programu SQL Server. Należy unikać stosowania tych funkcji w nowej pracy rozwoju i zaplanować do modyfikowania aplikacji korzystających aktualnie z tych funkcji.Użyj SCHEMA jako typ poziom 0, a nie użytkownika.Dla typu należy użyć SCHEMA jako poziom 0 typ i WPISZ jako typ poziom 1.

  • [ @level0name= ]{ 'level0_object_name'}
    Jest nazwą określonego typu obiektu poziom 0. level0_object_name jest sysname z domyślną wartość NULL.

  • [ @level1type= ]{ 'level1_object_type'}
    Is the type of level 1 object.level1_object_type is varchar(128) with a default of NULL.Prawidłowe dane wejściowe są agregacja, domyślny, funkcja, LOGICAL FILE NAME, PROCEDURE, QUEUE, RULE, SYNONYM, tabela, TABLE_TYPE, typ, VIEW, kolekcja SCHEMATU XML i wartość NULL.

  • [ @level1name= ]{ 'level1_object_name'}
    Is the name of the level 1 object type specified.level1_object_name is sysname with a default of NULL.

  • [ @level2type= ]{ 'level2_object_type'}
    Is the type of level 2 object.level2_object_type is varchar(128) with a default of NULL.Prawidłowe dane wejściowe są kolumna, CONSTRAINT, zdarzenie powiadomienie, indeks, PARAMETR, TRIGGER i wartość NULL.

  • [ @level2name= ]{ 'level2_object_name'}
    Is the name of the level 2 object type specified.level2_object_name is sysname with a default of NULL.

Wartości kodów powrotnych

0 (sukces) lub 1 (brak)

Remarks

W celu ich określenia właściwości rozszerzone, obiekty w SQL Server Baza danych dzieli się na trzech poziomach: 0, 1 i 2. Poziom 0 jest najwyższego poziomu i jest definiowana jako obiektów zawartych w bazie danych zakres.Obiekty poziomu 1 znajdują się w zakresie schematu lub użytkownika, a poziom 2 obiektów znajdują się w obiektach poziomu 1.Właściwości rozszerzone można zdefiniować dla obiektów w każdej z tych poziomów.Musi być kwalifikowany odwołania do obiektu w poziomie jeden z typów i nazw wszystkich obiektów poziom wyższym.

Podany prawidłowy property_name, jeśli wartości null są wszystkie typy obiektów i nazwy, a właściwość istnieje w bieżącej bazie danych, ta właściwość jest usuwany. Zobacz przykład B, znajdującą się w dalszej części tego tematu.

Uprawnienia

Członkowie db_owner and db_ddladmin stałe role bazy danych może usunąć rozszerzone właściwości dowolnego obiektu, z wyjątkiem następujących: db_ddladmin nie mogą dodawać właściwości do samej bazy danych lub do użytkowników lub ról.

Użytkownicy mogą usuwać właściwości rozszerzonych z obiektami właścicielem lub na których mają uprawnienia ALTER lub kontroli.Aby uzyskać pełną listę wymaganych uprawnień Zobacz Za pomocą właściwości rozszerzonych na obiekty bazy danych.

Przykłady

A.Upuszczanie właściwość rozszerzona o dla kolumna

W następującym przykładzie usunięto właściwość 'caption' kolumna id w tabela T1 zawartych w schemacie dbo.

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

B.Upuszczanie właściwość rozszerzona o bazy danych

W następującym przykładzie usunięto właściwość o nazwie MS_Description z AdventureWorks Przykładowa baza danych. Ponieważ właściwość znajduje się w bazie danych sam, nazw i typów obiektów nie zostały określone.

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