Freigeben über


sp_dropextendedproperty (Transact-SQL)

Löscht eine vorhandene erweiterte Eigenschaft.

Themenlink (Symbol) Transact-SQL-Syntaxkonventionen

Syntax

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' } 
                ] 
            ] 
        ] 
    ] 

Argumente

  • [ @name= ]{ 'property_name'}
    Der Name der zu löschenden Eigenschaft. property_name ist vom Datentyp sysname und darf nicht NULL sein.

  • [ @level0type= ]{ 'level0_object_type'}
    Der Name des angegebenen Objekttyps der Ebene 0. level0_object_type ist vom Datentyp varchar(128). Der Standardwert ist NULL.

    Gültige Eingaben sind ASSEMBLY, CONTRACT, EVENT NOTIFICATION, FILEGROUP, MESSAGE TYPE, PARTITION FUNCTION, PARTITION SCHEME, REMOTE SERVICE BINDING, ROUTE, SCHEMA, SERVICE, USER, TRIGGER, TYPE und NULL.

    Wichtiger HinweisWichtig

    USER und TYPE als Typen der Ebene 0 werden in einer zukünftigen Version von SQL Server nicht mehr unterstützt. Vermeiden Sie die Verwendung dieser Funktionen bei neuen Entwicklungsarbeiten, und planen Sie die Änderung von Anwendungen, die diese Funktionen zurzeit verwenden. Verwenden Sie SCHEMA anstelle von USER als Typ der Ebene 0. Verwenden Sie SCHEMA statt TYPE als Typ der Ebene 0 und TYPE als Typ der Ebene 1.

  • [ @level0name= ]{ 'level0_object_name'}
    Der Name des angegebenen Objekttyps der Ebene 0. level0_object_name ist vom Datentyp sysname; der Standardwert ist NULL.

  • [ @level1type= ]{ 'level1_object_type'}
    Der Typ des Objekts der Ebene 1. level1_object_type ist vom Datentyp varchar(128). Der Standardwert ist NULL. Gültige Eingabewerte sind AGGREGATE, DEFAULT, FUNCTION, LOGICAL FILE NAME, PROCEDURE, QUEUE, RULE, SYNONYM, TABLE, TABLE_TYPE, TYPE, VIEW, XML SCHEMA COLLECTION und NULL.

  • [ @level1name= ]{ 'level1_object_name'}
    Der Name des angegebenen Objekttyps der Ebene 1. level1_object_name ist vom Datentyp sysname. Der Standardwert ist NULL.

  • [ @level2type= ]{ 'level2_object_type'}
    Der Typ des Objekts der Ebene 2. level2_object_type ist vom Datentyp varchar(128). Der Standardwert ist NULL. Gültige Eingabewerte sind COLUMN, CONSTRAINT, EVENT NOTIFICATION, INDEX, PARAMETER, TRIGGER und NULL.

  • [ @level2name= ]{ 'level2_object_name'}
    Der Name des angegebenen Objekttyps der Ebene 2. level2_object_name ist vom Datentyp sysname. Der Standardwert ist NULL.

Rückgabecodewerte

0 (Erfolg) oder 1 (Fehler)

Hinweise

Für das Angeben erweiterter Eigenschaften werden die Objekte in einer SQL Server-Datenbank in drei Ebenen unterteilt (0, 1 und 2). Die Ebene 0 ist die höchste Ebene und ist definiert als Objekte, die im Datenbankbereich enthalten sind. Objekte der Ebene 1 sind in einem Schema- oder Benutzerbereich enthalten, und Objekte der Ebene 2 sind in Objekten der Ebene 1 enthalten. Erweiterte Eigenschaften können für Objekte auf einer dieser Ebenen definiert werden. Verweise auf ein Objekt einer Ebene müssen mit den Typen und Namen aller Objekte der höheren Ebenen gekennzeichnet werden.

Wenn bei einem gültigen Wert für property_name alle Objekttypen und -namen NULL sind und eine Eigenschaft in der aktuellen Datenbank vorhanden ist, wird diese Eigenschaft gelöscht. Weitere Informationen finden Sie im Beispiel B, weiter unten in diesem Thema.

Berechtigungen

Mitglieder der festen Datenbankrollen db_owner und db_ddladmin können erweiterte Eigenschaften jedes Objekts mit einer Ausnahme löschen: db_ddladmin kann der Datenbank selbst oder Benutzern bzw. Rollen keine Eigenschaften hinzufügen.

Benutzer können erweiterte Eigenschaften von Objekten löschen, die sie besitzen, oder für die sie über die ALTER- oder CONTROL-Berechtigung verfügen.

Beispiele

A.Löschen der erweiterten Eigenschaft einer Spalte

Im folgenden Beispiel wird die caption-Eigenschaft aus der id-Spalte in der T1-Tabelle entfernt, die im dbo-Schema enthalten ist.

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.Löschen der erweiterten Eigenschaft einer Datenbank

Im folgenden Beispiel wird die MS_Description-Eigenschaft der AdventureWorks2012 -Beispieldatenbank entfernt. Da die Eigenschaft zur Datenbank selbst gehört, werden keine Objekttypen und -namen angegeben.

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

Siehe auch

Verweis

Gespeicherte Prozeduren für das Datenbankmodul (Transact-SQL)

sys.fn_listextendedproperty (Transact-SQL)

sp_addextendedproperty (Transact-SQL)

sp_updateextendedproperty (Transact-SQL)

sys.extended_properties (Transact-SQL)